راه اندازی برای توسعه با Cast Application Framework (CAF) برای اندروید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
پیش نیازها
Google Cast SDK برای Android بخشی از SDK خدمات Google Play است و نیازی به دانلود جداگانه ندارد.
توجه : خدمات Google Play به شما امکان دسترسی به طیف وسیعی از APIها را برای ایجاد تبلیغات، جمعآوری تجزیه و تحلیل، احراز هویت کاربران، ادغام نقشهها و موارد دیگر میدهد. برای اطلاعات بیشتر، به نمای کلی خدمات Google Play مراجعه کنید. برای شما مهم است که مطمئن شوید APK خدمات Google Play صحیح روی دستگاه کاربر نصب شده است زیرا ممکن است بهروزرسانیها بلافاصله به همه کاربران نرسد.
خدمات Google Play را به پروژه خود اضافه کنید
محیط توسعه خود را در زیر انتخاب کنید و با دنبال کردن مراحل ارائه شده، خدمات Google Play را به پروژه خود اضافه کنید.
اندروید استودیو
برای در دسترس قرار دادن API خدمات 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.1.0'
}
مطمئن شوید که هر بار که سرویسهای Google Play بهروزرسانی میشوند، شماره نسخه را بهروزرسانی میکنید.
توجه: اگر تعداد مراجع روش در برنامه شما از حد 65 هزار بیشتر شود، ممکن است برنامه شما کامپایل نشود. ممکن است بتوانید این مشکل را هنگام کامپایل کردن برنامه خود با مشخص کردن APIهای خاص Google Play Services که برنامه شما استفاده می کند، به جای همه آنها، کاهش دهید. برای اطلاعات در مورد نحوه انجام این کار، به کامپایل انتخابی APIها در فایل اجرایی خود مراجعه کنید.
- تغییرات را ذخیره کنید و روی Sync Project with Gradle Files در نوار ابزار کلیک کنید.
IDE دیگر
برای در دسترس قرار دادن API خدمات 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" />
هنگامی که پروژه خود را برای ارجاع به پروژه کتابخانه تنظیم کردید، می توانید توسعه ویژگی ها را با API های خدمات Google Play شروع کنید.
یک استثنای Proguard ایجاد کنید
برای جلوگیری از حذف کلاس های مورد نیاز توسط ProGuard ، خطوط زیر را در قسمت اضافه کنید /proguard-project.txt
فایل /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
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eEnsure you have the latest Android SDK, appcompat, mediarouter AndroidX Libraries, and Google Cast SDK installed via the Android SDK Manager.\u003c/p\u003e\n"],["\u003cp\u003eAdd Google Play Services to your project by modifying your \u003ccode\u003ebuild.gradle\u003c/code\u003e file (Android Studio) or referencing the library project and updating the manifest (Other IDEs).\u003c/p\u003e\n"],["\u003cp\u003eIf using ProGuard, include specific exceptions in your configuration file to prevent the removal of necessary Google Play services classes.\u003c/p\u003e\n"]]],[],null,["# Setup for Developing with the Cast Application Framework (CAF) for Android\n\nPrerequisites\n-------------\n\n- Install the latest version of the Android SDK using the [Android SDK\n Manager](//developer.android.com/tools/help/sdk-manager.html).\n- Install the latest version of the appcompat and mediarouter [AndroidX\n Libraries](//developer.android.com/jetpack/androidx) through the [Android SDK\n Manager](//developer.android.com/tools/help/sdk-manager.html).\n- Install the latest [Cast SDK in Google Play\n services](//developer.android.com/google/play-services/setup.html) through the [Android SDK\n Manager](//developer.android.com/tools/help/sdk-manager.html).\n\nThe Google Cast SDK for Android is part of the Google Play services SDK and does\nnot need to be downloaded separately.\n\n**Note** : Google Play services gives you access to a [range of\nAPIs](/android) for building ads, collecting analytics, authenticating users,\nintegrating maps, and much more. For more information, see [Overview of Google Play\nServices](/android/guides/overview).\nIt is important for you to [ensure that the correct Google Play services APK is\ninstalled](/android/guides/setup#ensure_devices_have_the_google_play_services_apk)\non a user's device since updates might not reach all users immediately.\n| **Note:** Since the libraries contribute resources, you cannot simply satisfy the dependencies by including their JAR files; instead you need to [import them as\n| library\n| projects](//developer.android.com/tools/support-library/setup.html#libs-with-res) for your IDE.\n\nAdd Google Play Services to your project\n----------------------------------------\n\n\nSelect your development environment below and add Google Play services to your project by\nfollowing the steps provided. \n\n### Android Studio\n\nTo make the Google Play services APIs available to your app:\n\n1. Open the `build.gradle` file inside your application module directory.\n\n **Note:** Android Studio projects contain a top-level\n `build.gradle` file and a `build.gradle` file for each module. Be sure to\n edit the file for your application module. See\n [Building Your Project with Gradle](//developer.android.com/sdk/installing/studio-build.html) for more information about Gradle.\n2. Verify that `google()` is included in the listed `repositories`. \n\n repositories {\n google()\n }\n\n3. Add a new build rule under `dependencies` for the latest version of `play-services`. For example: \n\n ```carbon\n apply plugin: 'com.android.application'\n ...\n\n dependencies {\n implementation 'androidx.appcompat:appcompat:1.3.1'\n implementation 'androidx.mediarouter:mediarouter:1.2.5'\n implementation 'com.google.android.gms:play-services-cast-framework:22.1.0'\n }\n ```\n\n Be sure you update this version number each time Google Play services is updated.\n\n **Note:** If the number of method references in your app exceeds the\n [65K limit](//developer.android.com/tools/building/multidex.html), your app may fail to\n compile. You may be able to mitigate this problem when compiling your app by specifying only\n the specific Google Play services APIs your app uses, instead of all of them. For information\n on how to do this, see\n [Selectively compiling APIs into your executable](/android/guides/setup#split).\n4. Save the changes and click **Sync Project with Gradle Files** in the toolbar.\n\n### Other IDE\n\nTo make the Google Play services APIs available to your app:\n\n1. Copy the library project at `\u003candroid-sdk\u003e/extras/google/google_play_services/libproject/google-play-services_lib/` to the location where you maintain your Android app projects.\n2. In your app project, reference the Google Play services library project. See [Referencing a Library Project on the Command Line](//developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject) for more information on how to do this.\n\n **Note:** You should be referencing a copy of the library that you\n copied to your development workspace---you should not reference the library directly from the\n Android SDK directory.\n3. After you've added the Google Play services library as a dependency for your app project, open your app's manifest file and add the following tag as a child of the [`\u003capplication\u003e`](//developer.android.com/guide/topics/manifest/application-element.html) element: \n\n ```transact-sql\n \u003cmeta-data android:name=\"com.google.android.gms.version\"\n android:value=\"@integer/google_play_services_version\" /\u003e\n ```\n\nOnce you've set up your project to reference the library project, you can begin developing\nfeatures with the\n[Google Play services APIs](/android/reference/com/google/android/gms/package-summary).\n\n#### Create a Proguard exception\n\nTo prevent\n[ProGuard](//developer.android.com/tools/help/proguard.html) from stripping away\nrequired classes, add the following lines in the\n/proguard-project.txt file: \n\n```carbon\n-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {\n public static final *** NULL;\n}\n\n-keepnames class * implements android.os.Parcelable\n-keepclassmembers class * implements android.os.Parcelable {\n public static final *** CREATOR;\n}\n\n-keep @interface android.support.annotation.Keep\n-keep @android.support.annotation.Keep class *\n-keepclasseswithmembers class * {\n @android.support.annotation.Keep \u003cfields\u003e;\n}\n-keepclasseswithmembers class * {\n @android.support.annotation.Keep \u003cmethods\u003e;\n}\n\n-keep @interface com.google.android.gms.common.annotation.KeepName\n-keepnames @com.google.android.gms.common.annotation.KeepName class *\n-keepclassmembernames class * {\n @com.google.android.gms.common.annotation.KeepName *;\n}\n\n-keep @interface com.google.android.gms.common.util.DynamiteApi\n-keep public @com.google.android.gms.common.util.DynamiteApi class * {\n public \u003cfields\u003e;\n public \u003cmethods\u003e;\n}\n\n-dontwarn android.security.NetworkSecurityPolicy\n```"]]