במאמר הזה מוסבר איך להתחיל לפתח באמצעות Awareness API ב-Android. Awareness API הוא חלק מ-Google Play Services.
כדי להשתמש ב-Awareness API, צריך חשבון Google. אם כבר יש לכם חשבון, אתם מוכנים. יכול להיות שתרצו גם חשבון Google נפרד למטרות בדיקה.
לפני שמתחילים
קבלת מפתח API
אם עדיין לא הפעלתם את Awareness API וקיבלתם מפתח Google API, בצעו את השלבים שמפורטים בקטע הרשמה ומפתחות API.
הגדרת האפליקציה
בקובץ
build.gradleברמת הפרויקט, צריך לכלול את מאגר ה-Maven של Google בקטעיםbuildscriptו-allprojects:buildscript { repositories { google() } } allprojects { repositories { google() } }מוסיפים את יחסי התלות של Awareness API לקובץ Gradle ברמת האפליקציה של המודול, שבדרך כלל נמצא ב-
app/build.gradle:dependencies { implementation 'com.google.android.gms:play-services-awareness:20.0.0' }מוסיפים את מפתח 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>
מוסיפים את ההרשאות הנדרשות לקובץ
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: