پیشنیازها
- بااستفاده از مدیر کیت توسعه نرمافزار Android، جدیدترین نسخه کیت توسعه نرمافزار Android را نصب کنید.
- جدیدترین نسخه appcompat و mediarouter AndroidX Libraries را ازطریق Android SDK Manager نصب کنید.
- جدیدترین کیت توسعه نرمافزار Cast در خدمات Google Play را ازطریق مدیر کیت توسعه نرمافزار Android نصب کنید.
«کیت توسعه نرمافزار 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:22.3.1' }
مطمئن شوید که هربار «خدمات 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