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

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

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

הערה: Google Play Services מאפשרים לכם לגשת למגוון ממשקי API כדי ליצור מודעות, לאסוף נתונים אנליטיים, לאמת משתמשים, לשלב מפות ועוד. מידע נוסף זמין במאמר סקירה כללית של Google Play Services. חשוב לוודא שקובץ ה-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. מוסיפים כלל חדש לבנייה בקטע 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 Services מתעדכן.

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

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

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

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

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

    הערה: צריך להפנות לעותק של הספרייה שהעתקתם לסביבת העבודה לפיתוח, ולא להפנות לספרייה ישירות מהספרייה של 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