התחל בעבודה

במסמך הזה מוסבר איך להתחיל לפתח באמצעות Nearby Messages API ב-Android. ה-API של Nearby Messages הוא חלק מ-Google Play Services.

שלב 1: הורדת Google Play Services

ה-API של Nearby Messages זמין במכשירי Android עם Google Play Services בגרסה 7.8.0 ומעלה. במכשירים עם Android מגרסה 2.3 ואילך שמותקנת בהם אפליקציית חנות Google Play, מתקבלים עדכונים ל-Google Play Services באופן אוטומטי. כדי לבדוק איזו גרסה של Google Play Services מותקנת במכשיר, עוברים אל הגדרות > אפליקציות > Google Play Services.

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

  1. פותחים את Android SDK Manager.
  2. בקטע Appearance & Behavior > System Settings > Android SDK > SDK Tools (מראה והתנהגות > הגדרות מערכת > 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. לוחצים על המשך כדי להפעיל את ה-API.
  4. בדף פרטי כניסה, יוצרים מפתח 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: הגדרת הפרויקט

ב-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();
}

ה-API של Nearby Messages מחייב הסכמת משתמשים. בפעם הראשונה שמפעילים את האפשרות לפרסם או להירשם, מוצגת ב-Nearby תיבת דו-שיח לבחירת הצטרפות.