iOS İzinleri ve Discovery

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

İşletim sistemi, iOS 14 sürümünden itibaren Cast kullanıcı deneyimini etkileyen yeni kısıtlamalar ve izinler uygulayacak. Ayrıca, Cast SDK'sını uygulamanıza nasıl oluşturacağınızı da etkiler. Uygulamanızın iOS'in en son sürümleriyle yayınlama işlevini sürdürebilmesi için bu izin değişikliklerini işleyecek güncellemeler yapmanız gerekir.

iOS 14

Geliştiriciler, iOS Cast gönderen uygulamalarını Google Cast SDK 4.6.0 veya sonraki bir sürüme güncellemelidir. Bu sürümler, iOS 14 ve gereksinimleri için destek sağlar.

iOS 14'ten itibaren yerel ağdaki cihazları tarayan uygulamalar, kullanıcılardan yerel ağ cihazlarını bulup bağlanmalarını sağlamak için artık tek seferlik bir izin iletişim kutusu gösterecektir. Yayın platformu, yayın cihazlarını keşfetmek ve kontrol etmek için yerel ağı kullanır. Bu nedenle, kullanıcı izin vermezse yayın yapamaz.

Kullanıcı deneyimini iyileştirmek için standart cihaz seçiciyi kullanan uygulamalara yönelik SDK'da bazı kullanıcı deneyimi değişiklikleri yapıyoruz. Bu kullanıcı deneyimi değişiklikleri, kullanıcıların hem yerel ağ erişimi izinlerine neden ihtiyaç duyulduğunu hem de yerel ağ cihazı erişimi devre dışı bırakıldıysa yayınlamanın nasıl etkinleştirileceğini daha açık hale getiriyor.

Cast SDK'nın v4.4.8 veya önceki sürümleri kullanılarak oluşturulmuş uygulamalar, Xcode 11.7 veya önceki sürümlerle oluşturuldukları sürece çalışmaya devam edecektir. iOS 14 için Xcode 12 veya sonraki bir sürümü geliştiriyorsanız Cast uygulamanızın düzgün çalışmaya devam etmesini sağlamak için Cast SDK 4.6.0 veya daha yeni bir sürüme geçmenizi öneririz.

Cast iOS SDK v4.6.0 veya sonraki sürümleri, CocoaPods kurulumu izlenerek ya da manuel kurulum ile manuel olarak CocoaPods ile indirilebilir. Bu sürüm, Xcode 12 ile oluşturulan uygulamaların ağda yayın cihazlarını bulmasına olanak tanımak için temel keşif mekanizmasında yapılan değişiklikleri içerir. Yayınla düğmesi her zaman gösterilmelidir. Kullanıcı Yayınla düğmesine dokunduğunda kullanılabilir cihaz yoksa yerel ağ erişiminin nasıl yeniden etkinleştirileceği hakkında bilgiler de dahil olmak üzere, cihazların neden kullanılamadığıyla ilgili yol gösterici bilgiler gösterilir.

Cast SDK değişiklikleri

İlk kez yayınlama

Bir kullanıcı ilk kez Yayınlamayı denediğinde, yerel ağ erişimi (LNA) geçiş reklamı, yerel ağ erişimine neden ihtiyaç duyulduğunu ve ardından, Apple tarafından sağlanan iOS yerel ağ erişimi izinleri istemini neden görür? Akışla ilgili bir örnek aşağıda verilmiştir:

Yerel ağ erişim izinleri akışı

Yayınlama özelliği kullanılamıyor

iOS gönderen SDK 4.6.0 sürümünden başlayarak, kullanıcı kablosuz ağa bağlıyken Yayınla düğmesi her zaman görünür. Yayın cihazları kullanılamadığında yayın düğmesine dokunulduğunda, aşağıdaki örneklerde gösterildiği gibi kullanıcıya yayınlanamamasının olası nedenleri hakkında ipuçları veren bir iletişim kutusu açılır:

Cast ile akış kullanılamıyor

iOS 14'te uygulamanızı güncelleme

  1. Yayın iOS SDK'sı 4.7.0'ı projenize ekleme

    CocoaPods kullanıyorsanız 4.7.0 SDK'sını projenize eklemek için pod update kullanın.

    Aksi takdirde, SDK'yı manuel olarak alın.

  2. NSBonjourServices adlı çocuğu Info.plist cihazınıza ekleyin

    Yerel ağ keşfinin iOS 14'te başarılı olmasına izin vermek için Info.plist cihazınızda NSBonjourServices öğesini belirtin.

    Cihaz keşfetmenin düzgün çalışması için hem _googlecast._tcp hem de _<your-app-id>._googlecast._tcp hizmetini hizmet olarak eklemeniz gerekir.

    appID, alıcı kimliğinizdir. Bu, GCKDiscoveryCriteria cihazınızda tanımlanan kimliktir.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyin ve "ABCD1234"ü appID'nizle değiştirin.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. NSLocalNetworkUsageDescription adlı çocuğu Info.plist cihazınıza ekleyin

    NSLocalNetworkUsageDescription için uygulamanızın Info.plist dosyasına uygulamaya özel bir izin dizesi ekleyerek Yerel Ağ isteminde gösterilen mesajı özelleştirmenizi önemle tavsiye ederiz. Örneğin, DIAL gibi yayın keşfi ve diğer keşif hizmetlerini açıklayabilirsiniz.

    <key>NSLocalNetworkUseDescription</key>
    <string>${PRODUCT_NAME}, kablosuz ağınızdaki Cast uyumlu cihazları keşfetmek için yerel ağı kullanır.</string>

    Bu mesaj, örnekte gösterildiği gibi iOS Yerel Ağ Erişimi iletişim kutusunun bir parçası olarak görünecektir.

    Yerel ağ erişimi izinleri yayınlama iletişim kutusu resmi
  4. Uygulamanızı Apple App Store'da yeniden yayınlama

    Ayrıca uygulamanızı en kısa sürede 4.7.0 kullanarak yeniden yayınlamanızı öneririz.

Özelleştirmeler

Yayın cihazı keşfinin başlatılması

Varsayılan olarak yayın cihazı keşfi, kullanıcı Yayınla düğmesine (GCKUICastButton) ilk kez dokunduğunda başlatılır. Kullanıcı iOS 14 sürümüne geçtikten sonra yerel uygulamada Yayın uygulamasını ilk kez kullanmaya çalıştıysa yeni LNA geçiş reklamı ve ardından iOS Yerel Ağ Erişimi izinleri iletişim kutusu görünür.

Cihaz keşfinin ne zaman başladığını ve kullanıcı deneyimindeki belirli öğelerin davranışını kontrol etmenizi sağlayan yeni bir işaret kullanıma sunuldu:

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

Varsayılan değer: true Bu işaret yalnızca GCKCastOptions::disableDiscoveryAutostart işareti false değerine ayarlandığında geçerlidir.

true olarak ayarlanırsa Yayın cihazı keşfi, kullanıcı GCKUICastButton düğmesine ilk kez dokunduğunda başlar. Kullanıcıya yerel ağ izninin neden gerekli olduğunu bildiren bir bilgilendirme mesajı gösterilir. Bu mesajın ardından, iOS 14 LNA mesajı gösterilir. Yayın cihazı keşfi, mesaj onaylandıktan sonra başlar.

Sonraki Uygulama lansmanlarında GCKUICastButton her zaman görünür.

false olarak ayarlanırsa cihaz keşfi, GCKCastOptions::disableDiscoveryAutostart işaretinin değerine göre başlar.

Sık sorulan sorular

Cast gönderen uygulamamı Cast SDK v4.4.8 ve Xcode 12 ile yeniden yayınlarsam ne olur?

Apple'dan ağ çoklu yayın hakkı elde etmediğiniz sürece uygulamanız, yerel ağdaki yayın cihazlarını keşfedemeyebilir. Apple'ın, yalnızca Cast'i desteklemek amacıyla yayın yapma hakkı tanımayacağını unutmayın. Xcode 12 ile derleme yapmayı planlıyorsanız uygulamanızı Cast 4.6.0 ile yayınlamanız gerekir.

Uygulamamı yeni Cast SDK ile yeniden yayınlarsam iOS 13 veya önceki sürümlerde çalışan kullanıcılarım ne çalışır?

Uygulamanızı yeniden yayınlamadan önce aynı kullanıcı deneyimini görmeye devam edecekler. Kullanıcıların görebileceği değişiklikler yalnızca iOS 14'te çalışan kullanıcılarla sınırlı olacak.

Cast SDK'nın yeni sürümü yayınlandıktan sonra uygulamamı güncellemek için ne yapmam gerekiyor?

  • Uygulamanızın Info.plist özelliğini yerel ağ kullanım açıklaması içerecek şekilde güncelleyin.
  • Uygulamanızın Info.plist bölümüne NSBonjourServices ekleyin ve Cast için Bonjour hizmet adlarını ve uygulama kimliğinizi sağlayın.
  • Gönderen uygulamanızı Cast SDK 4.6.0 kullanacak şekilde yükseltin.
  • Uygulamanızı Apple App Store'da yeniden yayınlayın.

4.6.0 sürümüne yükselttikten sonra cihazların özel cihaz seçicimde gösterilmesi neden durduruldu?

Bu, standart cihaz seçici yerine özel cihaz seçici kullanıyorsanız ortaya çıkabilecek bilinen bir sorundur. Cast SDK'sının 4.4.8 ve önceki sürümlerinde cihaz taraması otomatikti. Sürüm 4.6.0'dan itibaren cihaz keşfini başlatmak için GCKDiscoveryManager sınıfındaki startDiscovery yöntemini açıkça çağırmanız gerekir.

Bu değişikliğin nedeni, Yerel Ağ Erişimi (LNA) izin isteminin uygulama ilk kez tarandıktan sonra görünmesidir. Bu durum, izin iletişim kutularının uygulamanızda rastgele yerlerde görünmesine neden olabilir.

Uygulamaları için özel cihaz seçici oluşturan geliştiricilerin, iOS 14'te cihaz taramasını ilk kez başlatmadan önce tek seferlik geçiş reklamı sağlaması beklenir.

iOS 13

iOS 13'te Google Cast SDK'sını kullanan uygulamaları etkileyen yeni izin koşulları sunuldu.

Google Cast SDK 4.4.3 sürümünden itibaren, misafir modu desteği olmadan, Bluetooth® izni gerektirmeyen ek bir SDK kullanılabilir. Bu özellik hem geliştirici sitesinde hem de yeni google-cast-sdk-no-bluetoothCocoapods'da kullanılabilir. Misafir modu özelliğinin, gönderen uygulamanın misafir modu etkin olan cihazlarda görüntülenen bir PIN'i kullanarak aynı ağa bağlı olmadan belirli bir fiziksel yakınlığa sahip yayın cihazlarını tespit edebildiğini hatırlatmak isteriz.

Uygulamanızı iOS 13'e hazırlamak için aşağıdaki durumlardan birine karar vermeniz gerekir:

Misafir modu desteğinin korunması gerekiyor

  • Privacy - Bluetooth Always Usage Description anahtarı eklenmelidir.
  • Kullanıcılarınızın Bluetooth® kullanımını Info.plist cihazınızda açıklamak için bir dize ekleyin.

Misafir modu desteğinin kaldırılması gerekiyor

  • Uygulamanızın Cast Bluetooth® gereksinimlerini gerektirmesini önler.
  • Google Cast SDK'sının en son sürümünü Bluetooth® desteği olmadan entegre edin.
  • Bu özellik hem geliştirici sitesinde hem de yeni google-cast-sdk-no-bluetoothCocoapods'da kullanılabilir.

Uygulama dökümü

Şu anda kullanmakta olduğunuz iOS SDK sürümüne bağlı olarak bir döküm aşağıda verilmiştir:

iOS 12 SDK veya önceki sürümleriyle oluşturulmuş uygulamalar

  • Önerilen İşlem. iOS 13'te çalışırken cihazın keşif performansı düşebilir ancak işlev görmeye devam eder. Geliştiricilerin, kullanılabildiği durumlarda Cast SDK 4.4.4 sürümüne geçmelerini önemle tavsiye ederiz.
  • iOS 13, kullanıcılardan uygulamaya Bluetooth® izinleri vermelerini ister.

iOS 13 SDK'sı ile oluşturulmuş uygulamalar

  • İşlem Gerekli: Kullanıcı konum izni vermezse SDK 4.4.4'e güncelleyin veya yayınla düğmesi görünmeyebilir. Yayın SDK'sının 4.4.4'e yükseltilmesi, iOS 13'te güvenilir bir yayınlama deneyimi sağlamak için gereklidir.
  • Misafir modunun nasıl entegre edileceği veya Bluetooth® desteği olmadan misafir modunun nasıl devre dışı bırakılacağı hakkında daha fazla bilgi için lütfen geliştirici belgelerini inceleyin.