האפליקציה מקבלת קריאה חוזרת (callback) עד PendingIntent
בכל פעם שמצב הגדר משתנה. כדי להשתמש בגדר, האפליקציה צריכה לרשום אותה.
רישום גדר
כדי לרשום גדר, צריך להשתמש ב-FenceClient
ולבנות FenceUpdateRequest
את FenceClient.updateFences()
.
יש להתקשר אל addFence()
לכל גדר כדי להוסיף.
יש לבצע את הפעולות הבאות כדי לרשום גדר ולבטל את הרישום שלו:
- מכונה של לקוח API של Google Play Services.
- מופע
AwarenessFence
, שהוא הגבול עצמו. PendingIntent
לטיפול בשינויים במצב.- מפתח גדר, שהוא מחרוזת המזהה את הגדר ומבצעת מיפוי לצמד
AwarenessFence
-PendingIntent
.
בדוגמה הבאה מוצגת השיטה שקוראת ל-updateFences()
לרישום גדר:
Awareness.getFenceClient(this).updateFences(new FenceUpdateRequest.Builder()
.addFence(FENCE_KEY, exercisingWithHeadphonesFence, mPendingIntent)
.build())
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.i(TAG, "Fence was successfully registered.");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "Fence could not be registered: " + e);
}
});
כדי ליצור גדרות מרובות עם מפתחות גדר ייחודיים, התקשרו ל-addFence()
כמה פעמים. אפשר להשתמש בכמה שיטות PendingIntent
שרוצים, אבל עדיף להשתמש ב-PendingIntent
יחיד לכל הקריאות לגדרות. אם אתם משתמשים במפתח גדר שכבר נרשם כדי להתקשר למספר addFence()
, הערכים AwarenessFence
ו-PendingIntent
יוחלפו במפתח הזה.
ביטול הרישום של גדר
כדי לבטל את ההרשמה לגדר, צריך לבצע קריאה ל-getFenceClient().updateFences()
ולהשתמש ב-FenceUpdateRequest.Builder()
כדי ליצור בקשה לעדכון גדר. לאחר מכן צריך לקרוא לפונקציה removeFence()
, כמו בדוגמה הבאה:
Awareness.getFenceClient(this).updateFences(new FenceUpdateRequest.Builder()
.removeFence(FENCE_KEY)
.build())
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.i(TAG, "Fence was successfully unregistered.");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "Fence could not be unregistered: " + e);
}
});
השלב הבא: ניהול קריאות חוזרות לגדרות.