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

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

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

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

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

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

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