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şturma, analiz toplama, kullanıcı kimliğini doğrulama, harita entegre etme ve daha birçok işlem için çeşitli API'lere erişmenizi 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şamayabileceğinden, kullanıcıların cihazları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ıma sunmak için:

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

    Not: Android Studio projelerinde üst düzey bir build.gradle dosyası ve her modül için bir build.gradle dosyası bulunur. Dosyayı uygulama modülünüz için düzenlediğinizden emin olun. Gradle hakkında daha fazla bilgi için Gradle ile Projenizi Oluşturma başlıklı makaleyi inceleyin.

  2. google() öğesinin listelenen repositories içinde yer aldığını doğrulayın.
    repositories {
        google()
    }
  3. play-services'nın en yeni sürümü için dependencies bölümüne 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.3.1'
        }

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

    Not: Uygulamanızdaki yöntem referanslarının sayısı 65.000 sınırını aşarsa uygulamanız derlenemeyebilir. Uygulamanızı derlerken yalnızca uygulamanızın kullandığı belirli Google Play Hizmetleri API'lerini belirterek bu sorunu azaltabilirsiniz. Bu işlemi nasıl yapacağınız hakkında bilgi edinmek için API'leri seçerek yürütülebilir dosyanıza derleme başlıklı makaleye bakın.

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

Diğer IDE

Google Play Hizmetleri API'lerini uygulamanızda kullanıma sunmak için:

  1. Kitaplık projesini <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ konumundan Android uygulama projelerinizi tuttuğunuz konuma kopyalayın.
  2. Uygulama projenizde Google Play Hizmetleri kitaplığı projesine referans verin. Bunun nasıl yapılacağı hakkında daha fazla bilgi için Komut Satırında Kütüphane Projesi'ne Referans Verme başlıklı makaleyi inceleyin.

    Not: Kitaplığı doğrudan Android SDK dizininden değil, geliştirme çalışma alanınıza kopyaladığınız kitaplığın bir kopyasından referans almalısınız.

  3. Google Play Hizmetleri kitaplığını uygulama projenize bağımlılık olarak ekledikten sonra uygulamanızın manifest dosyasını açın ve aşağıdaki etiketi <application> öğesinin alt öğesi olarak 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'leri ile ö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