iOS İzinleri ve Discovery

iOS 14'ten itibaren işletim sistemi, Cast kullanıcı deneyimini etkileyen yeni kısıtlamalar ve izinler uygulayacak. Ayrıca, Cast SDK'sını uygulamanıza nasıl dahil edeceğinizi de etkiler. Uygulamanızın iOS'in en son sürümlerinde Cast işlevini sürdürmesi için bu izin değişikliklerini ele alacak güncellemeler yapmanız gerekir.

iOS 14

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

iOS 14'ten itibaren, yerel ağdaki cihazları tarayan uygulamalar artık kullanıcılardan yerel ağ cihazlarını bulup bunlara bağlanmak için tek seferlik bir izin iletişim kutusu ister. Cast platformu, Cast cihazlarını keşfetmek ve kontrol etmek için yerel ağı kullanır. Bu nedenle, kullanıcı izin vermezse içerik yayınlayamaz.

Kullanıcı deneyimini iyileştirmek amacıyla, standart cihaz seçiciyi kullanan uygulamalar için SDK'da bazı kullanıcı deneyimi değişiklikleri yapıyoruz. Bu kullanıcı deneyimi değişiklikleri, yerel ağ erişim izinlerinin neden gerekli olduğunu ve yerel ağ cihaz erişimi devre dışı bırakılmışsa yayınlamanın nasıl etkinleştirileceğini kullanıcılara daha net bir şekilde gösterir.

Cast SDK'sının 4.4.8 veya önceki sürümlerini kullanan sürümlerle oluşturulan uygulamalar, Xcode 11.7 veya önceki sürümlerle oluşturuldukları sürece çalışmaya devam edecektir. Xcode 12 veya sonraki bir sürümle iOS 14 için derleme yapıyorsanız Cast uygulamanızın düzgün çalışmaya devam etmesini sağlamak için Cast SDK'sını 4.6.0 veya sonraki bir sürüme güncellemenizi öneririz.

Cast iOS SDK'sının 4.6.0 veya sonraki sürümleri, CocoaPods kurulum adımlarını uygulayarak CocoaPods ile veya manuel kurulum adımlarını uygulayarak manuel olarak indirilebilir. Bu sürüm, Xcode 12 ile oluşturulan uygulamaların ağdaki Cast cihazlarını bulmasına olanak tanımak için temel keşif mekanizmasında yapılan değişiklikleri içerir. Yayınlama düğmesi artık her zaman gösterilir. Kullanıcı Yayınla düğmesine dokunduğunda kullanılabilen cihaz yoksa yerel ağ erişim izninin nasıl yeniden etkinleştirileceğiyle ilgili bilgiler de dahil olmak üzere cihazların kullanılamamasının olası nedenleri hakkında yol gösterici bir iletişim kutusu gösterilir.

Cast SDK'sı değişiklikleri

İlk kez yayınlama

Kullanıcı ilk kez yayınlamayı denediğinde, yerel ağ erişiminin neden gerekli olduğunu açıklayan bir yerel ağ erişimi (LNA) geçiş reklamı iletişim kutusu gösterilir. Ardından Apple tarafından sağlanan iOS yerel ağ erişim izinleri istemi gösterilir. Aşağıdaki örneklerde akış gösterilmektedir:

Yerel ağ erişim izinleri akışı

Yayınlanamıyor

iOS gönderen SDK'sı 4.6.0'dan itibaren, kullanıcı kablosuz ağa bağlı olduğunda Yayınla düğmesi her zaman gösterilir. Cast cihazları kullanılamadığında Cast düğmesine dokunulduğunda, aşağıdaki örneklerde gösterildiği gibi kullanıcıya Cast'in kullanılamaması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. Cast iOS SDK 4.8.3'ü projenize ekleme

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

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

  2. NSBonjourServices'i Info.plist'nize ekleme

    iOS 14'te yerel ağ keşfinin başarılı olmasını sağlamak için Info.plist dosyanızda NSBonjourServices değerini belirtin.

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

    appID, alıcı kimliğinizdir ve GCKDiscoveryCriteria dosyanızda tanımlanan kimlikle aynıdır.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyin ve "ABCD1234" yerine uygulama kimliğinizi girin.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Info.plist hesabınıza NSLocalNetworkUsageDescription ekleme

    Yerel Ağ isteminde gösterilen mesajı özelleştirmenizi önemle tavsiye ederiz. Bunun için uygulamanızın Info.plist dosyasına NSLocalNetworkUsageDescription için uygulamaya özgü bir izin dizesi ekleyin. Örneğin, Cast keşfini ve DIAL gibi diğer keşif hizmetlerini açıklamak için bu dize kullanabilirsiniz.

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

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

    Yayın için yerel ağ erişimi izinleri iletişim kutusu resmi
  4. Uygulamanızı Apple App Store'da yeniden yayınlama

    Ayrıca, uygulamanızı en kısa sürede 4.8.3 sürümünü kullanarak yeniden yayınlamanızı öneririz.

Özelleştirmeler

Cast cihazı keşfinin başlatılması

Varsayılan olarak, Cast cihazı keşfi, kullanıcı Cast düğmesine (GCKUICastButton) ilk kez dokunduğunda başlatılır. Kullanıcı, iOS 14'e yükselttikten sonra yerel ağda Cast uygulamasını ilk kez kullanmaya çalışıyorsa yeni LNA geçiş reklamı ve ardından iOS yerel ağ erişim izinleri iletişim kutusu gösterilir.

Cihaz keşfinin ne zaman başlayacağını ve kullanıcı deneyimindeki belirli öğelerin davranışını kontrol etmenize olanak tanıyan yeni bir işaret mevcuttur:

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

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

true olarak ayarlanırsa Cast cihazı keşfi, kullanıcı GCKUICastButton simgesine 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. Cast cihazı keşfi, mesaj onaylandıktan sonra başlar.

Sonraki uygulama lansmanlarında GCKUICastButton her zaman gösterilir.

false olarak ayarlanırsa cihaz bulma işlemi, işaretin değerine göre GCKCastOptions::disableDiscoveryAutostart 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 izni almadıysanız uygulamanız yerel ağdaki Cast cihazlarını keşfedemeyebilir. Apple'ın yalnızca Cast'i desteklemek amacıyla çoklu yayın izinleri vermeyeceğini unutmayın. Xcode 12 ile derlemeyi planlıyorsanız uygulamanızı Cast 4.6.0 ile yayınlamanız gerekir.

Uygulamamı yeni Cast SDK'sıyla yeniden yayınlarsam iOS 13 veya önceki sürümleri kullanan kullanıcılarım ne yaşayacak?

Bu kullanıcılar, uygulamanızın yeniden yayınlanmasından öncekiyle aynı kullanıcı deneyimini görmeye devam eder. Kullanıcıların görebildiği değişiklikler, iOS 14 çalıştıran kullanıcılarla sınırlıdır.

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

  • Uygulamanızın Info.plist bölümünü, yerel ağ kullanımıyla ilgili bir açıklama içerecek şekilde güncelleyin.
  • Uygulamanızın Info.plist alanına NSBonjourServices ekleyin ve Cast ile uygulama kimliğiniz için Bonjour hizmet adlarını sağlayın.
  • Gönderen uygulamanızı Cast SDK 4.6.0'ı kullanacak şekilde yükseltin.
  • Uygulamanızı Apple uygulama mağazasında yeniden yayınlayın.

4.6.0 sürümüne yükselttikten sonra cihazlar neden özel cihaz seçicimde gösterilmiyor?

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 sürümünde ve önceki sürümlerde cihaz taraması otomatikti. 4.6.0 sürümünden 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 istemi, uygulama ilk kez taradıktan sonra gösterileceğindendir. Bu, izin iletişim kutularının uygulamanızda rastgele yerlerde görünmesine neden olabilir.

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

iOS 13

iOS 13 ile birlikte, Google Cast SDK'sını kullanan uygulamaları etkileyen yeni izin şartları kullanıma sunuldu.

Google Cast SDK'sı 4.4.3 sürümünden itibaren Bluetooth® izni gerektirmeyen ek bir SDK kullanılabilir. Bu doküman hem geliştirici sitesinde hem de yeni google-cast-sdk-no-bluetooth Cocoapods'da mevcuttur.

Uygulama dökümü

Şu anda kullandığınız iOS SDK'sının sürümüne göre döküm aşağıda verilmiştir:

iOS 12 SDK'sı veya önceki sürümler kullanılarak oluşturulan uygulamalar

  • Önerilen işlem. Cihaz bulma performansı, iOS 13'te çalışırken düşebilir ancak yine de çalışır. Geliştiricilerin, kullanıma sunulduğunda Cast SDK'sının 4.4.4 sürümüne yükseltme yapmalarını önemle tavsiye ederiz.
  • iOS 13, kullanıcılardan uygulamaya Bluetooth® izinleri vermesini ister.

iOS 13 SDK'sı ile oluşturulan uygulamalar

  • İşlem Gerekiyor: Cast SDK'sını 4.4.4 sürümüne güncelleyin. Aksi takdirde, kullanıcı konum izni vermezse yayınla düğmesi görünmeyebilir. iOS 13'te güvenilir bir yayınlama deneyimi sağlamak için Cast SDK 4.4.4'e yükseltme yapmanız gerekir.