בוא נתחיל

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

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

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

קבלת מפתח API

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

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

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

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

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

    <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: