FCM ব্যবহার শুরু করার জন্য, সবচেয়ে সহজ ব্যবহারের ধরণ তৈরি করুন: অ্যাপটি যখন ডিভাইসের ব্যাকগ্রাউন্ডে থাকে তখন Notifications composer থেকে একটি ডেভেলপমেন্ট ডিভাইসে একটি পরীক্ষামূলক বিজ্ঞপ্তি বার্তা পাঠানো। এই পৃষ্ঠাটি সেটআপ থেকে যাচাইকরণ পর্যন্ত এটি অর্জনের জন্য সমস্ত পদক্ষেপের তালিকাভুক্ত করে — এটি FCM এর জন্য একটি Android ক্লায়েন্ট অ্যাপ সেট আপ করলে আপনি ইতিমধ্যে সম্পন্ন করা পদক্ষেপগুলি অন্তর্ভুক্ত করতে পারে।
SDK সেট আপ করুন
এই বিভাগটি আপনার অ্যাপের জন্য অন্যান্য Firebase বৈশিষ্ট্যগুলি সক্ষম করে থাকলে আপনি যে কাজগুলি সম্পন্ন করেছেন তা কভার করে।
শুরু করার আগে
অ্যান্ড্রয়েড স্টুডিওকে তার সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।
নিশ্চিত করুন যে আপনার প্রকল্পটি এই প্রয়োজনীয়তাগুলি পূরণ করে (মনে রাখবেন যে কিছু পণ্যের কঠোর প্রয়োজনীয়তা থাকতে পারে):
- API লেভেল ২১ (ললিপপ) বা তার বেশি লক্ষ্য করে
- অ্যান্ড্রয়েড ৫.০ বা তার উচ্চতর সংস্করণ ব্যবহার করে
- Jetpack (AndroidX) ব্যবহার করে, যার মধ্যে এই সংস্করণের প্রয়োজনীয়তাগুলি পূরণ করা অন্তর্ভুক্ত:
-
com.android.tools.build:gradle
v7.3.0 বা তার পরবর্তী সংস্করণ -
compileSdkVersion
28 বা তার পরবর্তী সংস্করণ
-
আপনার অ্যাপটি চালানোর জন্য একটি ফিজিক্যাল ডিভাইস সেট আপ করুন অথবা একটি এমুলেটর ব্যবহার করুন।
মনে রাখবেন যে Google Play পরিষেবার উপর নির্ভরশীল Firebase SDK গুলির জন্য ডিভাইস বা এমুলেটরে Google Play পরিষেবা ইনস্টল করা প্রয়োজন।আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসে সাইন ইন করুন ।
যদি আপনার ইতিমধ্যেই কোনও অ্যান্ড্রয়েড প্রকল্প না থাকে এবং আপনি কেবল একটি Firebase পণ্য চেষ্টা করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন।
একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনার অ্যান্ড্রয়েড অ্যাপে Firebase যোগ করার আগে, আপনার অ্যান্ড্রয়েড অ্যাপের সাথে সংযোগ স্থাপনের জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্প সম্পর্কে আরও জানতে Understand Firebase প্রকল্পগুলি দেখুন।
Firebase-এ আপনার অ্যাপ নিবন্ধন করুন
আপনার অ্যান্ড্রয়েড অ্যাপে Firebase ব্যবহার করার জন্য, আপনাকে আপনার Firebase প্রোজেক্টের সাথে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপটি নিবন্ধন করাকে প্রায়শই আপনার প্রোজেক্টে আপনার অ্যাপটি "যোগ করা" বলা হয়।
Firebase কনসোলে যান।
প্রজেক্ট ওভারভিউ পৃষ্ঠার মাঝখানে, সেটআপ ওয়ার্কফ্লো চালু করতে অ্যান্ড্রয়েড আইকন (
) অথবা অ্যাপ যোগ করুন- এ ক্লিক করুন।অ্যান্ড্রয়েড প্যাকেজ নাম ক্ষেত্রে আপনার অ্যাপের প্যাকেজের নাম লিখুন।
একটি প্যাকেজের নাম ডিভাইসে এবং গুগল প্লে স্টোরে আপনার অ্যাপটিকে অনন্যভাবে শনাক্ত করে।
একটি প্যাকেজের নাম প্রায়শই একটি অ্যাপ্লিকেশন আইডি হিসাবে উল্লেখ করা হয়।
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে আপনার অ্যাপের প্যাকেজের নাম খুঁজুন, সাধারণত
app/build.gradle
(উদাহরণস্বরূপ প্যাকেজের নাম:com.yourcompany.yourproject
)।মনে রাখবেন যে প্যাকেজের নামের মানটি কেস-সংবেদনশীল, এবং আপনার Firebase প্রকল্পে নিবন্ধিত হওয়ার পরে এই Firebase Android অ্যাপের জন্য এটি পরিবর্তন করা যাবে না।
(ঐচ্ছিক) একটি অ্যাপ ডাকনাম লিখুন, যা একটি অভ্যন্তরীণ, সুবিধাজনক শনাক্তকারী যা শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান।
অ্যাপ নিবন্ধন করুন এ ক্লিক করুন।
একটি Firebase কনফিগারেশন ফাইল যোগ করুন
ডাউনলোড করুন এবং তারপর আপনার কোডবেসে আপনার অ্যাপের Firebase কনফিগারেশন ফাইল (
) যোগ করুন:google-services.json আপনার অ্যাপের Firebase কনফিগারেশন ফাইলটি পেতে Download google-services.json এ ক্লিক করুন।
আপনার অ্যাপের মডিউল (অ্যাপ-লেভেল) রুট ডিরেক্টরিতে আপনার কনফিগার ফাইলটি সরান।
Firebase কনফিগারেশন ফাইলটিতে আপনার প্রোজেক্ট এবং অ্যাপের জন্য অনন্য, কিন্তু গোপন নয় এমন শনাক্তকারী রয়েছে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, Understand Firebase Projects দেখুন।
আপনি যেকোনো সময় আপনার Firebase কনফিগারেশন ফাইলটি আবার ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগ ফাইলের নামটিতে অতিরিক্ত অক্ষর যুক্ত করা নেই, যেমন
(2)
।
আপনার
কনফিগারেশন ফাইলের মানগুলিকে Firebase SDK-তে অ্যাক্সেসযোগ্য করতে, আপনার Google services Gradle প্লাগইন (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.4" 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.4' apply false }
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত
<project>/<app-module>/build.gradle.kts
অথবা<project>/<app-module>/build.gradle
), Google services প্লাগইন যোগ করুন: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
), Android এর জন্য 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:34.4.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 লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করেই Firebase লাইব্রেরি নির্ভরতা যোগ করুন
যদি আপনি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক 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:25.0.1") implementation("com.google.firebase:firebase-analytics:23.0.0") }
আপনার অ্যান্ড্রয়েড প্রজেক্টটি গ্র্যাডেল ফাইলের সাথে সিঙ্ক করুন।
Android Gradle plugin (AGP) v4.2 বা তার আগের সংস্করণ ব্যবহার করে এমন Gradle বিল্ডগুলিতে Java 8 সমর্থন সক্ষম করতে হবে। অন্যথায়, Firebase SDK যোগ করার সময় এই Android প্রকল্পগুলি একটি বিল্ড ব্যর্থতা পাবে।
এই বিল্ড ব্যর্থতা ঠিক করতে, আপনি দুটি বিকল্পের একটি অনুসরণ করতে পারেন:
- ত্রুটি বার্তা থেকে তালিকাভুক্ত
compileOptions
আপনার অ্যাপ-লেভেলbuild.gradle.kts
অথবাbuild.gradle
ফাইলে যোগ করুন। - আপনার অ্যান্ড্রয়েড প্রোজেক্টের জন্য
minSdk
26 বা তার উপরে বাড়ান।
এই বিল্ড ব্যর্থতা সম্পর্কে আরও জানুন এই FAQ তে।
- ত্রুটি বার্তা থেকে তালিকাভুক্ত
নিবন্ধন টোকেন অ্যাক্সেস করুন
একটি নির্দিষ্ট ডিভাইসে বার্তা পাঠাতে, আপনাকে সেই ডিভাইসের নিবন্ধন টোকেনটি জানতে হবে। যেহেতু এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য আপনাকে বিজ্ঞপ্তি কনসোলের একটি ক্ষেত্রে টোকেনটি প্রবেশ করতে হবে, তাই টোকেনটি অনুলিপি করতে ভুলবেন না অথবা পুনরুদ্ধার করার পরে এটি নিরাপদে সংরক্ষণ করতে ভুলবেন না।
আপনার অ্যাপের প্রাথমিক স্টার্টআপে, FCM SDK ক্লায়েন্ট অ্যাপ ইনস্ট্যান্সের জন্য একটি রেজিস্ট্রেশন টোকেন তৈরি করে। আপনি যদি একক ডিভাইসকে টার্গেট করতে চান বা ডিভাইস গ্রুপ তৈরি করতে চান, তাহলে আপনাকে FirebaseMessagingService
এক্সটেন্ড করে এবং onNewToken
ওভাররাইড করে এই টোকেনটি অ্যাক্সেস করতে হবে। যেহেতু প্রাথমিক স্টার্টআপের পরে টোকেনটি ঘোরানো যেতে পারে, তাই আপনাকে সর্বশেষ আপডেট করা রেজিস্ট্রেশন টোকেনটি পুনরুদ্ধার করার জন্য দৃঢ়ভাবে সুপারিশ করা হচ্ছে।
রেজিস্ট্রেশন টোকেন পরিবর্তন হতে পারে যখন:
- অ্যাপটি একটি নতুন ডিভাইসে পুনরুদ্ধার করা হয়েছে
- ব্যবহারকারী অ্যাপটি আনইনস্টল/পুনরায় ইনস্টল করেন
- ব্যবহারকারী অ্যাপ ডেটা সাফ করে।
বর্তমান নিবন্ধন টোকেনটি পুনরুদ্ধার করুন
যখন আপনার বর্তমান টোকেনটি পুনরুদ্ধার করার প্রয়োজন হবে, FirebaseMessaging.getInstance().getToken()
এ কল করুন:
Kotlin
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
/** * 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); }
টোকেনটি পাওয়ার পর, আপনি এটি আপনার অ্যাপ সার্ভারে পাঠাতে পারেন এবং আপনার পছন্দের পদ্ধতি ব্যবহার করে এটি সংরক্ষণ করতে পারেন।
একটি পরীক্ষামূলক বিজ্ঞপ্তি বার্তা পাঠান
টার্গেট ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান। অ্যাপল ডিভাইসে, আপনাকে রিমোট নোটিফিকেশন পাওয়ার জন্য অনুমতির অনুরোধ গ্রহণ করতে হবে।
নিশ্চিত করুন যে অ্যাপটি ডিভাইসের ব্যাকগ্রাউন্ডে চলছে।
Firebase কনসোলে, মেসেজিং পৃষ্ঠাটি খুলুন।
যদি এটি আপনার প্রথম বার্তা হয়, তাহলে আপনার প্রথম প্রচারণা তৈরি করুন নির্বাচন করুন।
- Firebase Notification messages নির্বাচন করুন এবং Create নির্বাচন করুন।
অন্যথায়, প্রচারণা ট্যাবে, নতুন প্রচারণা এবং তারপর বিজ্ঞপ্তি নির্বাচন করুন।
বার্তার টেক্সট লিখুন। অন্যান্য সকল ক্ষেত্র ঐচ্ছিক।
ডান ফলক থেকে পরীক্ষামূলক বার্তা পাঠান নির্বাচন করুন।
"একটি FCM নিবন্ধন টোকেন যোগ করুন" লেবেলযুক্ত ক্ষেত্রে, এই নির্দেশিকার পূর্ববর্তী বিভাগে প্রাপ্ত নিবন্ধন টোকেনটি লিখুন।
পরীক্ষা নির্বাচন করুন।
আপনি Test নির্বাচন করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইস (ব্যাকগ্রাউন্ডে অ্যাপ সহ) বিজ্ঞপ্তিটি পাবে।
আপনার অ্যাপে বার্তা সরবরাহের অন্তর্দৃষ্টির জন্য, FCM রিপোর্টিং ড্যাশবোর্ডটি দেখুন, যা অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে প্রেরিত এবং খোলা বার্তার সংখ্যা রেকর্ড করে, সাথে অ্যান্ড্রয়েড অ্যাপের জন্য "ইমপ্রেশন" (ব্যবহারকারীদের দ্বারা দেখা বিজ্ঞপ্তি) এর ডেটাও রেকর্ড করে।
পরবর্তী পদক্ষেপ
ফোরগ্রাউন্ড অ্যাপগুলিতে বার্তা পাঠান
আপনার অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন সফলভাবে বিজ্ঞপ্তি বার্তা পাঠানোর পরে, ফোরগ্রাউন্ড অ্যাপগুলিতে পাঠানো শুরু করতে একটি অ্যান্ড্রয়েড অ্যাপে বার্তা গ্রহণ করুন দেখুন।
বিজ্ঞপ্তি বার্তার বাইরে যান
বিজ্ঞপ্তি বার্তার বাইরে যেতে এবং আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, দেখুন: