المتطلبات الأساسية
- عليك تثبيت أحدث إصدار من حزمة تطوير البرامج (SDK) لنظام التشغيل Android باستخدام مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
- يمكنك تثبيت أحدث إصدار من مكتبات AndroidX من Appcompat ومنصة Mediamedia من خلال مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
- ثبِّت أحدث حزمة SDK للبث في Google Play من خلال مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
تكون حزمة تطوير البرامج (SDK) الخاصة بـ Google Cast لنظام التشغيل Android جزءًا من حزمة SDK لخدمات Google Play ولا تحتاج إلى تنزيلها بشكل منفصل.
ملاحظة: تمنحك "خدمات Google Play" إمكانية الوصول إلى مجموعة من واجهات برمجة التطبيقات لإنشاء الإعلانات وجمع الإحصاءات ومصادقة المستخدمين ودمج الخرائط والمزيد. لمزيد من المعلومات، راجِع نظرة عامة على خدمات Google Play. من المهم التأكّد من أنّ حزمة APK الصحيحة لخدمات Google Play مثبّتة على جهاز المستخدم، لأنّ التحديثات قد لا تصل إلى جميع المستخدمين على الفور.
إضافة خدمات Google Play إلى مشروعك
يمكنك اختيار بيئة التطوير أدناه وإضافة خدمات Google Play إلى مشروعك من خلال اتّباع الخطوات الموضحة.
استوديو Android
لإتاحة واجهات برمجة التطبيقات لخدمات Google Play في تطبيقك:
- افتح الملف
build.gradle
داخل دليل وحدة التطبيق.ملاحظة: تحتوي مشاريع Android Studio على ملف
build.gradle
أعلى مستوى وملفbuild.gradle
لكل وحدة. تأكد من تعديل ملف وحدة التطبيق. اطّلِع على القسم Building Project with Gradle للحصول على مزيد من المعلومات حول Gradle. - تأكّد من تضمين
google()
فيrepositories
المدرَجة.repositories {
- إضافة قاعدة إصدار جديدة ضمن
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:21.3.0' }
احرص على تحديث رقم الإصدار هذا في كل مرة يتم فيها تحديث "خدمات Google Play".
ملاحظة: إذا تجاوز عدد مراجع الطرق في تطبيقك الحد الأقصى البالغ 65 ألف، قد يتعذّر تجميع تطبيقك. قد تتمكّن من الحدّ من هذه المشكلة عند تجميع تطبيقك من خلال تحديد واجهات برمجة التطبيقات المحدّدة التي يستخدمها تطبيقك على 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