پیشنیازها
- آخرین نسخه Android SDK را با استفاده از Android SDK Manager نصب کنید.
- آخرین نسخه کتابخانههای appcompat و mediarouter AndroidX را از طریق Android SDK Manager نصب کنید.
- آخرین نسخه Cast SDK را از طریق Android SDK Manager در سرویسهای گوگل پلی نصب کنید.
کیت توسعه نرمافزاری گوگل کست برای اندروید بخشی از کیت توسعه نرمافزاری سرویسهای گوگل پلی است و نیازی به دانلود جداگانه ندارد.
توجه : سرویسهای گوگل پلی به شما امکان دسترسی به طیف وسیعی از APIها را برای ساخت تبلیغات، جمعآوری تجزیه و تحلیل، تأیید اعتبار کاربران، ادغام نقشهها و موارد دیگر میدهد. برای اطلاعات بیشتر، به «مروری بر سرویسهای گوگل پلی» مراجعه کنید. مهم است که مطمئن شوید APK صحیح سرویسهای گوگل پلی روی دستگاه کاربر نصب شده است، زیرا ممکن است بهروزرسانیها بلافاصله به همه کاربران نرسد.
سرویسهای گوگل پلی را به پروژه خود اضافه کنید
محیط توسعه خود را در زیر انتخاب کنید و با دنبال کردن مراحل ارائه شده، سرویسهای Google Play را به پروژه خود اضافه کنید.
اندروید استودیو
برای اینکه APIهای سرویسهای گوگل پلی در برنامه شما در دسترس قرار گیرند:
- فایل
build.gradleرا در داخل دایرکتوری ماژول برنامه خود باز کنید.نکته: پروژههای اندروید استودیو شامل یک فایل
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.2.0' }
مطمئن شوید که هر بار که سرویسهای گوگل پلی بهروزرسانی میشوند، این شماره نسخه را بهروزرسانی میکنید.
توجه: اگر تعداد ارجاعات متد در برنامه شما از حد مجاز ۶۵ هزار تجاوز کند، ممکن است برنامه شما کامپایل نشود. شما میتوانید هنگام کامپایل برنامه خود، با مشخص کردن فقط APIهای سرویسهای Google Play خاص که برنامه شما از آنها استفاده میکند، به جای همه آنها، این مشکل را کاهش دهید. برای کسب اطلاعات در مورد نحوه انجام این کار، به بخش کامپایل انتخابی APIها در فایل اجرایی خود مراجعه کنید.
- تغییرات را ذخیره کنید و در نوار ابزار روی Sync Project with Gradle Files کلیک کنید.
سایر IDE ها
برای اینکه APIهای سرویسهای گوگل پلی در برنامه شما در دسترس قرار گیرند:
- پروژه کتابخانه را در
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/به مکانی که پروژههای برنامه اندروید خود را در آن نگهداری میکنید، کپی کنید. - در پروژه برنامه خود، به پروژه کتابخانه خدمات Google Play مراجعه کنید. برای اطلاعات بیشتر در مورد نحوه انجام این کار، به بخش «ارجاع به یک پروژه کتابخانه در خط فرمان» مراجعه کنید.
توجه: شما باید به یک کپی از کتابخانهای که در فضای کاری توسعه خود کپی کردهاید، ارجاع دهید - نباید مستقیماً از دایرکتوری SDK اندروید به کتابخانه ارجاع دهید.
- بعد از اینکه کتابخانه سرویسهای گوگل پلی را به عنوان یک وابستگی برای پروژه اپلیکیشن خود اضافه کردید، فایل مانیفست اپلیکیشن خود را باز کنید و تگ زیر را به عنوان فرزند عنصر
<application>اضافه کنید:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
پس از اینکه پروژه خود را برای ارجاع به پروژه کتابخانه تنظیم کردید، میتوانید شروع به توسعه ویژگیها با APIهای خدمات 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