راه‌اندازی برای توسعه با «چارچوب برنامه Cast» (CAF) برای Android

پیش‌نیازها

«کیت توسعه نرم‌افزار Google Cast برای Android» بخشی از «کیت توسعه نرم‌افزار خدمات Google Play» است و نیازی به بارگیری جداگانه ندارد.

توجه: «خدمات Google Play» به شما امکان می‌دهد به مجموعه‌ای از میاناهای برنامه‌سازی کاربردی برای ساختن آگهی، جمع‌آوری تجزیه‌وتحلیل، اصالت‌سنجی کاربران، ادغام کردن نقشه‌ها، و بسیاری موارد دیگر دسترسی داشته باشید. برای اطلاعات بیشتر، نمای کلی خدمات Google Play را ببینید. مهم است که مطمئن شوید فایل APK خدمات Google Play صحیح در دستگاه کاربر نصب شده است زیرا ممکن است به‌روزرسانی‌ها بلافاصله به همه کاربران نرسد.

وارد کنید.

افزودن «خدمات Google Play» به پروژه

محیط توسعه خود را در زیر انتخاب کنید و با دنبال کردن مراحل ارائه‌شده، «خدمات Google Play» را به پروژه‌تان اضافه کنید.

استودیو Android

برای دردسترس قرار دادن «میاناهای برنامه‌سازی کاربردی خدمات Google Play» برای برنامه‌تان:

  1. فایل build.gradle را در دایرکتوری واحد برنامه باز کنید.

    توجه: پروژه‌های Android Studio حاوی فایل build.gradle سطح بالا و فایل build.gradle برای هر واحد هستند. حتماً فایل را برای واحد برنامه خود ویرایش کنید. برای اطلاعات بیشتر درباره Gradle، به ساخت پروژه با Gradle مراجعه کنید.

  2. تأیید کنید که google() در فهرست repositories قرار دارد.
    repositories {
        google()
    }
  3. قانون ساخت جدیدی در 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» که برنامه‌تان استفاده می‌کند، به‌جای همه آن‌ها، این مشکل را هنگام ترجمه برنامه‌تان کاهش دهید. برای کسب اطلاعات درباره نحوه انجام این کار، به انتخاباً کامپایل کردن میاناهای برنامه‌سازی کاربردی در فایل اجرایی مراجعه کنید.

  4. تغییرات را ذخیره کنید و در نوارابزار روی همگام‌سازی پروژه با فایل‌های Gradle کلیک کنید.

محیط توسعه یکپارچه دیگر

برای دردسترس قرار دادن میاناهای برنامه‌سازی کاربردی خدمات Google Play برای برنامه‌تان:

  1. پروژه کتابخانه را در <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ در مکانی که پروژه‌های برنامه Android را نگهداری می‌کنید کپی کنید.
  2. در پروژه برنامه‌تان، به پروژه کتابخانه خدمات Google Play ارجاع دهید. برای اطلاعات بیشتر درباره نحوه انجام این کار، ارجاع به پروژه کتابخانه در خط فرمان را ببینید.

    توجه: باید به نسخه‌ای از کتابخانه که در فضای کاری توسعه‌تان کپی کرده‌اید ارجاع دهید—نباید مستقیماً از دایرکتوری Android SDK به کتابخانه ارجاع دهید.

  3. پس‌از اینکه کتابخانه خدمات Google Play را به‌عنوان وابستگی برای پروژه برنامه‌تان اضافه کردید، فایل مانیفست برنامه‌تان را باز کنید و برچسب زیر را به‌عنوان فرزند عنصر <application> اضافه کنید:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

پس‌از راه‌اندازی پروژه برای ارجاع به پروژه کتابخانه، می‌توانید توسعه ویژگی‌ها را با میاناهای برنامه‌سازی کاربردی خدمات Google Play شروع کنید.

ایجاد استثنای Proguard

برای جلوگیری از اینکه ProGuard کلاس‌های موردنیاز را حذف کند، خطوط زیر را به فایل /proguard-project.txt اضافه کنید:

-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