מתחילים

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

כדי להשתמש ב-Awareness API, צריך חשבון Google. אם כבר יש לכם חשבון, הכול מוכן. אולי תרצו גם חשבון Google נפרד למטרות בדיקה.

לפני שמתחילים

קבלת מפתח API

אם עדיין לא הפעלתם את Awareness API ולא קיבלתם מפתח Google API, אתם צריכים לבצע את השלבים במאמר הרשמה ומפתחות API.

הגדרת האפליקציה

  1. בקובץ build.gradle ברמת הפרויקט, צריך לכלול את מאגר Maven של Google בקטעים buildscript ו-allprojects:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. מוסיפים את התלויות של Awareness API לקובץ Gradle ברמת האפליקציה של המודול, שבדרך כלל נמצא בנתיב app/build.gradle:

    dependencies {
      implementation 'com.google.android.gms:play-services-awareness:19.1.0'
    }
    
  3. מוסיפים את מפתח Awareness API לקובץ AndroidManifest.xml של האפליקציה. כדי לעשות את זה, מוסיפים תג <meta-data> עם android:name="com.google.android.awareness.API_KEY". בשביל android:value, מוסיפים את מפתח ה-API של Awareness, מוקף במירכאות.

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.awareness.API_KEY"
                android:value="API_KEY"/>
        </application>
    </manifest>
  4. מוסיפים את ההרשאות הדרושות לקובץ AndroidManifest.xml של האפליקציה. ההרשאות הנדרשות משתנות בהתאם לשיטות ה-API ולסוגי הגדרות הגידור הגיאוגרפי שבהם האפליקציה משתמשת.

דוגמה לשיחה

בדוגמה הבאה של קריאה אל getDetectedActivity() אפשר לראות איך משתמשים במודל של Google Play Services ללא חיבור עם Awareness API:

    // Each type of contextual information in the snapshot API has a corresponding "get" method.
    // For instance, this is how to get the user's current Activity.
    Awareness.getSnapshotClient(this).getDetectedActivity()
        .addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
            @Override
            public void onSuccess(DetectedActivityResponse dar) {
                ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
                // getMostProbableActivity() is good enough for basic Activity detection.
                // To work within a threshold of confidence,
                // use ActivityRecognitionResult.getProbableActivities() to get a list of
                // potential current activities, and check the confidence of each one.
                DetectedActivity probableActivity = arr.getMostProbableActivity();

                int confidence = probableActivity.getConfidence();
                String activityStr = probableActivity.toString();
                mLogFragment.getLogView().println("Activity: " + activityStr
                    + ", Confidence: " + confidence + "/100");
            }
        })

השלבים הבאים

מידע נוסף על ממשקי ה-API השונים ב-Awareness API: