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

যখনই কোনও বেড়ার অবস্থা পরিবর্তন হয়, তখন আপনার অ্যাপটি 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() কল করার জন্য ইতিমধ্যেই নিবন্ধিত একটি fence কী ব্যবহার করেন, তাহলে 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);
         }
     });

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