| প্ল্যাটফর্ম বেছে নিন: | iOS+ Android ওয়েব Flutter Unity C++ |
এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে কীভাবে আপনার Unity ক্লায়েন্ট অ্যাপে Firebase Cloud Messaging ব্যবহার করা শুরু করবেন যাতে আপনি নির্ভরযোগ্যভাবে মেসেজ পাঠাতে পারেন।
Unity-এর মাধ্যমে আপনার ক্রস-প্ল্যাটফর্ম Firebase Cloud Messaging ক্লায়েন্ট অ্যাপ লিখতে, Firebase Cloud Messaging API ব্যবহার করুন। Unity SDK, Android ও Apple দুটি প্ল্যাটফর্মেই কাজ করে, তবে প্রতিটি প্ল্যাটফর্মের জন্য কিছু অতিরিক্ত সেট-আপ প্রয়োজন।
শুরু করার আগে
পূর্বশর্ত
Unity 2021 LTS বা তার পরবর্তী যেকোনও ভার্সন ইনস্টল করুন। আগের ভার্সনগুলিও মানানসই হতে পারে, তবে সেগুলি অ্যাক্টিভভাবে কাজ করবে না।
(শুধুমাত্র Apple প্ল্যাটফর্মের জন্য) এগুলি ইনস্টল করুন:
- Xcode 26.2 বা তার পরের যেকোনও ভার্সন
- CocoaPods 1.12.0 বা তার পরবর্তী যেকোনও ভার্সন
আপনার Unity প্রোজেক্ট এইসব প্রয়োজনীয়তা পূরণ করছে কিনা তা ভালো করে দেখে নিন:
- iOS-এর জন্য — iOS 15 বা তার পরবর্তী যেকোনও ভার্সন
- tvOS-এর জন্য - tvOS 15 বা তার পরবর্তী যেকোনও ভার্সন টার্গেট করে
- Android-এর জন্য — API লেভেল 23 (Marshmallow) বা তার পরের যেকোনও ভার্সনকে টার্গেট করে
আপনার Unity প্রোজেক্ট রান করাতে, ডিভাইস সেট-আপ করুন বা এমুলেটর ব্যবহার করুন।
iOS বা tvOS-এর জন্য — আপনার অ্যাপ চালানোর জন্য একটি ফিজিক্যাল ডিভাইস সেট-আপ করুন এবং এই টাস্কগুলি সম্পূর্ণ করুন:
- আপনার Apple ডেভেলপার অ্যাকাউন্টের জন্য Apple পুশ বিজ্ঞপ্তি প্রমাণীকরণ কী পান।
- XCode-এ অ্যাপ > ক্ষমতা বিকল্পের মধ্যে পুশ বিজ্ঞপ্তি চালু করুন।
Android-এর জন্য — ইমুলেটর অবশ্যই Google Play সহ ইমুলেটর ইমেজ ব্যবহার করতে হবে।
আপনার কাছে আগে থেকে কোনও Unity প্রোজেক্ট না থাকলে এবং আপনি শুধু Firebase প্রোডাক্ট ব্যবহার করে দেখতে চাইলে, আমাদের দ্রুত শুরু করার নমুনা ডাউনলোড করতে পারেন।
ধাপ ১: Firebase প্রোজেক্ট তৈরি করুন
আপনার Unity প্রোজেক্টে Firebase যোগ করার আগে, Unity প্রোজেক্টের সাথে কানেক্ট করার জন্য আপনাকে Firebase প্রোজেক্ট তৈরি করতে হবে। Firebase প্রোজেক্ট সম্পর্কে আরও জানতে Firebase প্রোজেক্ট সম্পর্কে জানুন লিঙ্কে যান।
ধাপ ২: Firebase-এ আপনার অ্যাপ রেজিস্টার করুন
আপনার Firebase প্রোজেক্টের সাথে কানেক্ট করার জন্য আপনি এক বা একাধিক অ্যাপ বা গেম রেজিস্টার করতে পারবেন।
Firebase কনসোলে যান।
সেট-আপ ওয়ার্কফ্লো লঞ্চ করতে, প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, Unity আইকনে ক্লিক করুন () ।
আপনার Firebase প্রোজেক্টে কোনও অ্যাপ আগে থেকেই যোগ করে থাকলে, প্ল্যাটফর্ম বিকল্প দেখতে অ্যাপ যোগ করুন বিকল্পে ক্লিক করুন।
আপনার Unity প্রোজেক্টের কোন বিল্ড টার্গেট রেজিস্টার করতে চান তা বেছে নিন, অথবা আপনি এখন একই সাথে দুটি টার্গেট রেজিস্টার করার বিকল্পও বেছে নিতে পারেন।
আপনার Unity প্রোজেক্টের প্ল্যাটফর্ম-নির্দিষ্ট আইডি লিখুন।
iOS-এর জন্য — আপনার Unity প্রোজেক্টের iOS আইডিটি iOS বান্ডেল আইডি ফিল্ডে লিখুন।
Android-এর জন্য — আপনার Unity প্রোজেক্টের Android ID, Android প্যাকেজ নাম ফিল্ডে লিখুন।
প্যাকেজ নাম ও অ্যাপ্লিকেশন আইডি শব্দগুলি প্রায়ই পরিবর্তনযোগ্য হিসেবে ব্যবহার করা হয়।
(ঐচ্ছিক) আপনার Unity প্রোজেক্টের প্ল্যাটফর্ম-নির্দিষ্ট ছদ্মনাম লিখুন।
এইসব ডাকনাম হল ইন্টার্নাল, সুবিধার জন্য শনাক্তকারী এবং শুধুমাত্র Firebase কনসোলে আপনি দেখতে পাবেন।অ্যাপ রেজিস্টার করুন বিকল্পে ক্লিক করুন।
ধাপ ৩: Firebase কনফিগারেশন ফাইল যোগ করুন
Firebase কনসোল সেট-আপ ওয়ার্কফ্লোতে আপনার প্ল্যাটফর্ম-নির্দিষ্ট Firebase কনফিগারেশন ফাইল পান।
iOS-এর জন্য — GoogleService-Info.plist ডাউনলোড করুন বিকল্পে ক্লিক করুন।
Android-এর জন্য — google-services.json ডাউনলোড করুন বিকল্পে ক্লিক করুন।
আপনার Unity প্রোজেক্টের প্রোজেক্ট উইন্ডো খুলুন, তারপর আপনার config ফাইল
Assetsফোল্ডারে সরান।Firebase কনসোলে ফিরে গিয়ে, সেট-আপ ওয়ার্কফ্লোতে, পরবর্তী বিকল্পে ক্লিক করুন।
ধাপ ৪: Firebase Unity SDK যোগ করুন
Firebase কনসোলে, SDK Firebase Unity ডাউনলোড করুন বিকল্পে ক্লিক করুন, তারপর SDK-টি কোনও সুবিধাজনক জায়গায় আনজিপ করুন।
আপনি যেকোনও সময় আবার Firebase Unity SDK ডাউনলোড করতে পারবেন।
Firebase Unity SDK কোনও নির্দিষ্ট প্ল্যাটফর্মের জন্য নয়।
আপনার খোলা Unity প্রোজেক্টে, এখানে নেভিগেট করুন: অ্যাসেট > প্যাকেজ ইমপোর্ট করুন > কাস্টম প্যাকেজ।
আনজিপ করা SDK থেকে, আপনার অ্যাপে ব্যবহার করতে চান এমন মানানসই Firebase প্রোডাক্ট বেছে নিন।
Firebase Cloud Messaging-এর সাথে অপ্টিমাল অভিজ্ঞতা পেতে, আমরা আপনার প্রোজেক্টে Google Analytics চালু করার সাজেশন দিই। এছাড়াও, Analytics সেট-আপ করার অংশ হিসেবে, আপনার অ্যাপে Analytics-এর জন্য Firebase প্যাকেজ যোগ করতে হবে।
Analytics চালু করা আছে
- Google Analytics-এর জন্য Firebase প্যাকেজ যোগ করুন:
FirebaseAnalytics.unitypackage - Firebase Cloud Messaging-এর জন্য প্যাকেজ যোগ করুন:
FirebaseMessaging.unitypackage
Analytics চালু করা নেই
Firebase Cloud Messaging-এর জন্য প্যাকেজ যোগ করুন:
FirebaseMessaging.unitypackage- Google Analytics-এর জন্য Firebase প্যাকেজ যোগ করুন:
Unity প্যাকেজ ইমপোর্ট করুন উইন্ডোতে, ইমপোর্ট করুন বিকল্পে ক্লিক করুন।
Firebase কনসোলে ফিরে গিয়ে, সেট-আপ ওয়ার্কফ্লোতে, পরবর্তী বিকল্পে ক্লিক করুন।
ধাপ ৫: Google Play পরিষেবার ভার্সন সংক্রান্ত প্রয়োজনীয়তা কনফার্ম করা
Android-এর জন্য Firebase Unity SDK-এর কিছু প্রোডাক্টের জন্য Google Play services প্রয়োজন। কোন কোন প্রোডাক্টের ক্ষেত্রে এই নির্ভরতা আছে তা জানুন। সেইসব প্রোডাক্ট ব্যবহার করার আগে Google Play services অবশ্যই আপ-টু-ডেট থাকতে হবে।
আপনার অ্যাপ্লিকেশনের শুরুতে নিম্নলিখিত using স্টেটমেন্ট ও ইনিশিয়ালাইজেশন কোড যোগ করুন।
SDK-তে অন্য কোনও পদ্ধতি কল করার আগে, আপনি Google Play services-এর
প্রয়োজনীয় ভার্সন চেক করতে এবং ঐচ্ছিকভাবে আপডেট করতে পারবেন।
using Firebase.Extensions;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
var dependencyStatus = task.Result;
if (dependencyStatus == Firebase.DependencyStatus.Available) {
// Create and hold a reference to your FirebaseApp,
// where app is a Firebase.FirebaseApp property of your application class.
app = Firebase.FirebaseApp.DefaultInstance;
// Set a flag here to indicate whether Firebase is ready to use by your app.
} else {
UnityEngine.Debug.LogError(System.String.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
// Firebase Unity SDK is not safe to use here.
}
});
Firebase ব্যবহার করার জন্য আপনার Unity প্রোজেক্ট রেজিস্টার ও কনফিগার করা আছে।
Apple প্ল্যাটফর্মের সাথে সেট-আপ করা
Unity এবং Apple প্ল্যাটফর্মের সাথে FCM সেট-আপ করতে নিম্নলিখিত নির্দেশাবলী ব্যবহার করুন।
আপনার APNs যাচাইকরণ কী আপলোড করুন
Firebase-এ আপনার APNs যাচাইকরণ কী আপলোড করুন। আপনার কাছে আগে থেকেই APNs যাচাইকরণ কী না থাকলে, নিশ্চিত করুন যে আপনি Apple Developer মেম্বার সেন্টারে একটি তৈরি করেছেন।
-
Firebase কনসোলে গিয়ে
সেটিংস > সাধারণ বিকল্পে যান। তারপর, ক্লাউড মেসেজিং ট্যাব বিকল্পে ক্লিক করুন। - iOS অ্যাপ কনফিগারেশন-এর মধ্যে APNs যাচাইকরণ কী বিকল্পে গিয়ে, আপনার ডেভেলপমেন্ট যাচাইকরণ কী অথবা প্রোডাকশন যাচাইকরণ কী অথবা দু'টিই আপলোড করতে আপলোড করুন বিকল্পে ক্লিক করুন। অন্তত একটি প্রয়োজন।
- আপনি যেখানে কী সেভ করেছেন সেই লোকেশনে ব্রাউজ করুন, এটি বেছে নিন এবং খুলুন বিকল্পে ক্লিক করুন। কী-এর জন্য কী আইডি যোগ করুন (এটি Apple Developer Member Center-এ উপলভ্য) এবং আপলোড করুন বিকল্পে ক্লিক করুন।
Apple প্ল্যাটফর্মে পুশ বিজ্ঞপ্তি চালু করা
- Xcode-এ আপনার প্রজেক্টে ক্লিক করুন, তারপর এডিটর এরিয়া থেকে সাধারণ ট্যাব বেছে নিন।
- স্ক্রল করে লিঙ্ক করা ফ্রেমওয়ার্ক ও লাইব্রেরি বিকল্পে যান, তারপর ফ্রেমওয়ার্ক যোগ করতে + বোতামে ক্লিক করুন।
- যে উইন্ডোটি দেখা যাবে, সেটিতে স্ক্রল করে UserNotifications.framework-এ যান, সেই এন্ট্রিতে ক্লিক করুন, তারপর যোগ করুন বিকল্পে ক্লিক করুন।
- Xcode-এ আপনার প্রজেক্টে ক্লিক করুন, তারপর এডিটর এরিয়া থেকে ক্ষমতা ট্যাব বেছে নিন।
- পুশ বিজ্ঞপ্তি বিকল্পটি পরিবর্তন করে চালু করুন হিসেবে সেট করুন।
- স্ক্রল করে ব্যাকগ্রাউন্ড মোড বিকল্পে যান, তারপর এটি চালু করুন বিকল্পে পরিবর্তন করুন।
- ব্যাকগ্রাউন্ড মোড বিকল্পের মধ্যে রিমোট বিজ্ঞপ্তি চেকবক্স বেছে নিন।
Firebase Cloud Messaging চালু করুন
Firebase ইনস্টলেশন আইডি ব্যবহার করে রেজিস্ট্রেশন চালু করা
Firebase Cloud Messaging ব্যবহার করে আপনার অ্যাপ ইনস্ট্যান্স রেজিস্টার করার সুবিধা চালু করতে Firebase ইনস্টলেশন আইডি (FID), আপনাকে অবশ্যই Android এবং Apple দুটি প্ল্যাটফর্মের জন্যই আপনার অ্যাপের কনফিগারেশনে FID চালু করতে হবে:
Android
আপনার AndroidManifest.xml-এর <application> এলিমেন্টের মধ্যে নিম্নলিখিত <meta-data> এলিমেন্ট যোগ করুন:
<meta-data android:name="firebase_messaging_installation_id_enabled" android:value="true" />
Swift
আপনার Info.plist-এ FirebaseMessagingInstallationIdEnabled কী যোগ করুন এবং এটি YES হিসেবে সেট করুন:
FirebaseMessagingInstallationIdEnabled = YES
FCM ইভেন্টের জন্য রেজিস্টার করা
RegistrationReceived বা MessageReceived ইভেন্টের জন্য হ্যান্ডলার যোগ করার সময় Firebase Cloud Messaging লাইব্রেরি
ইনিশিয়ালাইজ করা হবে।
ইনিশিয়ালাইজেশনের সময়, Firebase Cloud Messaging মেসেজ পাওয়ার জন্য
Firebase ইনস্টলেশন আইডি (FID)
ব্যবহার করে ক্লায়েন্ট অ্যাপ ইনস্ট্যান্স রেজিস্টার করে। অ্যাপটি RegistrationReceived ইভেন্টের সাথে FID পায়, যা আপনাকে
আপনার সার্ভারে ক্যাশে করতে হবে, যাতে মেসেজ পাঠানোর সময় এই নির্দিষ্ট ডিভাইসকে টার্গেট করা যায়।
এছাড়াও, আপনি ইনকামিং মেসেজ পেতে চাইলে আপনাকে OnMessageReceived ইভেন্টের জন্য
রেজিস্টার করতে হবে।
সেট-আপটি দেখতে এমন হবে:
public void Start() { Firebase.Messaging.FirebaseMessaging.RegistrationReceived += OnRegistrationReceived; Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived; } public void OnRegistrationReceived( object sender, Firebase.Messaging.RegistrationReceivedEventArgs e) { UnityEngine.Debug.Log("Received Firebase Installation ID: " + e.InstallationId); // TODO: Send the Firebase Installation ID (FID) to your app server to target // this device for messages. } public void OnMessageReceived( object sender, Firebase.Messaging.MessageReceivedEventArgs e) { UnityEngine.Debug.Log("Received a new message from: " + e.Message.From); }
Firebase ইনস্টলেশন আইডি পাওয়ার পরে, সেটি আপনার অ্যাপ সার্ভারে পাঠান এবং আপনার পছন্দের পদ্ধতি ব্যবহার করে সেটি স্টোর করুন।
অটোমেটিক ইনিশিয়ালাইজেশন বন্ধ করা থাকলে ম্যানুয়ালি রেজিস্টার করা
এছাড়াও, আপনি রানটাইমে FCM ব্যবহার করে ম্যানুয়ালি রেজিস্ট্রেশন ট্রিগার করতে পারবেন
RegisterAsync():
// Manually register with FCM Firebase.Messaging.FirebaseMessaging.RegisterAsync().ContinueWith(task => { if (task.IsCompleted) { // Note: The registered Installation ID is delivered to the // RegistrationReceived event handler. UnityEngine.Debug.Log("Registered with FCM"); } });
FCM রেজিস্ট্রেশন টোকেন অ্যাক্সেস করা (সচল নয়)
আপনার অ্যাপ এখনও অননুমোদিত টোকেন API ব্যবহার করলে, আপনি
TokenReceived-এর জন্য শুনতে পারেন:
// Deprecated: Use RegistrationReceived instead public void Start() { Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived; } public void OnTokenReceived( object sender, Firebase.Messaging.TokenReceivedEventArgs token) { UnityEngine.Debug.Log("Received Registration Token: " + token.Token); }
Android প্ল্যাটফর্মের সাথে সেট-আপ করা
Unity এবং Android প্ল্যাটফর্মের সাথে FCM সেট-আপ করতে নিম্নলিখিত নির্দেশাবলী ব্যবহার করুন।
Android এন্ট্রি পয়েন্ট অ্যাক্টিভিটি কনফিগার করা
Firebase Cloud Messaging-এর সাথে একটি কাস্টম এন্ট্রি পয়েন্ট
অ্যাক্টিভিটি বান্ডেল করা থাকে যা ডিফল্ট UnityPlayerActivity-কে প্রতিস্থাপন করে। আপনি কাস্টম
এন্ট্রি পয়েন্ট ব্যবহার না করলে, এই রিপ্লেসমেন্ট অটোমেটিক হয়ে যায় এবং আপনাকে
কোনও অতিরিক্ত অ্যাকশন নিতে হয় না।
Android-এ Firebase Cloud Messaging Unity প্লাগ-ইন দুটি অতিরিক্ত ফাইল সহ বান্ডেল করা থাকে:
Assets/Plugins/Android/libmessaging_unity_player_activity.jar-এMessagingUnityPlayerActivityনামের একটি অ্যাক্টিভিটি আছে যা স্ট্যান্ডার্ডUnityPlayerActivity-এর পরিবর্তে ব্যবহার করা হয়।Assets/Plugins/Android/AndroidManifest.xmlঅ্যাপের এন্ট্রি পয়েন্ট হিসেবেMessagingUnityPlayerActivityব্যবহার করার জন্য অ্যাপকে নির্দেশ দেয়।
এইসব ফাইল প্রদান করা হয়েছে কারণ ডিফল্ট UnityPlayerActivity, onStop, onRestart অ্যাক্টিভিটি লাইফসাইকেল ট্রানজিশন ম্যানেজ করে না অথবা onNewIntent প্রয়োগ করে না, যা Firebase Cloud Messaging-এর ক্ষেত্রে ইনকামিং মেসেজ সঠিকভাবে
ম্যানেজ করার জন্য প্রয়োজনীয়।
কাস্টম এন্ট্রি পয়েন্ট অ্যাক্টিভিটি কনফিগার করা
আপনার অ্যাপ ডিফল্ট UnityPlayerActivity ব্যবহার না করলে, আপনাকে সাপ্লাই করা AndroidManifest.xml সরিয়ে দিতে হবে এবং নিশ্চিত করতে হবে যে আপনার কাস্টম
অ্যাক্টিভিটি Android অ্যাক্টিভিটি
লাইফসাইকেলের
সব ট্রানজিশন সঠিকভাবে ম্যানেজ করে (এটি কীভাবে করতে হয় তার একটি উদাহরণ নিচে দেখানো হয়েছে)। আপনার কাস্টম অ্যাক্টিভিটি যদি এক্সটেন্ড করে
UnityPlayerActivity, তাহলে আপনি পরিবর্তে এক্সটেন্ড করতে পারেন
com.google.firebase.MessagingUnityPlayerActivity, যা সমস্ত
প্রয়োজনীয় পদ্ধতি প্রয়োগ করে।
আপনি কাস্টম অ্যাক্টিভিটি ব্যবহার করলে এবং সেটি এক্সটেন্ড না করলে
com.google.firebase.MessagingUnityPlayerActivity, আপনাকে অ্যাক্টিভিটিতে
নিচের স্নিপেট যোগ করতে হবে।
/** * Workaround for when a message is sent containing both a Data and Notification payload. * * When the app is in the background, if a message with both a data and notification payload is * received the data payload is stored on the Intent passed to onNewIntent. By default, that * intent does not get set as the Intent that started the app, so when the app comes back online * it doesn't see a new FCM message to respond to. As a workaround, we override onNewIntent so * that it sends the intent to the MessageForwardingService which forwards the message to the * FirebaseMessagingService which in turn sends the message to the application. */ @Override protected void onNewIntent(Intent intent) { Intent message = new Intent(this, MessageForwardingService.class); message.setAction(MessageForwardingService.ACTION_REMOTE_INTENT); message.putExtras(intent); message.setData(intent.getData()); // For earlier versions of Firebase C++ SDK (< 7.1.0), use `startService`. // startService(message); MessageForwardingService.enqueueWork(this, message); } /** * Dispose of the mUnityPlayer when restarting the app. * * This makes sure that when the app starts up again it does not start with stale data. */ @Override protected void onCreate(Bundle savedInstanceState) { if (mUnityPlayer != null) { mUnityPlayer.quit(); mUnityPlayer = null; } super.onCreate(savedInstanceState); }
Firebase C++ SDK-এর নতুন ভার্সন (7.1.0 ও তার পরবর্তী যেকোনও ভার্সন) JobIntentService ব্যবহার করে, যার জন্য AndroidManifest.xml ফাইলে
অতিরিক্ত পরিবর্তন করতে হয়।
<service android:name="com.google.firebase.messaging.MessageForwardingService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="false" > </service>
Android-এ মেসেজ ডেলিভারি
অ্যাপ একেবারেই না চললে এবং কোনও ব্যবহারকারী বিজ্ঞপ্তিতে ট্যাপ করলে,
মেসেজটি ডিফল্ট হিসেবে FCM-এর বিল্ট-ইন
কলব্যাকের মাধ্যমে রাউট করা হয় না। এই ক্ষেত্রে, Intent
ব্যবহার করে অ্যাপ্লিকেশন শুরু করার মাধ্যমে মেসেজ পেলোড পাওয়া যায়।
অ্যাপ ব্যাকগ্রাউন্ডে থাকাকালীন পাওয়া মেসেজের বিজ্ঞপ্তি ফিল্ডের কন্টেন্ট সিস্টেম ট্রে বিজ্ঞপ্তি পূরণ করতে ব্যবহার করা হয়, কিন্তু সেই
বিজ্ঞপ্তির কন্টেন্ট FCM-কে জানানো হয় না। এর অর্থ হল,
FirebaseMessage.Notification-এর মান শূন্য হবে।
এককথায়:
| অ্যাপের স্ট্যাটাস | বিজ্ঞপ্তি | ডেটা | উভয়ই |
|---|---|---|---|
| ফোরগ্রাউন্ড | Firebase.Messaging.FirebaseMessaging.MessageReceived |
Firebase.Messaging.FirebaseMessaging.MessageReceived |
Firebase.Messaging.FirebaseMessaging.MessageReceived |
| ব্যাকগ্রাউন্ড | সিস্টেম ট্রে | Firebase.Messaging.FirebaseMessaging.MessageReceived |
বিজ্ঞপ্তি: সিস্টেম ট্রে ডেটা: ইনটেন্টের এক্সট্রাতে। |
Android-এ ডিপ লিঙ্ক সহ মেসেজ ম্যানেজ করা
FCM আপনার অ্যাপে ডিপ লিঙ্ক সহ মেসেজ পাঠানোর অনুমতি দেয়। ডিপ লিঙ্ক সহ মেসেজ পেতে, আপনার অ্যাপের জন্য ডিপ লিঙ্ক ম্যানেজ করে এমন অ্যাক্টিভিটিতে আপনাকে অবশ্যই একটি নতুন ইনটেন্ট ফিল্টার যোগ করতে হবে। ইনটেন্ট ফিল্টারকে আপনার ডোমেনের ডিপ লিঙ্ক ক্যাচ করতে হবে। AndroidManifest.xml-এ:
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="CHANGE_THIS_DOMAIN.example.com" android:scheme="http"/> <data android:host="CHANGE_THIS_DOMAIN.example.com" android:scheme="https"/> </intent-filter>
এছাড়াও, ইনটেন্ট ফিল্টারকে আরও ফ্লেক্সিবল করতে ওয়াইল্ডকার্ড নির্দিষ্ট করা যেতে পারে। যেমন:
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="*.example.com" android:scheme="http"/> <data android:host="*.example.com" android:scheme="https"/> </intent-filter>
ব্যবহারকারী যখন স্কিম ও হোস্টের লিঙ্ক থাকা কোনও বিজ্ঞপ্তিতে ট্যাপ করেন, যা আপনি নির্দিষ্ট করেছেন, তখন আপনার অ্যাপ এই ইনটেন্ট ফিল্টার সহ অ্যাক্টিভিটি শুরু করবে, যাতে লিঙ্কটি ম্যানেজ করা যায়।
অটোমেটিক শুরু হওয়া আটকানো
FCM ডিভাইস টার্গেটিংয়ের জন্য রেজিস্ট্রেশন টোকেন তৈরি করে।
টোকেন তৈরি হলে, লাইব্রেরি Firebase-এ
আইডেন্টিফায়ার ও কনফিগারেশন ডেটা আপলোড করে। টোকেন ব্যবহার করার আগে আপনি যদি স্পষ্ট
সম্মতি পেতে চান, তাহলে কনফিগার করার সময় FCM (এবং Android-এ, Analytics) বন্ধ করে
জেনারেট করা আটকাতে পারেন। আপনি Apple-এ নিজের Info.plist-এ (GoogleService-Info.plist-এ নয়) অথবা Android-এ নিজের
AndroidManifest.xml-এ
মেটাডেটা ভ্যালু যোগ করতে পারবেন:
Android
<?xml version="1.0" encoding="utf-8"?> <application> <meta-data android:name="firebase_messaging_auto_init_enabled" android:value="false" /> <meta-data android:name="firebase_analytics_collection_enabled" android:value="false" /> </application>
Swift
FirebaseMessagingAutoInitEnabled = NO
FCM আবার চালু করতে, আপনি রানটাইম কল করতে পারেন:
Firebase.Messaging.FirebaseMessaging.RegistrationOnInitEnabled = true;
একবার সেট করা হয়ে গেলে, অ্যাপ রিস্টার্ট করা হলেও এই ভ্যালু থেকে যায়।
পরবর্তী ধাপ
সেট-আপ ধাপগুলি সম্পূর্ণ করার পরে, FCM-এর সাথে এগিয়ে যাওয়ার জন্য এখানে কয়েকটি বিকল্প দেওয়া হল Unity: