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

Prasyarat

Google Cast SDK for Android adalah bagian dari Google Play services SDK 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 mengetahui informasi selengkapnya, lihat Ringkasan Layanan Google Play. Anda harus memastikan bahwa APK layanan Google Play yang benar telah diinstal di perangkat pengguna karena update mungkin tidak langsung menjangkau semua pengguna.

Menambahkan Layanan Google Play ke project Anda

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

Android Studio

Untuk membuat API layanan Google Play tersedia bagi aplikasi Anda:

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

    Catatan: Project Android Studio berisi file build.gradle tingkat teratas dan file build.gradle untuk setiap modul. Pastikan untuk mengedit file untuk modul aplikasi Anda. Lihat Membangun Project 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:22.1.0'
        }

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

    Catatan: Jika jumlah referensi metode di aplikasi Anda melebihi batas 65K, aplikasi Anda mungkin gagal dikompilasi. Anda mungkin dapat mengurangi masalah ini saat mengompilasi aplikasi dengan menentukan hanya API layanan Google Play tertentu yang digunakan aplikasi Anda, bukan semuanya. Untuk mengetahui 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

Untuk membuat API layanan Google Play tersedia bagi aplikasi Anda:

  1. Salin project library di <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ ke lokasi tempat Anda mengelola project aplikasi Android.
  2. Di project aplikasi Anda, rujuk project library layanan Google Play. Lihat Mereferensikan Project Library di Command Line untuk mengetahui informasi selengkapnya tentang cara melakukannya.

    Catatan: Anda harus mereferensikan salinan library yang Anda salin ke ruang kerja pengembangan—Anda tidak boleh mereferensikan library langsung dari direktori Android SDK.

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

Setelah menyiapkan project untuk mereferensikan project library, Anda dapat mulai mengembangkan fitur dengan Google Play services API.

Membuat pengecualian Proguard

Untuk mencegah ProGuard menghapus class yang diperlukan, tambahkan baris berikut dalam 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