يتلقى تطبيقك معاودة الاتصال بحلول PendingIntent
كلما تغيّرت حالة السياج. يجب أن يسجِّل تطبيقك كل السياج قبل استخدامه.
تسجيل سياج
لتسجيل السياج، استخدِم
FenceClient
،
ولإنشاء FenceUpdateRequest
،
استخدِم FenceClient.updateFences()
.
اتصل بـ addFence()
لكل سياج لإضافته.
يجب استيفاء الشروط التالية لتسجيل السياج أو إلغاء تسجيله:
- مثيل عميل واجهة برمجة تطبيقات خدمات Google Play
- مثيل
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);
}
});
الخطوة التالية: إدارة عمليات معاودة الاتصال في السياج.