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

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

Google Play পরিষেবাগুলি সেট আপ করুন৷

আপনার ক্লায়েন্ট অ্যাপ্লিকেশন লিখতে, Google Play পরিষেবা SDK ব্যবহার করুন, যেমন Google Play পরিষেবা SDK সেট আপ করুন । প্লে সার্ভিসেস লাইব্রেরিতে ইনস্ট্যান্স আইডি লাইব্রেরি রয়েছে।

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

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

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

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

টোকেন তৈরি করার জন্য Google Developers Console দ্বারা জেনারেট করা একটি Project ID প্রয়োজন৷

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>