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