Android için Cast Uygulama Çerçevesi (CAF) ile Geliştirme Kurulumu

Ön koşullar

Android için Google Cast SDK'sı, Google Play Hizmetleri SDK'sının bir parçasıdır ve ayrı olarak indirilmesi gerekmez.

Not: Google Play Hizmetleri, reklam oluşturmak, analiz toplamak, kullanıcıların kimliğini doğrulamak, haritalar entegre etmek ve daha pek çok işlem için çeşitli API'lere erişim sağlar. Daha fazla bilgi için Google Play Hizmetleri'ne Genel Bakış başlıklı makaleyi inceleyin. Güncellemeler tüm kullanıcılara hemen ulaşmayabileceğinden, kullanıcının cihazına doğru Google Play Hizmetleri APK'sının yüklendiğinden emin olmanız önemlidir.

Projenize Google Play Hizmetleri'ni ekleme

Aşağıdan geliştirme ortamınızı seçin ve verilen adımları uygulayarak Google Play Hizmetleri'ni projenize ekleyin.

Android Studio

Google Play Hizmetleri API'lerini uygulamanızda kullanılabilir hale getirmek için:

  1. Uygulama modülü dizininizdeki build.gradle dosyasını açın.

    Not: Android Studio projeleri, her modül için bir üst düzey build.gradle dosyası ve bir build.gradle dosyası içerir. Uygulama modülünüzün dosyasını düzenlediğinizden emin olun. Gradle hakkında daha fazla bilgi için Projenizi Gradle ile Derleme başlıklı makaleyi inceleyin.

  2. google() değerinin listelenen repositories değerine dahil edildiğini doğrulayın.
    repositories {
        google()
    }
  3. play-services'un en son sürümü için dependencies altında yeni bir derleme kuralı ekleyin. Örneğin:
    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.0.0'
        }

    Google Play Hizmetleri her güncellendiğinde bu sürüm numarasını güncellediğinizden emin olun.

    Not: Uygulamanızdaki yöntem referansı sayısı 65.000 sınırını aşarsa uygulamanız derlenemeyebilir. Uygulamanızı derledikten sonra, uygulamanızın kullandığı Google Play Hizmetleri API'lerinin tamamını değil, yalnızca belirli API'leri belirterek bu sorunu azaltabilirsiniz. Bunu nasıl yapacağınız hakkında bilgi edinmek için API'leri yürütülebilir dosyanıza seçerek derleme başlıklı makaleyi inceleyin.

  4. Değişiklikleri kaydedin ve araç çubuğunda Projeyi Gradle Dosyalarıyla Senkronize Et'i tıklayın.

Diğer IDE

Google Play Hizmetleri API'lerini uygulamanızda kullanılabilir hale getirmek için:

  1. <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ bulunan kitaplık projesini Android uygulama projelerinizi yönettiğiniz konuma kopyalayın.
  2. Uygulama projenizde Google Play Hizmetleri kitaplığı projesine referans verin. Bunu nasıl yapacağınız hakkında daha fazla bilgi için Komut satırında kütüphane projesine referans verme başlıklı makaleyi inceleyin.

    Not: Kitaplığın, geliştirme çalışma alanınıza kopyaladığınız bir kopyasına referans vermeniz gerekir. Kitaplığa doğrudan Android SDK dizininden referans vermemeniz gerekir.

  3. Google Play Hizmetleri kitaplığını uygulama projenizin bağımlılığı olarak ekledikten sonra uygulamanızın manifest dosyasını açın ve <application> öğesinin alt öğesi olarak aşağıdaki etiketi ekleyin:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

Projenizi kitaplık projesine referans verecek şekilde ayarladıktan sonra Google Play Hizmetleri API'lerini kullanarak özellik geliştirmeye başlayabilirsiniz.

Proguard istisnası oluşturma

ProGuard'ın gerekli sınıfları kaldırmasını önlemek için /proguard-project.txt dosyasına aşağıdaki satırları ekleyin:

-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