Google 致力于为黑人社区推动种族平等。查看具体举措
This page was translated by the Cloud Translation API.
Switch to English

অ্যান্ড্রয়েডে ফায়ারবেস ক্লাউড মেসেজিং ক্লায়েন্ট অ্যাপ সেট আপ করুন

আপনার Firebase ক্লাউড মেসেজিং অ্যান্ড্রয়েড ক্লায়েন্ট অ্যাপ্লিকেশন লিখতে, ব্যবহার FirebaseMessaging এপিআই এবং অ্যান্ড্রয়েড স্টুডিও 1.4 বা উচ্চতর Gradle সঙ্গে। এই পৃষ্ঠার নির্দেশাবলী ধরে নেওয়া যে আপনি অ্যান্ড্রয়েড প্রকল্পে ফায়ারবেস যুক্ত করার পদক্ষেপগুলি সম্পন্ন করেছেন।

এফসিএম ক্লায়েন্টদের অ্যান্ড্রয়েড 4..১ বা তার বেশি বর্ধিত ডিভাইসগুলির প্রয়োজন হয় যা গুগল প্লে স্টোর অ্যাপ্লিকেশন ইনস্টল করে থাকে বা গুগল এপিআই সহ অ্যান্ড্রয়েড ৪.১ চালাচ্ছে এমন একটি এমুলেটর। মনে রাখবেন যে আপনি গুগল প্লে স্টোরের মাধ্যমে আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি স্থাপনের মধ্যে সীমাবদ্ধ নন।

এসডিকে সেট আপ করুন

আপনি যদি ইতিমধ্যে আপনার অ্যাপ্লিকেশনের জন্য অন্য ফায়ারবেস বৈশিষ্ট্যগুলি সক্ষম করে থাকেন তবে এই বিভাগটি আপনার দ্বারা সম্পন্ন কাজগুলি কভার করে।

তুমি শুরু করার আগে

আপনার যদি ইতিমধ্যে কোনও অ্যান্ড্রয়েড প্রকল্প না থাকে এবং কেবল ফায়ারবেস পণ্য ব্যবহার করে দেখতে চান তবে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির মধ্যে একটি ডাউনলোড করতে পারেন।

ফায়ারবেস প্রকল্প তৈরি করুন

আপনি আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে ফায়ারবেস যুক্ত করার আগে আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনে সংযুক্ত হওয়ার জন্য আপনাকে ফায়ারবেস প্রকল্প তৈরি করতে হবে। ফায়ারবেস প্রকল্পগুলি সম্পর্কে আরও জানতে ফায়ারবেস প্রকল্পগুলি বুঝতে দেখুন Visit

ফায়ারবেস দিয়ে আপনার অ্যাপ্লিকেশন নিবন্ধন করুন

আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস ব্যবহার করতে আপনার ফায়ারবেস প্রকল্পের সাথে আপনার অ্যাপ্লিকেশনটি নিবন্ধিত করতে হবে। আপনার অ্যাপ্লিকেশনটিকে নিবন্ধভুক্ত করার জন্য প্রায়শই আপনার প্রকল্পে আপনার অ্যাপ্লিকেশনটিকে "যুক্ত" বলা হয়।

  1. ফায়ারবেস কনসোলে যান।

  2. প্রকল্পের ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো প্রবর্তন করতে অ্যান্ড্রয়েড আইকন ( ) বা অ্যাপ্লিকেশনটিতে ক্লিক করুন

  3. অ্যান্ড্রয়েড প্যাকেজ নাম ক্ষেত্রে আপনার অ্যাপের প্যাকেজের নাম লিখুন Enter

  4. (Alচ্ছিক) অন্যান্য অ্যাপ্লিকেশন তথ্য প্রবেশ করুন: অ্যাপ ডাকনাম এবং ডিবাগ স্বাক্ষর শংসাপত্র SHA-1

  5. অ্যাপ্লিকেশন রেজিস্টার ক্লিক করুন

একটি ফায়ারবেস কনফিগারেশন ফাইল যুক্ত করুন

  1. আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস অ্যান্ড্রয়েড কনফিগারেশন ফাইল যুক্ত করুন:

    1. আপনার ফায়ারবেস অ্যান্ড্রয়েড কনফিগারেশন ফাইল ( google-services.json ) পেতে google-Services.json ডাউনলোড করুন ক্লিক করুন

    2. আপনার অ্যাপ্লিকেশনটির মডিউল (অ্যাপ্লিকেশন-স্তর) ডিরেক্টরিতে আপনার কনফিগারেশন ফাইলটি সরান।

  2. আপনার অ্যাপে ফায়ারবেস পণ্য সক্ষম করতে, আপনার গ্রেডল ফাইলগুলিতে গুগল-পরিষেবা প্লাগইন যুক্ত করুন add

    1. আপনার রুট-লেভেল (প্রকল্প-স্তর) গ্রেডল ফাইল ( build.gradle ) এ, Google পরিষেবাদি গ্রেডল প্লাগইন অন্তর্ভুক্ত করার জন্য বিধিগুলি যুক্ত করুন। আপনারও গুগলের ম্যাভেন সংগ্রহস্থল রয়েছে কিনা তা পরীক্ষা করে দেখুন।

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.5'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. আপনার মডিউলে (অ্যাপ্লিকেশন-স্তর) গ্রেডল ফাইল (সাধারণত app/build.gradle ), Google পরিষেবাদি গ্রেডল প্লাগইন প্রয়োগ করুন:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

আপনার অ্যাপে ফায়ারবেস এসডিকে যুক্ত করুন

  1. ফায়ারবেস অ্যান্ড্রয়েড BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ্লিকেশন-স্তর) গ্রেড ফাইল (সাধারণত app/build.gradle . app/build.gradle ) app/build.gradle ক্লাউড মেসেজিং অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা ঘোষণা করুন।

    ফায়ারবেস ক্লাউড মেসেজিংয়ের সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার প্রকল্পে গুগল অ্যানালিটিকাগুলি সক্ষম করার পরামর্শ দিচ্ছি। এছাড়াও, অ্যানালিটিকাগুলি সেট করার অংশ হিসাবে আপনার অ্যাপ্লিকেশনটিতে আপনাকে Google অ্যানালিটিকাদের জন্য ফায়ারবেস এসডিকে যুক্ত করতে হবে।

    জাভা

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:27.0.0')
    
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    ফায়ারবেস অ্যান্ড্রয়েড BoM ব্যবহার করে, আপনার অ্যাপ্লিকেশন সর্বদা ফায়ারবেস অ্যান্ড্রয়েড লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) বিওএম ব্যবহার না করে ফায়ারবেস লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি ফায়ারবেস BoM ব্যবহার না করা চয়ন করেন তবে আপনাকে অবশ্যই প্রতিটি ফায়ারবেস লাইব্রেরি সংস্করণকে তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।

    মনে রাখবেন যে আপনি যদি আপনার অ্যাপ্লিকেশনটিতে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন তবে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে BoM ব্যবহার করার জন্য সুপারিশ করি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।

    dependencies {
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging:21.1.0'
        implementation 'com.google.firebase:firebase-analytics:18.0.3'
    }
    

    কোটলিন + কেটিএক্স

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:27.0.0')
    
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    ফায়ারবেস অ্যান্ড্রয়েড BoM ব্যবহার করে, আপনার অ্যাপ্লিকেশন সর্বদা ফায়ারবেস অ্যান্ড্রয়েড লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) বিওএম ব্যবহার না করে ফায়ারবেস লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি ফায়ারবেস BoM ব্যবহার না করা চয়ন করেন তবে আপনাকে অবশ্যই প্রতিটি ফায়ারবেস লাইব্রেরি সংস্করণকে তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।

    মনে রাখবেন যে আপনি যদি আপনার অ্যাপ্লিকেশনটিতে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন তবে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে BoM ব্যবহার করার জন্য সুপারিশ করি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।

    dependencies {
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx:21.0.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:18.0.3'
    }
    

  2. সমস্ত নির্ভরতার প্রয়োজনীয় সংস্করণ রয়েছে তা নিশ্চিত করতে আপনার অ্যাপ সিঙ্ক করুন।

আপনার অ্যাপ্লিকেশন ম্যানিফেস্ট সম্পাদনা করুন

আপনার অ্যাপ্লিকেশনটির ম্যানিফেস্টে নিম্নলিখিতটি যুক্ত করুন:

  • এমন একটি পরিষেবা যা FirebaseMessagingService প্রসারিত করে। আপনি যদি পটভূমিতে অ্যাপগুলিতে বিজ্ঞপ্তি পাওয়ার বাইরে কোনও বার্তা পরিচালনা করতে চান তবে এটি প্রয়োজন if অগ্রভাগযুক্ত অ্যাপ্লিকেশনগুলিতে বিজ্ঞপ্তিগুলি পেতে, ডেটা পেলোড গ্রহণ করতে, প্রবাহিত বার্তাগুলি প্রেরণ করতে এবং এই জাতীয়, আপনাকে অবশ্যই এই পরিষেবাটি প্রসারিত করতে হবে।
  • <service
        android:name=".java.MyFirebaseMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
  • (Ptionচ্ছিক) অ্যাপ্লিকেশন উপাদানটির মধ্যে, একটি ডিফল্ট বিজ্ঞপ্তি আইকন এবং রঙ সেট করতে মেটাডেটা উপাদান। যখনই আগত বার্তাগুলি স্পষ্টভাবে আইকন বা রঙ সেট না করে অ্যান্ড্রয়েড এই মানগুলি ব্যবহার করে।
  • <!-- Set custom default icon. This is used when no icon is set for incoming notification messages.
         See README(https://goo.gl/l4GJaQ) for more. -->
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_stat_ic_notification" />
    <!-- Set color used with incoming notification messages. This is used when no color is set for the incoming
         notification message. See README(https://goo.gl/6BKBk7) for more. -->
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />
  • (Ptionচ্ছিক) অ্যান্ড্রয়েড 8.0 (এপিআই স্তর 26) এবং উচ্চতর থেকে,বিজ্ঞপ্তি চ্যানেলগুলি সমর্থিত এবং প্রস্তাবিত। এফসিএম প্রাথমিক সেটিংস সহ একটি ডিফল্ট বিজ্ঞপ্তি চ্যানেল সরবরাহ করে। আপনি যদি নিজের নিজস্ব ডিফল্ট চ্যানেল তৈরি করতে এবং ব্যবহার করতে পছন্দ করেন তবে প্রদর্শিত বিজ্ঞপ্তি চ্যানেল অবজেক্টের আইডিতে default_notification_channel_id সেট করুন; যখনই আগত বার্তাগুলি স্পষ্টভাবে কোনও বিজ্ঞপ্তি চ্যানেল সেট না করে এফসিএম এই মানটি ব্যবহার করবে। আরও জানতে,বিজ্ঞপ্তি চ্যানেলগুলি পরিচালনা করুন দেখুন।
  • <meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="@string/default_notification_channel_id" />

ডিভাইস নিবন্ধকরণ টোকেন অ্যাক্সেস করুন

আপনার অ্যাপ্লিকেশনটির প্রারম্ভিক সময়ে, FCM SDK ক্লায়েন্ট অ্যাপ্লিকেশনটির জন্য একটি নিবন্ধকরণ টোকেন উত্পন্ন করে। আপনি যদি একক ডিভাইসগুলি লক্ষ্যবস্তু করতে চান বা ডিভাইস গোষ্ঠী তৈরি করতে চান তবে আপনাকে FirebaseMessagingService প্রসারিত করে এবং onNewToken ওভাররাইড করে এই টোকেনটি অ্যাক্সেস করতে হবে।

এই বিভাগটি কীভাবে টোকেনটি পুনরুদ্ধার করবেন এবং কীভাবে টোকেনের পরিবর্তনগুলি নিরীক্ষণ করবেন তা বর্ণনা করে। প্রাথমিক সূচনার পরে টোকনটি ঘোরানো যেতে পারে তাই আপনার সর্বশেষ আপডেট হওয়া নিবন্ধকরণ টোকেনটি পুনরুদ্ধার করার জন্য দৃ strongly়ভাবে প্রস্তাব দেওয়া হচ্ছে।

নিবন্ধকরণ টোকেন পরিবর্তন হতে পারে যখন:

  • অ্যাপ্লিকেশনটি একটি নতুন ডিভাইসে পুনরুদ্ধার করা হয়েছে
  • ব্যবহারকারী অ্যাপটি আনইনস্টল / পুনরায় ইনস্টল করে
  • ব্যবহারকারী অ্যাপ্লিকেশন ডেটা সাফ করে।

বর্তমান নিবন্ধকরণ টোকেন পুনরুদ্ধার করুন

যখন আপনাকে বর্তমান টোকেনটি পুনরুদ্ধার করতে হবে তখন FirebaseMessaging.getInstance().getToken() :

জাভা

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
          if (!task.isSuccessful()) {
            Log.w(TAG, "Fetching FCM registration token failed", task.getException());
            return;
          }

          // Get new FCM registration token
          String token = task.getResult();

          // Log and toast
          String msg = getString(R.string.msg_token_fmt, token);
          Log.d(TAG, msg);
          Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

কোটলিন + কেটিএক্স

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
    if (!task.isSuccessful) {
        Log.w(TAG, "Fetching FCM registration token failed", task.exception)
        return@OnCompleteListener
    }

    // Get new FCM registration token
    val token = task.result

    // Log and toast
    val msg = getString(R.string.msg_token_fmt, token)
    Log.d(TAG, msg)
    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})

টোকেন প্রজন্মকে পর্যবেক্ষণ করুন

যখনই কোনও নতুন টোকেন উত্পন্ন হয় তখন onNewToken কলব্যাক জ্বলে onNewToken

জাভা

/**
 * There are two scenarios when onNewToken is called:
 * 1) When a new token is generated on initial app startup
 * 2) Whenever an existing token is changed
 * Under #2, there are three scenarios when the existing token is changed:
 * A) App is restored to a new device
 * B) User uninstalls/reinstalls the app
 * C) User clears app data
 */
@Override
public void onNewToken(String token) {
    Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

কোটলিন + কেটিএক্স

/**
 * Called if the FCM registration token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the
 * FCM registration token is initially generated so this is where you would retrieve the token.
 */
override fun onNewToken(token: String) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token)
}

আপনি টোকেনটি পাওয়ার পরে, আপনি এটি আপনার অ্যাপ্লিকেশন সার্ভারে প্রেরণ করতে এবং আপনার পছন্দসই পদ্ধতিটি ব্যবহার করে এটি সঞ্চয় করতে পারেন।

গুগল প্লে পরিষেবাগুলির জন্য পরীক্ষা করুন

অ্যাপ্লিকেশনগুলি যা প্লে পরিষেবাদি এসডিকে নির্ভর করে তাদের সবসময় গুগল প্লে পরিষেবা বৈশিষ্ট্য অ্যাক্সেস করার আগে একটি উপযুক্ত গুগল প্লে পরিষেবাদি APK এর জন্য ডিভাইসটি চেক করা উচিত। এটি দুটি স্থানে করার পরামর্শ দেওয়া হয়: মূল ক্রিয়াকলাপের onCreate() পদ্ধতিতে এবং এর onResume() পদ্ধতিতে। onCreate() চেক ইন নিশ্চিত করে যে সফল চেক ছাড়া অ্যাপটি ব্যবহার করা যাবে না। onResume() - onResume() চেক ইন নিশ্চিত করে যে ব্যবহারকারী যদি ব্যাক বোতামের মাধ্যমে অন্য কোনও মাধ্যমে চলমান অ্যাপে ফিরে আসে তবে চেকটি এখনও সম্পন্ন হয় is

ডিভাইসে যদি গুগল প্লে পরিষেবাদির একটি সামঞ্জস্যপূর্ণ সংস্করণ না থাকে, ব্যবহারকারীদের প্লে স্টোর থেকে গুগল প্লে পরিষেবাগুলি ডাউনলোড করার অনুমতি দেওয়ার জন্য আপনার অ্যাপ্লিকেশনটি GoogleApiAvailability.makeGooglePlayServicesAvailable() কল করতে পারে।

স্বয়ংক্রিয় সূচনা প্রতিরোধ করুন

যখন কোনও এফসিএম নিবন্ধকরণ টোকেন তৈরি করা হয়, গ্রন্থাগারটি ফায়ারবেসে সনাক্তকারী এবং কনফিগারেশন ডেটা আপলোড করে। আপনি যদি টোকেন স্বয়ংক্রিয়তা রোধ করতে পছন্দ করেন তবে আপনার AndroidManifest.xml এই মেটাডেটা মানগুলি যুক্ত করে অ্যানালিটিক্যাল সংগ্রহ এবং এফসিএম অটো সূচনা (আপনার উভয়ই অক্ষম করতে হবে) অক্ষম করুন:

<meta-data
    android:name="firebase_messaging_auto_init_enabled"
    android:value="false" />
<meta-data
    android:name="firebase_analytics_collection_enabled"
    android:value="false" />

এফসিএম স্বতঃ-পুনরায় সক্ষম করতে একটি রানটাইম কল করুন:

জাভা

FirebaseMessaging.getInstance().setAutoInitEnabled(true);

কোটলিন + কেটিএক্স

Firebase.messaging.isAutoInitEnabled = true

অ্যানালিটিক্স সংগ্রহ পুনঃসক্ষম করতে, কল setAnalyticsCollectionEnabled() পদ্ধতি FirebaseAnalytics বর্গ। উদাহরণ স্বরূপ:

setAnalyticsCollectionEnabled(true);

এই মানগুলি একবার সেট হয়ে গেলে অ্যাপ্লিকেশন রিস্টার্ট জুড়ে থাকবে।

পরবর্তী পদক্ষেপ

ক্লায়েন্ট অ্যাপ্লিকেশন সেট আপ হওয়ার পরে, আপনি বিজ্ঞপ্তি সুরকারের সাথে ডাউন স্ট্রিম বার্তা প্রেরণ শুরু করতে প্রস্তুত। এই কার্যকারিতাটি কুইকস্টার্ট নমুনায় প্রদর্শিত হয়, যা আপনি ডাউনলোড, চালানো এবং পর্যালোচনা করতে পারেন।

আপনার অ্যাপ্লিকেশনে অন্যান্য, আরও উন্নত আচরণ যুক্ত করতে, আপনি একটি উদ্দেশ্য ফিল্টার ঘোষণা করতে পারেন এবং আগত বার্তাগুলির প্রতিক্রিয়া জানাতে কোনও ক্রিয়াকলাপ বাস্তবায়ন করতে পারেন। বিশদগুলির জন্য, একটি অ্যাপ্লিকেশন সার্ভার থেকে বার্তা প্রেরণের জন্য গাইডগুলি দেখুন:

মনে রাখবেন যে এই বৈশিষ্ট্যগুলির সুবিধা গ্রহণের জন্য আপনার একটি সার্ভার বাস্তবায়ন এবং সার্ভার প্রোকোটলস (এইচটিটিপি বা এক্সএমপিপি), বা অ্যাডমিন এসডিকে একটি বাস্তবায়ন প্রয়োজন।