iOS İzinleri ve Discovery

iOS 14'ten itibaren işletim sistemi, Cast kullanıcı deneyimini etkileyen yeni kısıtlamaları ve izinleri zorunlu kılacak. Ayrıca, Cast SDK'sını uygulamanıza oluşturma şeklinizi de etkiler. Uygulamanızın en son iOS sürümleriyle yayınlama işlevini sürdürebilmesi için, bu izin değişikliklerini ele almak amacıyla güncellemeler yapmanız gerekir.

iOS 14

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

iOS 14'ten itibaren, yerel ağdaki cihazları tarayan uygulamalar artık kullanıcılardan, tek seferlik izin iletişimleriyle yerel ağ cihazlarını bulup bu cihazlara bağlanmalarını isteyecektir. Yayın platformu, Yayın cihazlarını keşfetmek ve kontrol etmek için yerel ağı kullanır. Bu nedenle, kullanıcı izin vermeyi reddederse yayın yapamaz.

Kullanıcı deneyimini iyileştirmek amacıyla, standart cihaz seçiciyi kullanan uygulamaların SDK'sında bazı kullanıcı deneyimi değişiklikleri yapıyoruz. Bu kullanıcı deneyimi değişiklikleri, kullanıcılara 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 daha net bir şekilde gösterir.

Cast SDK'nın 4.4.8 veya önceki sürümleri kullanılarak oluşturulan 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 sürümleriyle derliyorsanız Cast uygulamanızın düzgün çalışmaya devam etmesini sağlamak için Cast SDK'sı 4.6.0 veya üzeri bir sürüme güncelleme yapmanızı öneririz.

Cast iOS SDK'sının 4.6.0 veya sonraki sürümleri, CocoaPods kurulumu uygulanarak veya manuel kurulum uygulanarak CocoaPods ile manuel olarak indirilebilir. Bu sürümde, Xcode 12 ile oluşturulan uygulamaların ağdaki Yayın cihazlarını bulmasına olanak tanımak için temel keşif mekanizmasında yapılan değişiklikler bulunmaktadır. Yayın düğmesi artık her zaman görüntülenmelidir. Kullanıcı Yayınla düğmesine dokunduğunda kullanılabilir cihaz yoksa, cihazların neden kullanılamıyor olabileceğine dair yol gösteren bir iletişim kutusu görüntülenir. Bu iletişim kutusunda, yerel ağ erişim izninin nasıl yeniden etkinleştirileceği hakkında bilgiler de yer alır.

Cast SDK'sı değişiklikleri

İlk yayınlama

Bir kullanıcı Yayınlamayı ilk kez denediğinde, neden yerel ağ erişimine ihtiyaç duyulduğunu açıklayan bir yerel ağ erişimi (LNA) geçiş iletişim kutusu gösterilir ve 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ın kullanılamıyor

iOS gönderen SDK 4.6.0'dan itibaren, kullanıcı kablosuz ağa bağlandığında Yayınla düğmesi her zaman görünür. Yayın cihazları kullanılamadığında, Yayınla düğmesine dokunduğunuzda, 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:

Yayın özellikli akış kullanılamıyor

iOS 14'te uygulamanızı güncelleme

  1. Cast iOS SDK 4.8.0'ı projenize ekleme

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

    Aksi halde SDK'yı manuel olarak çekin.

  2. Info.plist cihazınıza NSBonjourServices ekleyin

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

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

    appID, alıcı kimliğinizdir. Bu, GCKDiscoveryCriteria öğenizde tanımlanan kimlikle aynıdır.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyip "ABCD1234" ifadesini appID ile değiştirin.

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

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

    <key>NSLocalNetworkUsageDescription</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.

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

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

Özelleştirmeler

Yayın cihazı keşfini başlatma

Varsayılan olarak, kullanıcı Yayınla düğmesine (GCKUICastButton) ilk kez dokunduğunda Cast cihazı keşfi başlatılır. Kullanıcı iOS 14'e geçtikten sonra yerel ağda Cast uygulamasını ilk kez kullanmayı denediğinde yeni LNA geçiş reklamı ve ardından iOS Yerel Ağ Erişimi izinleri iletişim kutusu görüntülenir.

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

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

true, varsayılan değerdir. Bu işaret yalnızca GCKCastOptions::disableDiscoveryAutostart işareti false olarak ayarlandığında kullanılabilir.

true olarak ayarlanırsa yayın cihazı keşfi, kullanıcı GCKUICastButton simgesine ilk kez dokunduğunda başlar. Kullanıcıya neden yerel ağ izni gerektiğini açıklayan bir mesaj gösterilir. Bu mesajın ardından iOS 14 LNA mesajı gösterilir. Mesaj onaylandıktan sonra yayın cihazı keşfi başlar.

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

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?

Uygulamanız, Apple'dan ağ iletişimi çoklu yayın yararlanma hakkı almadığınız sürece yerel ağdaki Yayın cihazlarını keşfedemeyebilir. Apple'ın, yalnızca Cast'i desteklemek amacıyla çoklu yayın yararlanma hakları vermeyeceğini unutmayın. Xcode 12 ile uygulama geliştirmeyi planlıyorsanız uygulamanızı Cast 4.6.0 ile yayınlamanız gerekir.

Uygulamamı yeni Cast SDK ile yeniden yayınlarsam kullanıcılarım iOS 13 veya önceki bir sürümde nasıl çalışacak?

Kullanıcılar, uygulamanız yeniden yayınlanmadan önceki kullanıcı deneyimini aynı şekilde görmeye devam edecek. Kullanıcılar tarafından görülebilen 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 gerekiyor?

  • Uygulamanızın Info.plist özelliğini, yerel ağ kullanımı açıklaması içerecek şekilde güncelleyin.
  • Uygulamanızın Info.plist öğesine NSBonjourServices ekleyip 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 yeni sürüme geçirin.
  • Uygulamanızı Apple App Store'da yeniden yayınlayın.

4.6.0'a yükselttikten sonra neden cihazlar özel cihaz seçicimde görünmüyor?

Bu, standart cihaz seçici yerine özel bir cihaz seçici kullandığınızda ortaya çıkabilecek bilinen bir sorundur. Cast SDK'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ında startDiscovery yöntemini açıkça çağırmanız gerekecektir.

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

Uygulamaları için özel bir 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 gereksinimleri kullanıma sunuldu.

Google Cast SDK'sının 4.4.3 sürümüyle birlikte, Bluetooth® izni gerektirmeyen ek bir SDK mevcuttur. Bu bilgi hem geliştirici sitesinde hem de yeni google-cast-sdk-no-bluetooth Cocoapods'da bulunmaktadır.

Uygulama dökümü

Şu anda kullandığınız iOS SDK'nın sürümüne bağlı olarak dökümü burada bulabilirsiniz:

iOS 12 SDK veya önceki sürümlerle oluşturulan uygulamalar

  • Önerilen İşlem. iOS 13 üzerinde çalışırken cihaz keşfi performansı düşebilir ancak çalışmaya devam eder. Kullanıma sunulduğunda geliştiricilerin Cast SDK'sının 4.4.4 sürümüne geçmelerini önemle tavsiye ederiz.
  • iOS 13, kullanıcılardan uygulamaya Bluetooth® izinleri vermelerini isteyecektir.

iOS 13 SDK'sı ile oluşturulan uygulamalar

  • İşlem Gerekli: Cast SDK 4.4.4'e güncelleyin. Kullanıcı konum izni vermezse yayınla düğmesi görünmeyebilir. iOS 13'te güvenilir bir yayınlama deneyimi için Cast SDK'sının 4.4.4 sürümüne geçmeniz gerekir.