דרישות מוקדמות
- מתקינים את הגרסה העדכנית של ה-SDK ל-Android באמצעות Android SDK Manager.
- באמצעות Android SDK Manager, מתקינים את הגרסה העדכנית של ה-AndroidX Libraries של appcompat וה-mediarouter.
- אפשר להתקין את הגרסה העדכנית ביותר של ה-SDK להפעלת Cast בשירותי Google Play באמצעות Android SDK Manager.
ערכת 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 יהיו זמינים לאפליקציה שלכם:
- פותחים את הקובץ
build.gradle
בספרייה של מודול האפליקציה.הערה: פרויקטים ב-Android Studio מכילים קובץ
build.gradle
ברמה העליונה וקובץbuild.gradle
לכל מודול. הקפידו לערוך את הקובץ של המודול של האפליקציה. למידע נוסף על Gradle, ראו בניית הפרויקט באמצעות Gradle. - צריך לוודא ש-
google()
נכלל ב-repositories
המפורטים.repositories {
- צריך להוסיף כלל 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 לקובץ ההפעלה.
- שומרים את השינויים ולוחצים על Sync Project with Gradle Files (סנכרון הפרויקט עם קובצי Gradle) בסרגל הכלים.
סביבת פיתוח משולבת (IDE) אחרת
כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה שלכם:
- מעתיקים את פרויקט הספרייה שבכתובת
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
למיקום שבו שמורים הפרויקטים של אפליקציות ל-Android. - בפרויקט של האפליקציה, עיינו בפרויקט של ספריית שירותי Google Play. הסבר איך לעשות זאת מופיע במאמר
הפניה לפרויקט ספרייה בשורת הפקודה.
הערה: אתם צריכים להפנות לעותק של הספרייה שהעתקתם לסביבת הפיתוח, ואסור להפנות לספרייה ישירות מספריית Android SDK.
- לאחר שמוסיפים את ספריית 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 להסיר את המחלקות הנדרשות, מוסיפים את השורות הבאות בקובץ
:
-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