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 etkileyecektir. 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'ü ve bunun gereksinimlerini destekler.

iOS 14'ten itibaren, yerel ağdaki cihazları tarayan uygulamalar artık kullanıcılardan tek seferlik bir izinler iletişim kutusuyla 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, yerel ağ erişim izinlerinin neden gerekli olduğunu ve yerel ağ cihaz erişimi devre dışı bırakılmışsa yayınlamayı nasıl etkinleştirileceğini kullanıcılara daha net bir şekilde gösterir.

Cast SDK'nın 4.4.8 veya daha eski sürümleri kullanılarak oluşturulan uygulamalar, Xcode 11.7 veya önceki bir sürüm ile oluşturulduğu sürece çalışmaya devam edecektir. iOS 14 için Xcode 12 veya üzeri bir sürüm oluşturuyorsanız Cast uygulamanızın düzgün çalışmaya devam etmesini sağlamak için uygulamanızı Cast SDK'sı 4.6.0 veya sonraki bir sürüme güncellemenizi öneririz.

Cast iOS SDK 4.6.0 veya üzeri sürümleri, CocoaPods kurulumu aracılığıyla ya da manuel kurulum işlemleri 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 izin veren temel keşif mekanizmasında yapılan değişiklikler bulunmaktadır. Yayın düğmesi artık her zaman görüntülenecektir. Kullanıcı Yayınla düğmesine dokunduğunda kullanılabilir cihaz yoksa, cihazların neden kullanılamıyor olabileceği ve yerel ağ erişim izninin nasıl yeniden etkinleştirileceği ile ilgili bilgiler içeren bir iletişim kutusu görüntülenir.

Cast SDK değişiklikleri

İlk yayınlama

Bir kullanıcı ilk kez Yayınlama girişiminde bulunduğunda, yerel ağ erişimi (LNA) ara iletişim kutusu görünerek yerel ağ erişimine neden ihtiyaç duyulduğunu ve ardından Apple tarafından sağlanan iOS yerel ağ erişim izinleri istemini görürsünüz. Aşağıdaki örnekler akışı göstermektedir:

Yerel ağ erişim izinleri akışı

Yayınlama kullanılamıyor

iOS gönderen SDK'sı 4.6.0'dan itibaren, 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ınla düğmesine dokunduğunuzda kullanıcıya, aşağıdaki örneklerde gösterildiği gibi 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 takdirde, 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 öğesinde 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 içinde tanımlanan kimlikle aynıdır.

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

    <key>NSBonjourServices</key>
    <dizi>
      <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. Bu izin, Cast keşfini ve DIAL gibi diğer keşif hizmetlerini açıklamak için kullanılır.

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

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

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

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

Özelleştirmeler

Yayın cihazı keşfini başlatma

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 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ünür.

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 geçerli olur.

true olarak ayarlanırsa yayın cihazı keşfi, kullanıcı GCKUICastButton cihazına ilk kez dokunduğunda başlar. Kullanıcıya, yerel ağ izninin neden gerekli olduğunu açıklayan bir bilgilendirme 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ğ ç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 geliştirme yapmayı 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?

Bu kullanıcılar, uygulamanızı yeniden yayınlamadan önce sahip oldukları kullanıcı deneyiminin aynısını görmeye devam ederler. Kullanıcıların görebileceğ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 gerekecek?

  • 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 ekleyip Cast için Bonjour hizmet adlarını ve uygulama kimliğinizi girin.
  • 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 sürümüne geçtikten sonra cihazlar neden özel cihaz seçicimde artık görünmüyor?

Standart cihaz seçici yerine özel bir cihaz seçici kullanıyorsanız bu durum 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 tarandıktan 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 ilk kez cihaz taramasını başlatmadan önce tek seferlik bir geçiş reklamı sağlaması beklenir.

iOS 13

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

Google Cast SDK'sı v4.4.3 ile başlayarak, Bluetooth® izni gerektirmeyen ek bir SDK mevcuttur. Bu özellik hem geliştirici sitesinde hem de yeni google-cast-sdk-no-bluetooth Cocoapods'da bulunabilir.

Uygulama dökümü

Kullanmakta olduğunuz iOS SDK'nın sürümüne bağlı olarak dökümü aşağıda bulabilirsiniz:

iOS 12 SDK'sı 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. Geliştiricilerin, kullanıma sunulduğunda Cast SDK v4.4.4'e 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'sı 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ın deneyimi için Cast SDK'sının 4.4.4 sürümüne geçmeniz gerekir.