জিওফেন্স রেজিস্টার করা

যখনই কোনও ফেন্সের স্ট্যাটাস পরিবর্তন হয়, তখনই আপনার অ্যাপ PendingIntent-এর মাধ্যমে একটি কলব্যাক পায়। ব্যবহার করার আগে আপনার অ্যাপকে প্রতিটি জিওফেন্স রেজিস্টার করতে হবে।

বেড়া রেজিস্টার করুন

ফেন্স রেজিস্টার করতে, FenceClient ব্যবহার করুন, এবং FenceUpdateRequest তৈরি করতে, FenceClient.updateFences() ব্যবহার করুন। যোগ করার জন্য প্রতিটি ফেন্সের জন্য addFence() কল করুন।

ফেন্স রেজিস্টার ও আনরেজিস্টার করার জন্য নিম্নলিখিত বিষয়গুলি প্রয়োজন:

  • একটি Google Play Services API Client ইনস্ট্যান্স।
  • একটি 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);
         }
     });

পরবর্তী ধাপ: ফেন্স কলব্যাক ম্যানেজ করুন।