Ön koşullar
- Android SDK Manager'ı kullanarak Android SDK'nın en yeni sürümünü yükleyin.
- Android SDK Manager aracılığıyla appcompat ve mediarouter AndroidX kitaplıklarının en yeni sürümünü yükleyin.
- Android SDK Manager aracılığıyla Google Play Hizmetleri'ndeki en son Cast SDK'sını yükleyin.
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 ç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ş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:
- Uygulama modülü dizininizdeki
build.gradledosyasını açın.Not: Android Studio projeleri, her modül için üst düzey bir
build.gradledosyası ve birbuild.gradledosyası içerir. Dosyayı uygulama modülünüz için düzenlediğinizden emin olun. Gradle hakkında daha fazla bilgi için Projenizi Gradle ile Oluşturma başlıklı makaleyi inceleyin. google()öğesinin, listelenenrepositoriesiçinde yer aldığını doğrulayın.repositories {google() }play-servicesuygulamasının en yeni sürümü içindependenciesaltı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:23.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 referanslarının sayısı 65.000 sınırını aşarsa uygulamanız derlenemeyebilir. Uygulamanızı derlerken tüm Google Play Hizmetleri API'leri yerine yalnızca uygulamanızın kullandığı API'leri belirterek bu sorunu hafifletebilirsiniz. Bunun nasıl yapılacağı hakkında bilgi için API'leri seçerek yürütülebilir dosyanızda derleme başlıklı makaleyi inceleyin.
- 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ılabilir hale getirmek için:
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/adresindeki kitaplık projesini Android uygulama projelerinizi sakladığınız konuma kopyalayın.- Uygulama projenizde Google Play Hizmetleri kitaplık projesine referans verin. Bunun nasıl yapılacağı hakkında daha fazla bilgi için
Komut Satırında Kitaplık Projesine Referans Verme bölümüne bakın.
Not: Geliştirme çalışma alanınıza kopyaladığınız kitaplığın bir kopyasına referans vermeniz gerekir. Kitaplığa doğrudan Android SDK dizininden referans vermemelisiniz.
- 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 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