একটি ব্যাকগ্রাউন্ডযুক্ত অ্যাপে একটি পরীক্ষার বার্তা পাঠান

FCM-এর সাথে শুরু করার জন্য, সবচেয়ে সহজ ব্যবহারের ক্ষেত্রে তৈরি করুন: যখন অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে থাকে তখন একটি ডেভেলপমেন্ট ডিভাইসে নোটিফিকেশন কম্পোজার থেকে একটি পরীক্ষার বিজ্ঞপ্তি বার্তা পাঠানো। এই পৃষ্ঠাটি সেটআপ থেকে যাচাইকরণ পর্যন্ত এটি অর্জনের সমস্ত পদক্ষেপের তালিকা করে — আপনি যদি FCM-এর জন্য একটি Android ক্লায়েন্ট অ্যাপ সেট আপ করে থাকেন তবে এটি আপনার ইতিমধ্যে সম্পন্ন করা পদক্ষেপগুলি কভার করতে পারে।

SDK সেট আপ করুন

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

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

  • অ্যান্ড্রয়েড স্টুডিও এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।

  • নিশ্চিত করুন যে আপনার প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে:

    • লক্ষ্য API স্তর 19 (KitKat) বা উচ্চতর
    • Android 4.4 বা উচ্চতর ব্যবহার করে
    • Jetpack (AndroidX) ব্যবহার করে, যা এই সংস্করণের প্রয়োজনীয়তাগুলি পূরণ করে:
      • com.android.tools.build:gradle v3.2.1 বা তার পরে
      • compileSdkVersion 28 বা তার পরে
  • একটি শারীরিক ডিভাইস সেট আপ করুন বা আপনার অ্যাপ চালানোর জন্য একটি এমুলেটর ব্যবহার করুন।
    মনে রাখবেন যে Google Play পরিষেবাগুলির উপর নির্ভরশীল Firebase SDKগুলির জন্য ডিভাইস বা এমুলেটরকে Google Play পরিষেবাগুলি ইনস্টল করা প্রয়োজন৷

  • আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন

আপনার যদি ইতিমধ্যে একটি Android প্রকল্প না থাকে এবং আপনি শুধুমাত্র একটি Firebase পণ্য ব্যবহার করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন৷

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

আপনার Android অ্যাপে Firebase যোগ করার আগে, আপনার Android অ্যাপে সংযোগ করার জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷

Firebase-এ আপনার অ্যাপ নিবন্ধন করুন

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

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

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

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

  4. (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1

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

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

  1. আপনার অ্যাপে Firebase Android কনফিগারেশন ফাইল যোগ করুন:

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

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

  2. আপনার অ্যাপে Firebase পণ্য সক্ষম করতে, আপনার Gradle ফাইলগুলিতে google-services প্লাগইন যোগ করুন।

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

      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.13'  // 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 Services Gradle প্লাগইন প্রয়োগ করুন:

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

আপনার অ্যাপে Firebase SDK যোগ করুন

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

    Firebase ক্লাউড মেসেজিংয়ের সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রকল্পে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করার পরামর্শ দিই।

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.1.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'
    }
    

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

    (বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

    মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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:23.0.6'
        implementation 'com.google.firebase:firebase-analytics:21.0.0'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.1.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'
    }
    

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

    (বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

    মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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:23.0.6'
        implementation 'com.google.firebase:firebase-analytics-ktx:21.0.0'
    }
    

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

নিবন্ধন টোকেন অ্যাক্সেস করুন

একটি নির্দিষ্ট ডিভাইসে একটি বার্তা পাঠাতে, আপনাকে সেই ডিভাইসের নিবন্ধন টোকেন জানতে হবে। যেহেতু এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য আপনাকে বিজ্ঞপ্তি কনসোলের একটি ক্ষেত্রে টোকেনটি প্রবেশ করতে হবে, টোকেনটি কপি করতে ভুলবেন না বা আপনি এটি পুনরুদ্ধার করার পরে নিরাপদে সংরক্ষণ করুন৷

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

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

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

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

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

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

Java

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();
        }
    });

Kotlin+KTX

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 কলব্যাক ফায়ার হয়৷

Java

/**
 * 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(@NonNull 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);
}

Kotlin+KTX

/**
 * 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)
}

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

একটি পরীক্ষা বিজ্ঞপ্তি বার্তা পাঠান

  1. লক্ষ্য ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান।

  2. অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে আছে তা নিশ্চিত করুন।

  3. বিজ্ঞপ্তি কম্পোজার খুলুন এবং নতুন বিজ্ঞপ্তি নির্বাচন করুন।

  4. বার্তা টেক্সট লিখুন.

  5. পরীক্ষা বার্তা পাঠান নির্বাচন করুন।

  6. একটি FCM রেজিস্ট্রেশন টোকেন যুক্ত করুন লেবেলযুক্ত ক্ষেত্রে, এই গাইডের পূর্ববর্তী বিভাগে আপনি যে নিবন্ধন টোকেন পেয়েছেন তা লিখুন।

  7. পরীক্ষা ক্লিক করুন

আপনি টেস্টে ক্লিক করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইসটি (পটভূমিতে অ্যাপ সহ) সিস্টেম বিজ্ঞপ্তি ট্রেতে বিজ্ঞপ্তিটি পাবে।

আপনার অ্যাপে বার্তা বিতরণের অন্তর্দৃষ্টির জন্য, এফসিএম রিপোর্টিং ড্যাশবোর্ড দেখুন, যা অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে পাঠানো এবং খোলা বার্তাগুলির সংখ্যা রেকর্ড করে, সাথে Android অ্যাপগুলির জন্য "ইম্প্রেশন" (ব্যবহারকারীরা দেখেছে বিজ্ঞপ্তিগুলি) ডেটা সহ।

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

ফোরগ্রাউন্ডেড অ্যাপে বার্তা পাঠান

আপনার অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন আপনি সফলভাবে বিজ্ঞপ্তি বার্তা পাঠানোর পরে, অগ্রভাগে থাকা অ্যাপগুলিতে পাঠানো শুরু করতে একটি Android অ্যাপে বার্তা গ্রহণ করুন দেখুন।

বিজ্ঞপ্তি বার্তার বাইরে যান

বিজ্ঞপ্তি বার্তার বাইরে যেতে এবং আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, দেখুন: