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

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

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

הערה: 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.4.0'
        }
    

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

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

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

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

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

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

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

  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