پیشنیازها
- جدیدترین نسخه کیت توسعه نرمافزار Android را بااستفاده از مدیر کیت توسعه نرمافزار Android نصب کنید.
- جدیدترین نسخه appcompat و mediarouter AndroidX Libraries را ازطریق Android SDK Manager نصب کنید.
- جدیدترین Cast SDK را در خدمات Google Play ازطریق Android SDK Manager نصب کنید.
کیت توسعه نرمافزار Google Cast برای Android بخشی از کیت توسعه نرمافزار خدمات Google Play است و نیازی به بارگیری جداگانه ندارد.
توجه: خدمات Google Play به شما امکان میدهد به مجموعهای از میاناهای برنامهسازی کاربردی برای ساختن آگهی، جمعآوری تجزیهوتحلیل، اصالتسنجی کاربران، ادغام نقشهها، و موارد دیگر دسترسی داشته باشید. برای اطلاعات بیشتر، به نمای کلی خدمات Google Play مراجعه کنید. مهم است که مطمئن شوید APK صحیح خدمات Google Play در دستگاه کاربر نصب شده است، زیرا ممکن است بهروزرسانیها بلافاصله به همه کاربران نرسد.
افزودن «خدمات Google Play» به پروژه
محیط توسعه نرمافزار خود را در زیر انتخاب کنید و با دنبال کردن مراحل ارائهشده، «خدمات Google Play» را به پروژهتان اضافه کنید.
استودیو Android
برای دردسترس قرار دادن میاناهای برنامهسازی کاربردی خدمات Google Play برای برنامهتان:
- فایل
build.gradleرا در فهرست راهنمای واحد برنامه باز کنید.توجه: پروژههای Android Studio حاوی یک فایل
build.gradleدر سطح بالا و یک فایلbuild.gradleبرای هر واحد هستند. حتماً فایل را برای واحد برنامه ویرایش کنید. برای اطلاعات بیشتر درباره Gradle، به ساختن پروژه با Gradle مراجعه کنید. - تأیید کنید که
google()درrepositoriesفهرستشده گنجانده شده است.repositories {google() } - قانون ساخت جدیدی در
dependenciesبرای جدیدترین نسخهplay-servicesاضافه کنید. برای مثال: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» بهروز میشود، این شماره نسخه را بهروز میکنید.
توجه: اگر تعداد ارجاعهای روش در برنامهتان از محدودیت ۶۵ هزار فراتر رود، ممکن است برنامهتان کامپایل نشود. شاید بتوانید این مشکل را هنگام کامپایل کردن برنامهتان با مشخص کردن فقط میاناهای برنامهسازی کاربردی خاص «خدمات Google Play» که برنامهتان استفاده میکند، بهجای همه آنها، کاهش دهید. برای کسب اطلاعات درباره نحوه انجام این کار، به کامپایل کردن انتخابی میاناهای برنامهسازی کاربردی در فایل اجرایی مراجعه کنید.
- تغییرات را ذخیره کنید و روی همگامسازی پروژه با فایلهای Gradle در نوارابزار کلیک کنید.
محیط توسعه یکپارچه دیگر
برای دردسترس قرار دادن میاناهای برنامهسازی کاربردی خدمات Google Play برای برنامهتان:
- پروژه کتابخانه را در
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/به مکانی که پروژههای برنامه Android خود را نگهداری میکنید کپی کنید. - در پروژه برنامهتان، به پروژه کتابخانه خدمات Google Play ارجاع دهید. برای اطلاعات بیشتر درباره نحوه انجام این کار،
ارجاع به پروژه کتابخانه در خط فرمان را ببینید.
توجه: باید به نسخهای از کتابخانه که در فضای کاری توسعهتان کپی کردهاید ارجاع دهید—نباید مستقیماً از دایرکتوری Android SDK به کتابخانه ارجاع دهید.
- پساز اینکه کتابخانه خدمات Google Play را بهعنوان وابستگی برای پروژه برنامهتان اضافه کردید،
فایل مانیفست برنامهتان را باز کنید و برچسب زیر را بهعنوان فرزند عنصر
<application>اضافه کنید:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
پساز راهاندازی پروژه برای ارجاع به پروژه کتابخانه، میتوانید توسعه ویژگیها را با میاناهای برنامهسازی کاربردی خدمات Google Play شروع کنید.
ایجاد استثنای Proguard
برای جلوگیری از حذف کلاسهای موردنیاز توسط ProGuard، خطوط زیر را به فایل اضافه کنید:
-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