FCM এর সাথে শুরু করার জন্য, সবচেয়ে সহজ ব্যবহারের ক্ষেত্রে তৈরি করুন: অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে থাকাকালীন একটি ডেভেলপমেন্ট ডিভাইসে নোটিফিকেশন কম্পোজার থেকে একটি পরীক্ষার বিজ্ঞপ্তি বার্তা পাঠানো। এই পৃষ্ঠাটি সেটআপ থেকে যাচাইকরণ পর্যন্ত এটি অর্জনের সমস্ত পদক্ষেপের তালিকা করে — আপনি যদি FCM এর জন্য একটি Android ক্লায়েন্ট অ্যাপ সেট আপ করে থাকেন তবে এটি আপনার ইতিমধ্যে সম্পন্ন করা পদক্ষেপগুলি কভার করতে পারে৷
SDK সেট আপ করুন
আপনি যদি ইতিমধ্যে আপনার অ্যাপের জন্য অন্যান্য Firebase বৈশিষ্ট্যগুলি সক্ষম করে থাকেন তবে এই বিভাগে আপনি যে কাজগুলি সম্পন্ন করেছেন তা কভার করে৷
আপনি শুরু করার আগে
অ্যান্ড্রয়েড স্টুডিও এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।
নিশ্চিত করুন যে আপনার প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে (মনে রাখবেন যে কিছু পণ্যের কঠোর প্রয়োজনীয়তা থাকতে পারে):
- লক্ষ্য API স্তর 21 (ললিপপ) বা উচ্চতর
- Android 5.0 বা উচ্চতর ব্যবহার করে
- Jetpack (AndroidX) ব্যবহার করে, যা এই সংস্করণের প্রয়োজনীয়তাগুলি পূরণ করে:
-
com.android.tools.build:gradle
v7.3.0 বা তার পরে -
compileSdkVersion
28 বা তার পরে
-
একটি শারীরিক ডিভাইস সেট আপ করুন বা আপনার অ্যাপ চালানোর জন্য একটি এমুলেটর ব্যবহার করুন।
মনে রাখবেন যে Google Play পরিষেবাগুলির উপর নির্ভরশীল Firebase SDKগুলির জন্য ডিভাইস বা এমুলেটরকে Google Play পরিষেবাগুলি ইনস্টল করা প্রয়োজন৷আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন ।
আপনার যদি ইতিমধ্যে একটি Android প্রকল্প না থাকে এবং আপনি শুধুমাত্র একটি Firebase পণ্য ব্যবহার করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন৷
একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনার Android অ্যাপে Firebase যোগ করার আগে, আপনার Android অ্যাপে সংযোগ করার জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷
Firebase এর সাথে আপনার অ্যাপ নিবন্ধন করুন
আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস ব্যবহার করতে, আপনাকে আপনার ফায়ারবেস প্রকল্পের সাথে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপ নিবন্ধন করাকে প্রায়ই আপনার প্রকল্পে আপনার অ্যাপকে "সংযোজন" বলা হয়।
Firebase কনসোলে যান।
প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন (
) বা অ্যাপ যোগ করুন ।অ্যান্ড্রয়েড প্যাকেজ নামের ক্ষেত্রে আপনার অ্যাপের প্যাকেজের নাম লিখুন।
একটি প্যাকেজ নাম অনন্যভাবে ডিভাইসে এবং Google Play স্টোরে আপনার অ্যাপটিকে সনাক্ত করে।
একটি প্যাকেজের নাম প্রায়ই একটি অ্যাপ্লিকেশন আইডি হিসাবে উল্লেখ করা হয়।
আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে আপনার অ্যাপের প্যাকেজের নাম খুঁজুন, সাধারণত
app/build.gradle
(উদাহরণ প্যাকেজের নাম:com.yourcompany.yourproject
)।সচেতন থাকুন যে প্যাকেজ নামের মানটি কেস-সংবেদনশীল, এবং এটি আপনার Firebase প্রোজেক্টে নিবন্ধিত হওয়ার পরে এই Firebase Android অ্যাপের জন্য পরিবর্তন করা যাবে না।
(ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1 ।
অ্যাপের ডাকনাম : একটি অভ্যন্তরীণ, সুবিধার শনাক্তকারী যা শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান
ডিবাগ সাইনিং সার্টিফিকেট SHA-1 : Firebase Authentication ( Google সাইন ইন বা ফোন নম্বর সাইন ইন ব্যবহার করার সময়) এবং Firebase Dynamic Links জন্য একটি SHA-1 হ্যাশ প্রয়োজন।
রেজিস্টার অ্যাপে ক্লিক করুন।
একটি ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
ডাউনলোড করুন এবং তারপর আপনার অ্যাপে Firebase Android কনফিগারেশন ফাইল (
) যোগ করুন:google-services.json আপনার Firebase অ্যান্ড্রয়েড কনফিগারেশন ফাইল পেতে ডাউনলোড google-services.json এ ক্লিক করুন।
আপনার অ্যাপের মডিউল (অ্যাপ-লেভেল) রুট ডিরেক্টরিতে আপনার কনফিগার ফাইলটি সরান।
Firebase কনফিগারেশন ফাইলটিতে আপনার প্রকল্পের জন্য অনন্য, কিন্তু অ-গোপন শনাক্তকারী রয়েছে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, Firebase প্রজেক্ট বুঝতে দেখুন।
আপনি যে কোনো সময় আপনার Firebase কনফিগারেশন ফাইলটি আবার ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগার ফাইলের নাম অতিরিক্ত অক্ষরের সাথে যুক্ত করা হয়নি, যেমন
(2)
।
আপনার
কনফিগার ফাইলের মানগুলিকে Firebase SDK-তে অ্যাক্সেসযোগ্য করতে, আপনার Google পরিষেবার গ্রেডল প্লাগইন (google-services.json google-services
) প্রয়োজন৷আপনার রুট-লেভেল (প্রকল্প-স্তরের) গ্রেডল ফাইলে (
<project>/build.gradle.kts
বা<project>/build.gradle
), নির্ভরতা হিসাবে Google পরিষেবা প্লাগইন যোগ করুন:Kotlin
plugins { id("com.android.application") version "7.3.0" apply false // ... // Add the dependency for the Google services Gradle plugin id("com.google.gms.google-services") version "4.4.2" apply false }
Groovy
plugins { id 'com.android.application' version '7.3.0' apply false // ... // Add the dependency for the Google services Gradle plugin id 'com.google.gms.google-services' version '4.4.2' apply false }
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইল (সাধারণত
<project>/<app-module>/build.gradle.kts
বা<project>/<app-module>/build.gradle
), Google পরিষেবা প্লাগইন যোগ করুন:Kotlin
plugins { id("com.android.application") // Add the Google services Gradle plugin id("com.google.gms.google-services") // ... }
Groovy
plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' // ... }
আপনার অ্যাপে Firebase SDK যোগ করুন
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইল (সাধারণত
<project>/<app-module>/build.gradle.kts
বা<project>/<app-module>/build.gradle
), Firebase Cloud Messaging জন্য নির্ভরতা যোগ করুন অ্যান্ড্রয়েডের জন্য Firebase Cloud Messaging লাইব্রেরি। আমরা লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে Firebase Android BoM ব্যবহার করার পরামর্শ দিই।Firebase Cloud Messaging সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রকল্পে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করার পরামর্শ দিই।
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add 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 লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
একটি কোটলিন-নির্দিষ্ট লাইব্রেরি মডিউল খুঁজছেন? অক্টোবর 2023 থেকে শুরু হচ্ছে ( Firebase BoM 32.5.0) , Kotlin এবং Java ডেভেলপাররা প্রধান লাইব্রেরি মডিউলের উপর নির্ভর করতে পারে (বিশদ বিবরণের জন্য, এই উদ্যোগ সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন)।(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা যোগ করুন
আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন, আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করতে BoM ব্যবহার করার পরামর্শ দিই, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।
dependencies { // Add 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:24.1.0") implementation("com.google.firebase:firebase-analytics:22.1.2") }
Gradle ফাইলগুলির সাথে আপনার Android প্রকল্প সিঙ্ক করুন।
Gradle বিল্ড যেগুলি Android Gradle plugin (AGP) v4.2 ব্যবহার করে বা তার আগের জাভা 8 সমর্থন সক্রিয় করতে হবে। অন্যথায়, Firebase SDK যোগ করার সময় এই Android প্রকল্পগুলি বিল্ড ব্যর্থতা পায়।
এই বিল্ড ব্যর্থতা ঠিক করতে, আপনি দুটি বিকল্পের একটি অনুসরণ করতে পারেন:
- আপনার অ্যাপ-লেভেল
build.gradle.kts
বাbuild.gradle
ফাইলে ত্রুটি বার্তা থেকে তালিকাভুক্তcompileOptions
যোগ করুন। - আপনার Android প্রকল্পের জন্য
minSdk
বাড়িয়ে 26 বা তার বেশি করুন।
এই FAQ- এ এই বিল্ড ব্যর্থতা সম্পর্কে আরও জানুন।
- আপনার অ্যাপ-লেভেল
নিবন্ধন টোকেন অ্যাক্সেস করুন
একটি নির্দিষ্ট ডিভাইসে একটি বার্তা পাঠাতে, আপনাকে সেই ডিভাইসের নিবন্ধন টোকেন জানতে হবে। যেহেতু এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য আপনাকে বিজ্ঞপ্তি কনসোলের একটি ক্ষেত্রে টোকেনটি প্রবেশ করতে হবে, টোকেনটি কপি করতে ভুলবেন না বা আপনি এটি পুনরুদ্ধার করার পরে নিরাপদে সংরক্ষণ করুন৷
আপনার অ্যাপের প্রাথমিক স্টার্টআপে, FCM SDK ক্লায়েন্ট অ্যাপের উদাহরণের জন্য একটি নিবন্ধন টোকেন তৈরি করে। আপনি যদি একক ডিভাইসকে টার্গেট করতে চান বা ডিভাইস গ্রুপ তৈরি করতে চান, তাহলে FirebaseMessagingService
প্রসারিত করে এবং onNewToken
ওভাররাইড করে আপনাকে এই টোকেনটি অ্যাক্সেস করতে হবে।
কিভাবে টোকেন পুনরুদ্ধার করতে হয় এবং টোকেনের পরিবর্তন কিভাবে নিরীক্ষণ করতে হয় তা এই বিভাগে বর্ণনা করে। যেহেতু প্রাথমিক স্টার্টআপের পরে টোকেনটি ঘোরানো যেতে পারে, তাই আপনাকে সর্বশেষ আপডেট হওয়া নিবন্ধন টোকেনটি পুনরুদ্ধার করার জন্য দৃঢ়ভাবে সুপারিশ করা হচ্ছে।
নিবন্ধন টোকেন পরিবর্তন হতে পারে যখন:
- অ্যাপটি একটি নতুন ডিভাইসে পুনরুদ্ধার করা হয়েছে
- ব্যবহারকারী অ্যাপটি আনইনস্টল/পুনরায় ইনস্টল করে
- ব্যবহারকারী অ্যাপ ডেটা সাফ করে।
বর্তমান নিবন্ধন টোকেন পুনরুদ্ধার করুন
যখন আপনার বর্তমান টোকেন পুনরুদ্ধার করতে হবে, FirebaseMessaging.getInstance().getToken()
কল করুন :
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() })
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(); } });
টোকেন জেনারেশন মনিটর করুন
যখনই একটি নতুন টোকেন জেনারেট হয় তখনই onNewToken
কলব্যাক ফায়ার হয়৷
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) }
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); }
আপনি টোকেনটি পাওয়ার পরে, আপনি এটি আপনার অ্যাপ সার্ভারে পাঠাতে পারেন এবং আপনার পছন্দের পদ্ধতি ব্যবহার করে এটি সংরক্ষণ করতে পারেন।
একটি পরীক্ষা বিজ্ঞপ্তি বার্তা পাঠান
লক্ষ্য ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান। Apple ডিভাইসগুলিতে, আপনাকে দূরবর্তী বিজ্ঞপ্তিগুলি পাওয়ার অনুমতির অনুরোধটি গ্রহণ করতে হবে৷
অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে আছে তা নিশ্চিত করুন।
Firebase কনসোলে, মেসেজিং পৃষ্ঠা খুলুন।
যদি এটি আপনার প্রথম বার্তা হয়, আপনার প্রথম প্রচারাভিযান তৈরি করুন নির্বাচন করুন।
- Firebase বিজ্ঞপ্তি বার্তা নির্বাচন করুন এবং তৈরি করুন নির্বাচন করুন।
অন্যথায়, প্রচারাভিযান ট্যাবে, নতুন প্রচারাভিযান এবং তারপরে বিজ্ঞপ্তি নির্বাচন করুন।
বার্তা টেক্সট লিখুন. অন্য সব ক্ষেত্র ঐচ্ছিক.
ডান ফলক থেকে পরীক্ষা বার্তা পাঠান নির্বাচন করুন।
একটি FCM রেজিস্ট্রেশন টোকেন যুক্ত করুন লেবেলযুক্ত ক্ষেত্রে, এই গাইডের পূর্ববর্তী বিভাগে আপনি যে নিবন্ধন টোকেন পেয়েছেন তা লিখুন।
পরীক্ষা নির্বাচন করুন।
আপনি পরীক্ষা নির্বাচন করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইস (পটভূমিতে অ্যাপ সহ) বিজ্ঞপ্তিটি পাবে।
আপনার অ্যাপে বার্তা বিতরণের অন্তর্দৃষ্টির জন্য, FCM রিপোর্টিং ড্যাশবোর্ড দেখুন, যা অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে পাঠানো এবং খোলা বার্তাগুলির সংখ্যা রেকর্ড করে, সাথে Android অ্যাপগুলির জন্য "ইম্প্রেশন" (ব্যবহারকারীরা দেখেছে বিজ্ঞপ্তিগুলি) ডেটা সহ।
পরবর্তী পদক্ষেপ
ফোরগ্রাউন্ডেড অ্যাপে বার্তা পাঠান
আপনার অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন আপনি সফলভাবে বিজ্ঞপ্তি বার্তা পাঠানোর পরে, অগ্রভাগে থাকা অ্যাপগুলিতে পাঠানো শুরু করতে একটি Android অ্যাপে বার্তা গ্রহণ করুন দেখুন।
বিজ্ঞপ্তি বার্তার বাইরে যান
বিজ্ঞপ্তি বার্তার বাইরে যেতে এবং আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, দেখুন: