הגדרה של פיתוח באמצעות 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. מוסיפים כלל 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:22.0.0'
        }

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

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

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

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

כדי להפוך את ממשקי ה-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