"Niat untuk Bergabung" adalah fitur baru Android Sender yang memungkinkan aplikasi pengirim untuk "bergabung" sesi Cast yang telah dimulai oleh aplikasi lain atau suara. Anda menyiapkan aplikasi pengirim yang akan diluncurkan oleh intent yang dibuat oleh Transmisi SDK.
Misalnya, saat menggunakan suara untuk memulai sesi Transmisi, SDK Cast akan membuat notifikasi yang memungkinkan pengguna mengontrol pemutaran di semua ponsel Android berada di jaringan yang sama. Saat notifikasi diketuk, Cast SDK akan membuat untuk meluncurkan aplikasi Anda guna bergabung ke sesi Cast.
Lihat Contoh CastVideo-Android untuk implementasi Intent untuk Bergabung.
Menggunakan Pengirim Android
Untuk mengaktifkan fitur ini, lakukan langkah-langkah berikut di aplikasi Anda:
Pastikan aplikasi Anda sudah menggunakan versi Android Sender SDK yang lebih besar dari
11.4.0. Di build.gradle
:
dependencies {
api 'com.google.android.gms:play-services-cast-framework:11.4.0'
}
Tambahkan filter intent baru ke aktivitas tempat Anda ingin menangani intent tersebut. Tujuan
intent akan digunakan oleh Notifikasi Remote Control (RCN) untuk meluncurkan aplikasi Anda
dan bergabung ke sesi Cast.
Sebaiknya gunakan aktivitas di mana
SessionManagerListener
yang dihosting, dan
onSessionStarted()
atau
onSessionStartFailed()
akan dipanggil.
Pastikan filter intent baru bersifat unik di seluruh sistem Android. Rab
sebaiknya gunakan tag <data>
untuk melakukannya, seperti berikut:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="your_app_scheme" android:host="your_app_host"
android:path="your_app_path"/>
</intent-filter>
Contoh tag <data>
:
<data android:scheme="https" android:host="example.com"
android:path="/cast/join"/>
Dalam aktivitas tempat Anda menentukan filter intent baru, panggil
SessionManager.startSession(Intent)
dalam onResume()
:
override fun onResume() { ... val intent = intent // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>" val intentToJoinUri = Uri.parse("https://example.com/cast/join") if (intent.data != null && intent.data == intentToJoinUri) { mCastContext.sessionManager.startSession(intent) } ... }
@Override protected void onResume() { ... Intent intent = getIntent(); // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>" Uri intentToJoinUri = Uri.parse("https://example.com/cast/join"); if (intent.getData() != null && intent.getData().equals(intentToJoinUri)) { mCastContext.getSessionManager().startSession(intent); } ... }
Penyiapan Konsol Developer Google Cast
Untuk memanfaatkan fitur Intent to Join, URI aplikasi dan nama paket harus ditambahkan ke dalam Konsol Developer Google Cast.
Penerima Anda juga harus dicantumkan dan dipublikasikan agar Intent to Join berfungsi mereka dapat terus berjalan dengan baik.
Untuk mencantumkan aplikasi, alihkan opsi listingan ke "YA" dan memberikan judul, deskripsi, dan grafik 512x512 untuk aplikasi.
Setelah penyiapan, Anda dapat menguji implementasi dengan Notifikasi Remote Control (RCN) seperti di bawah ini:
- Instal Aplikasi Google Home di ponsel Android, dan hubungkan ke Wi-Fi di ponsel.
- Perangkat yang kompatibel untuk Cast menyiapkan perangkat Google Home pada jaringan yang sama.
- Mulai sesi Transmisi dengan perangkat Google Home menggunakan Alat Command and Control (CaC), perangkat Android atau iOS lain, atau melalui suara dan memeriksa apakah Penerima Web aplikasi diluncurkan.
- Tunggu beberapa detik untuk mendapatkan RCN di ponsel, dan ketuk notifikasi untuk memicu intent. Intent harus disiarkan ke aplikasi apa saja yang mendaftarkan intent dengan data yang diperlukan untuk bergabung ke sesi.
SessionManagerListener.onSessionStarted(T, String)
akan dipicu dan bergabung ke sesi.
Verifikasi
Jika aplikasi Anda berhasil bergabung ke sesi,
SessionManagerListener.onSessionStarted(T, String)
dipanggil. Jika tidak,
SessionManagerListener.onSessionStartFailed(T, int)
dipanggil. Dengan asumsi aplikasi Anda sudah menangani peristiwa tersebut dengan benar (untuk
Misalnya, meluncurkan pengontrol yang diperluas atau pengontrol mini), Anda tidak perlu
melakukan apa pun.