הגדרה של פיתוח באמצעות Cast Application Framework (CAF) ל-Android

דרישות מוקדמות

ערכת Google Cast SDK ל-Android היא חלק מה-SDK של Google Play Services ולא צריך להוריד אותה בנפרד.

הערה: פלטפורמת Google Play Services מספקת גישה למגוון ממשקי API ליצירת מודעות, לאיסוף ניתוח נתונים, לאימות משתמשים, לשילוב מפות ועוד. למידע נוסף, ראו סקירה כללית של שירותי Google Play. חשוב לוודא שחבילת ה-APK הנכונה של Google Play Services מותקנת במכשיר של המשתמש, מכיוון שיכול להיות שהעדכונים לא יגיעו מיד לכל המשתמשים.

הוספת Google Play Services לפרויקט

בוחרים את סביבת הפיתוח הרצויה למטה ומוסיפים את Google Play Services לפרויקט על ידי ביצוע השלבים הבאים.

Android Studio

כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה שלכם:

  1. פותחים את הקובץ build.gradle בספרייה של מודול האפליקציה.

    הערה: פרויקטים ב-Android Studio מכילים קובץ build.gradle ברמה העליונה וקובץ build.gradle לכל מודול. הקפידו לערוך את הקובץ של המודול של האפליקציה. למידע נוסף על Gradle, ראו בניית הפרויקט באמצעות Gradle.

  2. צריך לוודא ש-google() נכלל ב-repositories המפורטים.
    repositories {
        google()
    }
    
  3. צריך להוסיף כלל build חדש בקטע 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.5.0'
        }
    

    חשוב לעדכן את מספר הגרסה הזה בכל פעם ש-Google Play Services מתעדכנים.

    הערה: אם מספר ההפניות ל-methods באפליקציה חורג מהמגבלה של 65,000, יכול להיות שלא תהיה אפשרות לבצע הידור (compile) באפליקציה. כדי לפתור את הבעיה הזו, אפשר לציין רק את ממשקי ה-API הספציפיים של Google Play Services שבהם נעשה שימוש באפליקציה, במקום את כולם. כדי ללמוד איך לעשות זאת, ראו הידור סלקטיבי של ממשקי API לקובץ ההפעלה.

  4. שומרים את השינויים ולוחצים על Sync Project with Gradle Files (סנכרון הפרויקט עם קובצי Gradle) בסרגל הכלים.

סביבת פיתוח משולבת (IDE) אחרת

כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה שלכם:

  1. מעתיקים את פרויקט הספרייה שבכתובת <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ למיקום שבו שמורים הפרויקטים של אפליקציות ל-Android.
  2. בפרויקט של האפליקציה, עיינו בפרויקט של ספריית שירותי Google Play. הסבר איך לעשות זאת מופיע במאמר הפניה לפרויקט ספרייה בשורת הפקודה.

    הערה: אתם צריכים להפנות לעותק של הספרייה שהעתקתם לסביבת הפיתוח, ואסור להפנות לספרייה ישירות מספריית Android SDK.

  3. לאחר שמוסיפים את ספריית Google Play Services כתלויה בפרויקט האפליקציה, פותחים את קובץ המניפסט של האפליקציה ומוסיפים את התג הבא כצאצא של הרכיב <application>:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

אחרי שמגדירים את הפרויקט כך שיתייחס לפרויקט הספרייה, אפשר להתחיל לפתח תכונות באמצעות ממשקי ה-API של Google Play Services.

יצירת חריג של 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