דרישות מוקדמות
- מתקינים את הגרסה האחרונה של Android SDK באמצעות Android SDK Manager.
- מתקינים את הגרסה האחרונה של ספריות AndroidX של appcompat ו-mediarouter דרך Android SDK Manager.
- מתקינים את הגרסה האחרונה של Cast SDK ב-Google Play Services דרך Android SDK Manager.
Google Cast SDK ל-Android הוא חלק מ-Google Play Services SDK ואין צורך להוריד אותו בנפרד.
הערה: Google Play Services מאפשרת לכם לגשת למגוון ממשקי API כדי ליצור מודעות, לאסוף נתונים אנליטיים, לאמת משתמשים, לשלב מפות ועוד. מידע נוסף זמין במאמר סקירה כללית של Google Play Services. חשוב לוודא שקובץ ה-APK הנכון של Google Play Services מותקן במכשיר של המשתמש, כי יכול להיות שהעדכונים לא יגיעו לכל המשתמשים באופן מיידי.
הוספת Google Play Services לפרויקט
בוחרים את סביבת הפיתוח שלכם למטה ומוסיפים את שירותי Google Play לפרויקט שלכם באמצעות השלבים שמופיעים בהמשך.
Android Studio
כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה שלכם:
- פותחים את הקובץ
build.gradle
בתוך ספריית מודול האפליקציה.הערה: פרויקטים ב-Android Studio מכילים קובץ
build.gradle
ברמה העליונה וקובץbuild.gradle
לכל מודול. חשוב לערוך את הקובץ עבור מודול האפליקציה. מידע נוסף על Gradle זמין במאמר בנושא בניית הפרויקט באמצעות Gradle. - מוודאים ש-
google()
נכלל ברשימה שלrepositories
.repositories {
- מוסיפים כלל בנייה חדש בקטע
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.1.0' }
חשוב לעדכן את מספר הגרסה הזה בכל פעם ש-Google Play Services מתעדכן.
הערה: אם מספר ההפניות לשיטות באפליקציה שלכם חורג מהמגבלה של 65,000, יכול להיות שהאפליקציה לא תעבור קומפילציה. אפשר לציין רק את ממשקי ה-API הספציפיים של Google Play Services שבהם האפליקציה משתמשת, במקום את כולם, וכך לצמצם את הבעיה הזו כשמבצעים קומפילציה של האפליקציה. למידע על אופן הפעולה, קראו את המאמר Selectively compiling APIs into your executable.
- שומרים את השינויים ולוחצים על סנכרון הפרויקט עם קובצי Gradle בסרגל הכלים.
סביבת פיתוח משולבת אחרת
כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה שלכם:
- מעתיקים את פרויקט הספרייה בנתיב
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
למיקום שבו מאוחסנים פרויקטים של אפליקציות ל-Android. - בפרויקט האפליקציה, יוצרים הפניה לפרויקט הספרייה של שירותי Google Play. מידע נוסף על אופן הפעולה מופיע במאמר
הפניה לפרויקט של ספרייה בשורת הפקודה.
הערה: צריך להפנות לעותק של הספרייה שהעתקתם לסביבת העבודה לפיתוח, ולא להפנות לספרייה ישירות מהספרייה של Android SDK.
- אחרי שמוסיפים את ספריית שירותי Google Play כהסתמכות לפרויקט האפליקציה, פותחים את קובץ המניפסט של האפליקציה ומוסיפים את התג הבא כצאצא של הרכיב
<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