অ্যান্ড্রয়েড বাস্তবায়ন

নিম্নলিখিত উদাহরণগুলি আপনাকে একটি Android ক্লায়েন্টে Instance ID বাস্তবায়নে সাহায্য করবে। মনে রাখবেন যে এই উদাহরণগুলি GCM স্কোপ ব্যবহার করে, যা শুধুমাত্র প্রদর্শনের উদ্দেশ্যে কার্যকর কারণ Google Cloud Messaging ব্যবহার থেকে অবসর নেওয়া হয়েছে।

গুগল প্লে পরিষেবা সেট আপ করুন

আপনার ক্লায়েন্ট অ্যাপ্লিকেশন লিখতে, Google Play services SDK ব্যবহার করুন, যেমনটি "Set up Google Play Services SDK" এ বর্ণিত হয়েছে। Play Services লাইব্রেরিতে Instance ID লাইব্রেরি অন্তর্ভুক্ত থাকে।

একটি ইনস্ট্যান্স আইডি পান

নিম্নলিখিত কোড লাইনটি একটি ইনস্ট্যান্স আইডি প্রদান করে:

String iid = InstanceID.getInstance(context).getId();

একটি টোকেন তৈরি করুন

টোকেন তৈরি করতে গুগল ডেভেলপারস কনসোল দ্বারা তৈরি একটি প্রজেক্ট আইডি প্রয়োজন।

String authorizedEntity = PROJECT_ID; // Project id from Google Developer Console
String scope = "GCM"; // e.g. communicating using GCM, but you can use any
                      // URL-safe characters up to a maximum of 1000, or
                      // you can also leave it blank.
String token = InstanceID.getInstance(context).getToken(authorizedEntity,scope);

টোকেন এবং ইনস্ট্যান্স আইডি পরিচালনা করুন

ইনস্ট্যান্স আইডি আপনাকে টোকেনগুলি মুছে ফেলতে এবং রিফ্রেশ করতে দেয়।

টোকেন এবং ইনস্ট্যান্স আইডি মুছে ফেলুন

String authorizedEntity = PROJECT_ID;
String scope = "GCM";
InstanceID.getInstance(context).deleteToken(authorizedEntity,scope);

আপনি ইনস্ট্যান্স আইডি নিজেই মুছে ফেলতে পারেন, সমস্ত সংশ্লিষ্ট টোকেন সহ। পরের বার যখন আপনি getInstance() কল করবেন তখন আপনি একটি নতুন ইনস্ট্যান্স আইডি পাবেন:

InstanceID.getInstance(context).deleteInstanceID();
String newIID = InstanceID.getInstance(context).getId();

টোকেন রিফ্রেশ করুন

ইনস্ট্যান্স আইডি পরিষেবাটি পর্যায়ক্রমে কলব্যাক শুরু করে (উদাহরণস্বরূপ, প্রতি 6 মাস অন্তর), আপনার অ্যাপটিকে তার টোকেনগুলি রিফ্রেশ করার অনুরোধ করে। এটি কলব্যাক শুরু করতে পারে যখন:

  • নিরাপত্তা সংক্রান্ত সমস্যা আছে; উদাহরণস্বরূপ, SSL বা প্ল্যাটফর্ম সংক্রান্ত সমস্যা।
  • ডিভাইসের তথ্য আর বৈধ নয়; উদাহরণস্বরূপ, ব্যাকআপ এবং পুনরুদ্ধার।
  • অন্যথায়, ইনস্ট্যান্স আইডি পরিষেবা প্রভাবিত হয়।

এই কলব্যাকগুলি পেতে আপনার অ্যাপে ইনস্ট্যান্স আইডি লিসেনার পরিষেবাটি প্রয়োগ করুন:

public class MyInstanceIDService extends InstanceIDListenerService {
  public void onTokenRefresh() {
    refreshAllTokens();
  }

  private void refreshAllTokens() {
    // assuming you have defined TokenList as
    // some generalized store for your tokens
    ArrayList<TokenList> tokenList = TokensList.get();
    InstanceID iid = InstanceID.getInstance(this);
    for(tokenItem : tokenList) {
      tokenItem.token =
        iid.getToken(tokenItem.authorizedEntity,tokenItem.scope,tokenItem.options);
      // send this tokenItem.token to your server
    }
  }
};

আপনাকে প্রকল্পের জন্য ম্যানিফেস্ট ফাইলে এই পরিষেবাটি কনফিগার করতে হবে:

<service android:name=".MyInstanceIDService" android:exported="false">
  <intent-filter>
        <action android:name="com.google.android.gms.iid.InstanceID"/>
  </intent-filter>
</service>