Penyiapan untuk Mengembangkan dengan Framework Aplikasi Cast (CAF) untuk Android

Prasyarat

Google Cast SDK untuk Android adalah bagian dari SDK layanan Google Play dan tidak perlu didownload secara terpisah.

Catatan: Layanan Google Play memberi Anda akses ke berbagai API untuk membuat iklan, mengumpulkan analisis, mengautentikasi pengguna, mengintegrasikan peta, dan banyak lagi. Untuk informasi selengkapnya, lihat Ringkasan Google Play Layanan. Penting bagi Anda untuk memastikan bahwa APK layanan Google Play yang benar adalah diinstal pada perangkat pengguna karena pembaruan mungkin tidak segera menjangkau semua pengguna.

Menambahkan Layanan Google Play ke project Anda

Pilih lingkungan pengembangan Anda di bawah dan tambahkan layanan Google Play ke project Anda dengan dengan mengikuti langkah-langkah yang diberikan.

Android Studio

Agar API layanan Google Play tersedia untuk aplikasi Anda:

  1. Buka file build.gradle di dalam direktori modul aplikasi Anda.

    Catatan: Project Android Studio berisi project level atas build.gradle, dan satu file build.gradle untuk setiap modul. Pastikan untuk edit file untuk modul aplikasi Anda. Lihat Membuat Project Anda dengan Gradle untuk mengetahui informasi selengkapnya tentang Gradle.

  2. Pastikan google() disertakan dalam repositories yang tercantum.
    repositories {
        google()
    }
  3. Tambahkan aturan build baru di bagian dependencies untuk versi terbaru play-services. Contoh:
    apply plugin: 'com.android.application'
        ...
    
        dependencies {
            implementation 'androidx.appcompat:appcompat:1.3.1'
            implementation 'androidx.mediarouter:mediarouter:1.2.5'
            implementation 'com.google.android.gms:play-services-cast-framework:21.5.0'
        }

    Pastikan Anda mengupdate nomor versi ini setiap kali layanan Google Play diupdate.

    Catatan: Jika jumlah referensi metode di aplikasi Anda melebihi Batas 65 ribu, aplikasi Anda mungkin gagal mengompilasi. Anda mungkin dapat memitigasi masalah ini saat mengompilasi aplikasi dengan menentukan API layanan Google Play tertentu yang digunakan aplikasi Anda, bukan semuanya. Untuk informasi tentang cara melakukannya, lihat Mengompilasi API secara selektif ke dalam file yang dapat dieksekusi.

  4. Simpan perubahan, lalu klik Sync Project with Gradle Files di toolbar.

IDE Lainnya

Agar API layanan Google Play tersedia untuk aplikasi Anda:

  1. Salin project library di <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ lokasi Anda menyimpan project aplikasi Android Anda.
  2. Dalam project aplikasi Anda, lihat project library layanan Google Play. Lihat Mereferensikan Project Perpustakaan pada Baris Perintah untuk informasi selengkapnya tentang cara melakukannya.

    Catatan: Anda harus merujuk pada salinan library yang telah disalin ke ruang kerja pengembangan Anda—Anda tidak boleh mereferensikan library langsung dari Direktori Android SDK.

  3. Setelah Anda menambahkan pustaka layanan Google Play sebagai dependensi untuk project aplikasi Anda, buka file manifes aplikasi Anda dan tambahkan tag berikut sebagai turunan dari Elemen <application>:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

Setelah Anda menyiapkan proyek Anda untuk referensi proyek pustaka, Anda dapat mulai mengembangkan fitur ini dengan API layanan Google Play.

Membuat pengecualian Proguard

Untuk mencegah ProGuard untuk menghapus class yang diperlukan, tambahkan baris berikut di kolom File /proguard-project.txt:

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames class * implements android.os.Parcelable
-keepclassmembers class * implements android.os.Parcelable {
  public static final *** CREATOR;
}

-keep @interface android.support.annotation.Keep
-keep @android.support.annotation.Keep class *
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <methods>;
}

-keep @interface com.google.android.gms.common.annotation.KeepName
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
  @com.google.android.gms.common.annotation.KeepName *;
}

-keep @interface com.google.android.gms.common.util.DynamiteApi
-keep public @com.google.android.gms.common.util.DynamiteApi class * {
  public <fields>;
  public <methods>;
}

-dontwarn android.security.NetworkSecurityPolicy