Aplikasi Anda menerima callback oleh PendingIntent
setiap kali status pagar
berubah. Aplikasi Anda harus mendaftarkan setiap pagar sebelum dapat digunakan.
Mendaftarkan pagar
Untuk mendaftarkan pagar, gunakan
FenceClient
,
dan untuk membuat FenceUpdateRequest
,
gunakan FenceClient.updateFences()
.
Panggil addFence()
untuk setiap pagar yang akan ditambahkan.
Hal berikut diperlukan untuk mendaftarkan dan membatalkan pendaftaran pagar:
- Instance Klien Google Play Services API.
- Instance
AwarenessFence
, yang merupakan pagar itu sendiri. PendingIntent
untuk menangani perubahan status.- Kunci pagar, yang merupakan string yang mengidentifikasi pagar dan dipetakan ke
pasangan
AwarenessFence
-PendingIntent
.
Contoh kode berikut menunjukkan metode yang memanggil updateFences()
untuk
mendaftarkan pagar:
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);
}
});
Untuk membuat beberapa pagar dengan kunci pagar yang unik, panggil addFence()
beberapa kali. Anda dapat menggunakan metode PendingIntent
sebanyak yang diperlukan, tetapi sebaiknya
gunakan satu PendingIntent
untuk semua callback pagar. Jika Anda
menggunakan kunci pagar yang telah terdaftar untuk memanggil addFence()
, nilai
AwarenessFence
dan PendingIntent
akan ditimpa untuk kunci tersebut.
Membatalkan pendaftaran pagar
Untuk membatalkan pendaftaran pagar, panggil
getFenceClient().updateFences()
,
dan gunakan FenceUpdateRequest.Builder()
untuk membuat permintaan pembaruan pagar. Kemudian, panggil removeFence()
, seperti
yang ditunjukkan pada contoh berikut:
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);
}
});
Langkah berikutnya: Kelola callback pagar.