במסמך הזה מוסבר איך להתחיל לפתח עם Nearby Messages API ב- Android. Nearby Messages API הוא חלק מ Google Play Services.
שלב 1: הורדת Google Play Services
Nearby Messages API זמין במכשירי Android עם Google Play Services 7.8.0 ומעלה. מכשירים עם Android 2.3 ומעלה, שמותקנת בהם גרסת Google אפליקציית חנות Play מקבלת באופן אוטומטי עדכונים של Google Play Services. כדי לבדוק איזו גרסה של Google Play Services מותקנת במכשיר שלכם, עוברים אל הגדרות > אפליקציות > Google Play Services
צריך לוודא שבמכשיר שלך מותקנת ספריית הלקוח העדכנית ביותר של Google Play Services מארח פיתוח:
- פותחים את מנהל ה-SDK של Android.
בקטע מראה ו התנהגות > הגדרות מערכת > Android SDK > SDK Tools מוודאים שהחבילות הבאות מותקנות:
- Google Play Services
- המאגר של Google
שלב 2: יצירת חשבון Google
כדי להשתמש בממשקי Nearby Messages API, צריך חשבון Google. זאת כדי שאתם, המפתחים, תוכלו להפעיל את Nearby API (המשתמשים שלכם לא יצטרכו חשבון Google). אם כבר יש לך חשבון, הכול מוכן. כדאי גם: חשבון Google נפרד למטרות בדיקה.
שלב 3: קבלת מפתח API
צריך לבצע את השלבים הבאים כדי להפעיל את ממשק ה-API של Google Nearby Messages ל-Android ולקבל מפתח API:
- עוברים אל Google Developers Console
- יוצרים או בוחרים פרויקט שבו רוצים לרשום את הבקשה.
- לוחצים על Continue (המשך) כדי להפעיל את ה-API.
- בדף Credentials, יוצרים מפתח Android חדש (ומגדירים את ה-API)
פרטי כניסה).
הערה: אם יש לכם מפתח Android קיים, תוכלו להשתמש בו. - בתיבת הדו-שיח שמתקבלת, מזינים את טביעת האצבע של SHA-1
ושם החבילה. מוצרים לדוגמה:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.nearbyexample
- מפתח ה-API החדש ל-Android יופיע ברשימת מפתחות ה-API של הפרויקט.
מפתח API הוא מחרוזת של תווים, בערך כך:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
קבלת טביעת אצבע SHA1 של האישור
כדי ליצור מפתח API חדש לאפליקציית Android, נדרשת טביעת אצבע SHA1 של האישור שבו אתם משתמשים כדי לחתום על ה-APK. אפשר רק לשלוח הודעות בין אפליקציות שנחתמו באמצעות מפתחות API מאותו הפרויקט.
כדי לקבל את טביעת האצבע הזו:
- מאתרים את המיקום של מאגר המפתחות.
- בטרמינל, מריצים את הכלי
keytool
מ-JDK. עבור לדוגמה, אם משתמשים במאגר המפתחות`debug`
: - הפלט של הפקודה
keytool
מכיל את האלגוריתם SHA1 טביעת אצבע על האישור.
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
הערה: למאגר המפתחות של ניפוי הבאגים, הסיסמה היא
android
. ב-Mac OS וב-Linux, מאגר המפתחות של ניפוי הבאגים הוא בדרך כלל
נמצא בכתובת ~/.android/
. ב-Windows, היא
בדרך כלל נמצא בכתובת %USERPROFILE%\
.
שלב 4: מגדירים את הפרויקט
עם Android Studio
קל ליצור פרויקט ל-Nearby Messages API. פועלים לפי השלבים שמתוארים
במאמר יצירת פרויקט
כדי ליצור פרויקט חדש. ב-Android Studio, פותחים את הקובץ build.gradle
של
את המודול ולהוסיף את ספריית הלקוח של Google Play Services כתלות:
apply plugin: 'android' ... dependencies { compile 'com.google.android.gms:play-services-nearby:19.3.0' }
לאחר מכן, מגדירים את המניפסט עם מפתח ה-API שנוצר בשלב הקודם:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.sample.app" >
<application ...>
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_KEY" />
<activity>
...
</activity>
</application>
</manifest>
שלב 5: מפרסמים ונרשמים
באפליקציה, מתחילים להשתמש ב-Nearby Messages API.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
mMessage = new Message("Hello World".getBytes());
}
@Override
public void onStart() {
super.onStart();
...
Nearby.getMessagesClient(this).publish(mMessage);
Nearby.getMessagesClient(this).subscribe(mMessageListener);
}
@Override
public void onStop() {
Nearby.getMessagesClient(this).unpublish(mMessage);
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
...
super.onStop();
}
נדרשת הסכמה מהמשתמשים לשימוש ב-Nearby Messages API. בעת פרסום או הרשמה כאשר יופעל בפעם הראשונה, תוצג בקרבת מקום תיבת דו-שיח להבעת הסכמה.