התחל בעבודה

במסמך הזה נסביר איך מתחילים לפתח באמצעות 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 Store מתקבלים עדכונים ל-Google Play Services באופן אוטומטי. כדי לבדוק איזו גרסה של Google Play Services מותקנת במכשיר, עוברים אל הגדרות > אפליקציות > Google Play Services.

מוודאים שספריית הלקוח העדכנית ביותר של Google Play Services מותקנת במארח הפיתוח:

  1. פותחים את Android SDK Manager.
  2. בקטע מראה והתנהגות > הגדרות מערכת > Android SDK > כלים של SDK, מוודאים שהחבילות הבאות מותקנות:

    • Google Play Services
    • Google Repository

שלב 2: קבלת חשבון Google

כדי להשתמש בממשקי ה-API של Nearby Messages, צריך חשבון Google. המטרה היא שתהיה לך, המפתח, אפשרות להפעיל את Nearby API בשלב הבא (לא יהיה צורך בחשבון Google של המשתמשים). אם כבר יש לכם חשבון, הכול מוכן. מומלץ גם ליצור חשבון Google נפרד למטרות בדיקה.

שלב 3: קבלת מפתח API

כדי להפעיל את Google Nearby Messages API ל-Android ולקבל מפתח API:

  1. נכנסים ל Google Developers Console.
  2. יוצרים או בוחרים פרויקט שבו רוצים לרשום את האפליקציה.
  3. לוחצים על Continue כדי להפעיל את ה-API.
  4. בדף Credentials, יוצרים מפתח Android חדש (ומגדירים את פרטי הכניסה ל-API).
    הערה: אם יש לכם מפתח Android קיים, תוכלו להשתמש בו.
  5. בתיבת הדו-שיח שנפתחת, מזינים את טביעת האצבע של 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
  6. מפתח ה-API החדש ל-Android מופיע ברשימת מפתחות ה-API של הפרויקט. מפתח API הוא מחרוזת של תווים, למשל:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

אחזור טביעת האצבע SHA1 של האישור

כדי ליצור מפתח API חדש לאפליקציה ל-Android, צריך את טביעת האצבע מסוג SHA1 של האישור שבו משתמשים כדי לחתום על קובץ ה-APK. אפשר להעביר הודעות רק בין אפליקציות שחתומים עליהן מפתחות API מאותו פרויקט.

כדי לקבל את טביעת האצבע הזו:

  1. מאתרים את המיקום של מאגר המפתחות.
  2. מריצים את הכלי keytool מ-JDK במסוף. לדוגמה, אם משתמשים במאגר המפתחות `debug`:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    הערה: הסיסמה של מאגר המפתחות לניפוי באגים היא android. ב-Mac OS וב-Linux, מאגר המפתחות לניפוי באגים נמצא בדרך כלל ב-~/.android/debug.keystore. ב-Windows, הוא בדרך כלל נמצא ב-%USERPROFILE%\.android\debug.keystore.

  4. הפלט של הפקודה keytool מכיל את טביעת האצבע של SHA1 לאישור.

שלב 4: מגדירים את הפרויקט

קל ליצור פרויקט ל-Nearby Messages API באמצעות Android Studio. פועלים לפי השלבים שמפורטים בקטע יצירת פרויקט כדי ליצור פרויקט חדש. ב-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, צריך לקבל הסכמה מהמשתמשים. בפעם הראשונה שתפעילו את הפעולה 'פרסום' או 'הרשמה', תוצג תיבת דו-שיח ב-Nearby עם בקשה להביע הסכמה.