iOS İzinleri ve Discovery

iOS 14 sürümünden 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ızda oluşturma şeklinizi de etkiler. Uygulamanızın iOS'in en son sürümlerinde Cast işlevini sürdürebilmesi için bu izin değişikliklerini ele almak üzere güncellemeler yapmanız gerekir.

iOS 14

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

iOS 14'ten itibaren yerel ağdaki cihazları tarayan uygulamalar artık yerel ağ cihazlarını bulup bağlanmak için kullanıcılara tek seferlik bir izin iletişim kutusu gösterecek. Cast 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.

Standart cihaz seçiciyi kullanan uygulamaların SDK'sında, kullanıcı deneyimini iyileştirmek için bazı kullanıcı deneyimi değişiklikleri yapıyoruz. Kullanıcı deneyimiyle ilgili bu değişiklikler, kullanıcıların yerel ağ erişim izinlerinin neden gerekli olduğunu ve yerel ağ cihazı erişimi devre dışıysa yayınlamanın nasıl etkinleştirileceğini daha iyi anlamalarını sağlar.

Cast SDK'sının v4.4.8 veya önceki sürümleri kullanılarak oluşturulan uygulamalar, Xcode 11.7 veya daha eski sürümler ile derlendiği sürece çalışmaya devam eder. Xcode 12 veya sonraki bir sürümün yüklü olduğu iOS 14 sürümü oluşturuyorsanız Cast uygulamanızın düzgün çalışmaya devam etmesini sağlamak için Cast SDK'sını v4.6.0 veya sonraki bir sürüme güncellemenizi öneririz.

Cast iOS SDK 4.6.0 veya sonraki sürümleri, CocoaPods'daki CocoaPods kurulumu adımları uygulanarak veya manuel kurulumu uygulayarak CocoaPods ile indirilebilir. Bu sürümde, Xcode 12 ile oluşturulan uygulamaların ağ üzerinde Cast cihazlarını bulmasına izin vermek için temel keşif mekanizmasında yapılan değişiklikler yer almaktadır. Yayınla düğmesi artık her zaman görüntülenecektir. Kullanıcı, Yayınla düğmesine dokunduğunda kullanılabilir cihaz yoksa, yerel ağ erişimi izninin nasıl yeniden etkinleştirileceği de dahil olmak üzere cihazların neden kullanılamadığıyla ilgili yol gösterici bilgiler içeren bir iletişim kutusu gösterilir.

Cast SDK'sı değişiklikleri

İlk kez yayınlama

Bir kullanıcı ilk kez yayın yapmayı denediğinde, yerel ağ erişimi (LNA) geçiş iletişim kutusuyla birlikte neden yerel ağ erişimine ihtiyaç duyulduğunu açıklayan ve ardından Apple tarafından sağlanan iOS yerel ağ erişim izinleri istemi görüntülenir. 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 sürümünden itibaren, kullanıcı kablosuz ağa bağlandığında yayın 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 Yayının kullanılamamasının olası nedenleri hakkında kullanıcıya ipuçları veren bir iletişim kutusu açılır:

Yayın ile akış kullanılamıyor

iOS 14'te uygulamanızı güncelleme

  1. Cast iOS SDK 4.8.1'i projenize ekleyin

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

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

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

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

    Cihaz bulmanın düzgün çalışması için _googlecast._tcp ve _<your-app-id>._googlecast._tcp hizmetlerinin her ikisini de hizmet olarak eklemeniz gerekir.

    appID, GCKDiscoveryCriteria öğenizde tanımlanan kimlikle aynı olan receiverID'nizdir.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyin ve "ABCD1234" değerini kendi appID değerinizle 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

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

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

    Bu mesaj, modelde 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ınlayın

    Ayrıca uygulamanızı en kısa sürede 4.8.1'i 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ın düğmesine (GCKUICastButton) ilk kez dokunduğunda başlatılır. Kullanıcı, iOS 14'e geçtikten sonra Cast uygulamasını yerel ağda ilk kez kullanmayı denediyse yeni LNA geçiş reklamı ve ardından iOS Yerel Ağ Erişimi izinleri iletişim kutusu gösterilir.

Cihaz keşfinin ne zaman başlayacağını ve kullanıcı deneyiminin belirli öğelerinin davranışını kontrol etmenize olanak tanıyan 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 olarak ayarlandığında geçerli olur.

true olarak ayarlanırsa kullanıcı GCKUICastButton cihazına ilk kez dokunduğunda yayın cihazı keşfi 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. Yayın cihazı bulma işlemi, mesaj onaylandıktan sonra başlar.

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

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ğ iletişimi çoklu yayın izni almadığınız sürece uygulamanız yerel ağdaki yayın cihazlarını keşfedemeyebilir. Apple'ın, yalnızca Cast'i desteklemek amacıyla çoklu yayın izni vermeyeceğini hatırlatmak isteriz. Xcode 12 ile geliştirme yapmayı planlıyorsanız uygulamanızı Cast 4.6.0 ile yayınlamanız gerekir.

Uygulamamı yeni Cast SDK'sı ile yeniden yayınlarsam iOS 13 veya önceki sürümleri çalıştıran kullanıcılarım ne deneyimleyecek?

Kullanıcılar, uygulamanız yeniden yayınlanmadan önce sahip oldukları kullanıcı deneyimini görmeye devam eder. Kullanıcıların görebildiği değişiklikler yalnızca iOS 14 çalıştıran kullanıcılarla sınırlıdır.

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 bölümünü yerel ağ kullanımı açıklaması içerecek şekilde güncelleyin.
  • NSBonjourServices öğesini uygulamanızın Info.plist öğesine ekleyip Cast için Bonjour hizmet adlarını ve uygulama kimliğinizi sağlayın.
  • Gönderen uygulamanızı Cast SDK'sı 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 yükselttikten sonra özel cihaz seçicimde cihazların gösterilmesi neden durdu?

Bu durum, standart cihaz seçici yerine özel bir cihaz seçici kullandığınızda ortaya çıkabilecek bilinen bir sorundur. Cast SDK'sının 4.4.8 ve önceki sürümlerinde cihaz tarama otomatik olarak yapılıyordu. 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 yaptıktan sonra Yerel Ağ Erişimi (LNA) izinleri isteminin görünmesidir. Bu durum, uygulamanızda rastgele yerlerde izin iletişim kutularının görünmesine neden olabilir.

Uygulamaları için özel bir cihaz seçici oluşturan geliştiricilerin, iOS 14'te ilk kez cihaz taraması 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 sürümünden itibaren, Bluetooth® iznini gerektirmeyen ek bir SDK kullanılabilir. Bunu hem geliştirici sitesinde hem de yeni google-cast-sdk-no-bluetooth Cocoapods'da bulabilirsiniz.

Uygulama dökümü

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

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

  • Önerilen İşlem. iOS 13'te çalışırken cihaz bulma performansı düşebilir ancak çalışmaya devam eder. Mevcut olduğunda geliştiricilerin, Cast SDK'sı v4.4.4 sürümüne geçmelerini önemle tavsiye ederiz.
  • iOS 13, kullanıcılardan uygulamaya Bluetooth® izinlerini vermelerini isteyecektir.

iOS 13 SDK'sı ile oluşturulan uygulamalar

  • İşlem Gerekli: Cast SDK 4.4.4'e güncelleyin. Aksi takdirde, kullanıcı konum izni vermezse yayın düğmesi görünmeyebilir. Cast SDK 4.4.4'e geçmek, iOS 13'te güvenilir bir yayınlama deneyimi sağlamak için gereklidir.