Ön koşullar
- Android SDK Manager'ı kullanarak Android SDK'nın en son sürümünü yükleyin.
- Android SDK Manager aracılığıyla appcompat ve mediarouter AndroidX Kitaplıkları'nın en son sürümünü yükleyin.
- Android SDK Manager aracılığıyla en son Google Play Hizmetleri'nde SDK'yı yayınlayın.
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 şey için çeşitli API'lere erişmenizi sağlar. Daha fazla bilgi için Google Play Hizmetlerine Genel Bakış konusuna bakın. Güncellemeler tüm kullanıcılara hemen erişemeyebileceğ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ğıdaki geliştirme ortamınızı seçin ve belirtilen adımları uygulayarak projenize Google Play Hizmetleri'ni ekleyin.
Android Studio
Google Play Hizmetleri API'lerini uygulamanızın kullanımına sunmak için:
- Uygulama modülü dizininizin içindeki
build.gradle
dosyasını açın.Not: Android Studio projelerinde her modül için üst düzey
build.gradle
dosyası vebuild.gradle
dosyası bulunur. Dosyayı uygulama modülünüz için düzenlemeyi unutmayın. Gradle hakkında daha fazla bilgi için Gradle ile Projenizi Oluşturma bölümüne bakın. google()
öğesinin listelenenrepositories
listesine eklendiğini doğrulayın.repositories {
- En son
play-services
sürümü içindependencies
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.3.0' }
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 bin sınırı aşıyorsa uygulamanız derleme yapamayabilir. Uygulamanızı derlerken bu sorunların tümünü değil, yalnızca belirli Google Play hizmetleri API'lerini belirterek bu sorunu çözebilirsiniz. Bunun nasıl yapılacağı hakkında bilgi edinmek için API'leri seçerek yürütülebilir dosyalarda derleme bölümüne bakın.
- Değişiklikleri kaydedin ve araç çubuğundaki Projeyi Gradle Dosyalarıyla Senkronize Et'i tıklayın.
Diğer IDE
Google Play Hizmetleri API'lerini uygulamanızın kullanımına sunmak için:
<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.- Uygulama projenizde Google Play Hizmetleri kitaplık projesine bakın. Bunun nasıl yapılacağıyla ilgili daha fazla bilgi için
Komut Satırında Kütüphane Projesine Başvurma bölümüne bakın.
Not: Kitaplığı, geliştirme çalışma alanınıza kopyaladığınız bir nüshaya referans vermeniz gerekir. Kütüphaneye doğrudan Android SDK dizininden başvuruda bulunmamalısınız.
- 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'leriyle özellikler geliştirmeye başlayabilirsiniz.
ProGuard istisnası oluşturun
ProGuard'ın gerekli sınıfları çıkarmasını önlemek için
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