একটি বেড়া নিবন্ধন

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

একটি বেড়া নিবন্ধন করুন

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

একটি বেড়া নিবন্ধন এবং নিবন্ধন বাতিল করার জন্য নিম্নলিখিত বিষয়গুলো প্রয়োজন:

  • একটি গুগল প্লে সার্ভিসেস এপিআই ক্লায়েন্ট ইনস্ট্যান্স।
  • একটি 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);
         }
     });

পরবর্তী ধাপ: ফেন্স কলব্যাকগুলো পরিচালনা করুন