Ön koşullar
- Android SDK Manager'ı kullanarak Android SDK'nın en son sürümünü yükleyin.
- Uyumluluk ve medya yönlendirme aracı AndroidX Kitaplıkları'nın en son sürümünü Android SDK Manager'dan yükleyin.
- Android SDK Yöneticisi üzerinden en son Cast SDK'sını Google Play Hizmetleri'ne 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 şey için 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 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.
Google Play Hizmetleri'ni projenize ekleme
Aşağıdaki geliştirme ortamınızı seçin ve verilen adımları uygulayarak projenize Google Play hizmetlerini ekleyin.
Android Studio
Google Play Hizmetleri API'lerini uygulamanızda kullanılabilir hale getirmek için:
- Uygulama modülü dizininizdeki
build.gradle
dosyasını açın.Not: Android Studio projelerinde her modül için üst düzey
build.gradle
vebuild.gradle
dosyası bulunur. Dosyayı uygulama modülünüz için düzenlediğinizden emin olun. Gradle hakkında daha fazla bilgi edinmek için Gradle ile Projenizi Oluşturma sayfasına bakın. google()
öğesinin listelenenrepositories
içinde yer aldığını doğrulayın.repositories {
play-services
uygulamasının en son 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.2.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şarsa uygulamanız derleme yapamayabilir. Uygulamanızı derlerken tüm uygulamalar yerine yalnızca uygulamanızın kullandığı Google Play hizmetleri API'lerini belirterek bu sorunu en aza indirebilirsiniz. Bunun nasıl yapılacağı hakkında bilgi edinmek için API'leri yürütülebilir biçimde seçmeli olarak 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ı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 yönettiğiniz konuma kopyalayın.- Uygulama projenizde Google Play Hizmetleri kitaplık projesine başvurun. Bunun nasıl yapılacağıyla ilgili daha fazla bilgi için Komut Satırı'nda bir Kitaplık Projesi Oluşturma başlıklı makaleyi inceleyin.
Not: Geliştirme çalışma alanınıza kopyaladığınız kitaplığın bir kopyasına 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ı olarak ekledikten sonra uygulamanızın manifest dosyasını açıp 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ş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