Mulai dari iOS 14, sistem operasi akan menerapkan pembatasan dan izin baru yang memengaruhi pengalaman pengguna Cast. Perubahan ini juga akan memengaruhi cara mem-build Cast SDK ke dalam aplikasi Anda. Agar aplikasi Anda dapat mempertahankan fungsi Cast dengan versi iOS terbaru, Anda harus membuat update untuk menangani perubahan izin ini.
iOS 14
Developer harus mengupdate aplikasi pengirim Cast iOS ke Google Cast SDK v4.6.0 atau yang lebih baru. Versi ini menyediakan dukungan untuk iOS 14 dan persyaratannya.
Mulai dari iOS 14, aplikasi yang memindai perangkat di jaringan lokal kini akan meminta pengguna untuk menampilkan dialog izin satu kali guna menemukan dan terhubung ke perangkat jaringan lokal. Platform Cast menggunakan jaringan lokal untuk menemukan dan mengontrol perangkat Cast, sehingga jika pengguna menolak izin, mereka tidak akan dapat melakukan transmisi.
Untuk meningkatkan pengalaman pengguna, kami melakukan beberapa modifikasi UX pada SDK untuk aplikasi yang menggunakan alat pilih perangkat standar. Perubahan UX ini menjelaskan kepada pengguna mengapa izin akses jaringan lokal diperlukan, serta cara mengaktifkan transmisi jika akses perangkat jaringan lokal telah dinonaktifkan.
Aplikasi yang di-build dengan versi Cast SDK menggunakan v4.4.8 atau versi sebelumnya akan terus berfungsi selama aplikasi tersebut dibuat dengan Xcode 11.7 atau yang lebih lama. Jika Anda mem-build untuk iOS 14 dengan Xcode 12 atau yang lebih baru, sebaiknya update ke SDK Cast v4.6.0 atau yang lebih baru untuk memastikan aplikasi Cast Anda akan terus berfungsi dengan benar.
Cast iOS SDK v4.6.0 atau yang lebih baru dapat didownload dengan CocoaPods dengan mengikuti penyiapan CocoaPods atau secara manual dengan mengikuti penyiapan manual. Rilis ini menyertakan perubahan pada mekanisme penemuan pokok untuk memungkinkan aplikasi yang dibuat dengan Xcode 12 untuk menemukan perangkat Cast di jaringan. Tombol Cast akan selalu ditampilkan. Jika tidak ada perangkat yang tersedia saat pengguna mengetuk tombol Transmisi, dialog akan ditampilkan yang memberikan panduan tentang alasan perangkat mungkin tidak tersedia, termasuk informasi tentang cara mengaktifkan kembali izin akses jaringan lokal.
Perubahan Cast SDK
Transmisi pertama kali
Saat pertama kali pengguna mencoba melakukan Transmisi, dialog interstisial akses jaringan (LNA) lokal akan muncul untuk menjelaskan alasan diperlukannya akses jaringan lokal, diikuti dengan permintaan izin akses jaringan lokal yang disediakan Apple. Contoh di bawah menggambarkan alurnya:
Transmisi tidak tersedia
Mulai SDK pengirim iOS 4.6.0, tombol Cast selalu muncul saat pengguna terhubung ke Wi-Fi. Saat perangkat Cast tidak tersedia, mengetuk tombol Cast akan memunculkan dialog yang memberikan petunjuk kepada pengguna tentang kemungkinan alasan Cast tidak tersedia, seperti yang ditampilkan di tiruan di bawah:
Mengupdate aplikasi di iOS 14
-
Menambahkan Cast iOS SDK 4.8.0 ke project
Jika menggunakan CocoaPods, gunakan
pod update
untuk menambahkan SDK 4.8.0 ke project Anda.Jika tidak, tarik SDK secara manual.
-
Tambahkan
NSBonjourServices
keInfo.plist
AndaTentukan
NSBonjourServices
diInfo.plist
untuk memungkinkan penemuan jaringan lokal berhasil di iOS 14.Anda harus menambahkan
_googlecast._tcp
dan_<your-app-id>._googlecast._tcp
sebagai layanan agar penemuan perangkat dapat berfungsi dengan baik.appID adalah receiverID Anda, yang merupakan ID yang ditentukan di
GCKDiscoveryCriteria
.Perbarui contoh definisi
NSBonjourServices
berikut dan ganti "ABCD1234" dengan appID Anda. -
Menambahkan
NSLocalNetworkUsageDescription
keInfo.plist
AndaSebaiknya Anda menyesuaikan pesan yang ditampilkan dalam permintaan Jaringan Lokal dengan menambahkan string izin khusus aplikasi dalam file
Info.plist
aplikasi Anda untukNSLocalNetworkUsageDescription
, seperti yang menggambarkan penemuan Cast dan layanan penemuan lainnya, seperti DIAL.Pesan ini akan muncul sebagai bagian dari dialog Akses Jaringan Lokal iOS seperti yang ditampilkan dalam tiruan.
-
Rilis ulang aplikasi Anda ke Apple App Store
Sebaiknya Anda juga merilis ulang aplikasi menggunakan 4.8.0 sesegera mungkin.
Penyesuaian
Inisiasi penemuan perangkat transmisi
Secara default, penemuan perangkat Cast dimulai saat pertama kali pengguna mengetuk
tombol Cast (GCKUICastButton
). Jika ini adalah pertama kalinya pengguna
mencoba menggunakan aplikasi Cast di jaringan lokal setelah mengupgrade ke iOS
14, interstisial LNA baru akan muncul, diikuti dengan dialog izin Akses
Jaringan Lokal iOS.
Flag baru tersedia untuk memungkinkan Anda mengontrol kapan penemuan perangkat dimulai dan perilaku elemen UX tertentu:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
Nilai default-nya adalah true
. Flag ini hanya berlaku jika flag GCKCastOptions::disableDiscoveryAutostart
ditetapkan ke false
.
Jika ditetapkan ke true
, penemuan perangkat Cast akan dimulai saat pengguna mengetuk
GCKUICastButton
untuk pertama kalinya. Pesan informasi akan ditampilkan kepada pengguna untuk memberi tahu mereka alasan diperlukannya izin jaringan lokal. Setelah pesan tersebut, pesan LNA iOS 14 akan ditampilkan.
Penemuan perangkat transmisi dimulai setelah pesan dikonfirmasi.
Dalam peluncuran Aplikasi berikutnya, GCKUICastButton
selalu ditampilkan.
Jika ditetapkan ke false
, penemuan perangkat akan dimulai berdasarkan nilai
flag
GCKCastOptions::disableDiscoveryAutostart
.
Pertanyaan umum (FAQ)
Apa yang terjadi jika saya merilis ulang aplikasi pengirim Cast dengan Cast SDK v4.4.8 dan Xcode 12?
Aplikasi Anda mungkin tidak dapat menemukan perangkat Cast di jaringan lokal, kecuali Anda telah mendapatkan hak multicast jaringan dari Apple. Perlu diperhatikan bahwa Apple tidak akan memberikan hak multicast hanya untuk tujuan mendukung Cast. Jika berencana mem-build dengan Xcode 12, Anda harus merilis aplikasi dengan Cast 4.6.0.
Jika saya merilis ulang aplikasi dengan Cast SDK yang baru, apa yang akan terjadi kepada pengguna yang menjalankan iOS 13 atau versi sebelumnya?
Mereka akan terus melihat pengalaman pengguna yang sama seperti sebelum rilis ulang aplikasi Anda. Perubahan yang terlihat oleh pengguna dibatasi untuk pengguna yang menjalankan iOS 14.
Apa yang perlu saya lakukan untuk mengupdate aplikasi setelah versi baru Cast SDK dirilis?
- Update
Info.plist
aplikasi Anda untuk menyertakan deskripsi penggunaan jaringan lokal. - Tambahkan
NSBonjourServices
keInfo.plist
aplikasi Anda dan berikan nama layanan Bonjour untuk Cast dan ID aplikasi. - Upgrade aplikasi pengirim Anda untuk menggunakan Cast SDK 4.6.0.
- Rilis kembali aplikasi Anda ke Apple App Store.
Mengapa perangkat berhenti muncul di alat pilih perangkat kustom saya setelah mengupgrade ke 4.6.0?
Ini adalah masalah umum yang dapat terjadi jika Anda menggunakan alat pilih perangkat kustom,
bukan pemilih perangkat standar. Pada versi 4.4.8
Cast SDK dan yang lebih lama, pemindaian perangkat dilakukan secara otomatis. Mulai versi
4.6.0, Anda harus secara eksplisit memanggil metode
startDiscovery
pada
class
GCKDiscoveryManager
untuk memulai penemuan perangkat.
Alasan perubahan ini adalah karena permintaan izin Akses Jaringan Lokal (LNA) akan muncul setelah aplikasi memindai untuk pertama kalinya. Hal ini dapat mengakibatkan dialog izin muncul di tempat-tempat acak dalam aplikasi Anda.
Developer yang membuat alat pilih perangkat kustom untuk aplikasi mereka diharapkan menyediakan interstisial satu kali sebelum memulai pemindaian perangkat untuk pertama kalinya di iOS 14.
iOS 13
Dengan iOS 13, persyaratan izin baru diperkenalkan yang memengaruhi aplikasi yang menggunakan Google Cast SDK.
Mulai dari Google Cast SDK v4.4.3, tersedia SDK tambahan yang
tidak memerlukan izin Bluetooth®. Fitur ini tersedia di situs
developer dan di
Cocoapoda google-cast-sdk-no-bluetooth
yang baru.
Perincian aplikasi
Berikut rinciannya bergantung pada versi iOS SDK yang saat ini Anda gunakan:
Aplikasi yang dibuat dengan SDK iOS 12 atau versi sebelumnya
- Tindakan yang Direkomendasikan. Performa penemuan perangkat dapat menurun saat berjalan di iOS 13, tetapi akan tetap berfungsi. Sebaiknya developer mengupgrade ke Cast SDK v4.4.4 jika tersedia.
- iOS 13 akan meminta pengguna untuk memberikan izin Bluetooth® ke aplikasi.
Aplikasi yang dibuat dengan SDK iOS 13
- Tindakan Diperlukan: Update ke Cast SDK 4.4.4 atau tombol transmisi mungkin tidak muncul jika pengguna tidak memberikan izin akses lokasi. Upgrade ke Cast SDK 4.4.4 diperlukan untuk memastikan pengalaman transmisi yang andal di iOS 13.