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ıların kimliğini doğrulama, haritaları entegre etme ve daha pek çok işlem için API'lere erişmenizi sağlar. Daha fazla bilgi için Google Play Hizmetleri'ne Genel Bakış konusuna bakın. 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 ekleyin

Aşağıda geliştirme ortamınızı seçin ve belirtilen adımları uygulayarak Google Play hizmetlerini projenize ekleyin.

Android Studio

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

  1. Uygulama modülü dizininizde 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 Building Your Project with Gradle (Projenizi Gradle ile Oluşturma) sayfasına göz atın.

  2. google() öğesinin listelenen repositories içinde bulunduğunu doğrulayın.
    repositories {
        google()
    }
    
  3. En son play-services sürümü için dependencies altına 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:21.5.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 bin sınırını aşıyorsa uygulamanız derleme işlemi yapamayabilir. Uygulamanızı derlerken hepsi yerine yalnızca uygulamanızın kullandığı belirli Google Play Hizmetleri API'lerini belirterek bu sorunu en aza indirebilirsiniz. Bunun nasıl yapılacağı hakkında bilgi için Yürütülebilir dosyanıza API'leri seçerek derleme bölümünü 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/ adresindeki kitaplık projesini, Android uygulama projelerinizi yönettiğiniz konuma kopyalayın.
  2. Uygulama projenizde Google Play Hizmetleri kitaplık projesine bakın. Bunun nasıl yapılacağı hakkında daha fazla bilgi için Komut Satırında Kütüphane Projesine Başvurma bölümüne bakın.

    Not: Geliştirme çalışma alanınıza kopyaladığınız kitaplığın bir kopyasına referans vermelisiniz. Kitaplığa doğrudan Android SDK dizininden referans vermemelisiniz.

  3. Uygulama projenize bağımlılık olarak Google Play Hizmetleri kitaplığını 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ştur

ProGuard'ın gerekli sınıfları çıkarması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