| প্ল্যাটফর্ম বেছে নিন: | 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 লেভেল ২৪ (Nougat) বা তার পরবর্তী ভার্সনকে টার্গেট করে
আপনার 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-এর জন্য — iOS বান্ডেল আইডি ফিল্ডে আপনার Unity প্রোজেক্টের iOS আইডি লিখুন।
Android-এর জন্য — আপনার Unity প্রোজেক্টের Android ID, Android প্যাকেজ নাম ফিল্ডে লিখুন।
প্যাকেজের নাম এবং অ্যাপ্লিকেশন আইডি শব্দগুলি প্রায়ই একে অপরের পরিবর্তে ব্যবহার করা হয়।
(ঐচ্ছিক) আপনার Unity প্রোজেক্টের প্ল্যাটফর্ম-নির্দিষ্ট ডাকনাম লিখুন।
এই ডাকনামগুলি হল ইন্টার্নাল, সুবিধাজনক শনাক্তকারী এবং শুধুমাত্র আপনিই Firebase কনসোলে দেখতে পাবেন।অ্যাপ রেজিস্টার করুন বিকল্পে ক্লিক করুন।
ধাপ ৩: Firebase কনফিগারেশন ফাইল যোগ করা
Firebase কনসোল সেট-আপ ওয়ার্কফ্লোতে আপনার প্ল্যাটফর্ম-নির্দিষ্ট Firebase কনফিগারেশন ফাইল পান।
iOS-এর জন্য — GoogleService-Info.plist ডাউনলোড করুন বিকল্পে ক্লিক করুন।
Android-এর জন্য — google-services.json ডাউনলোড করুন বিকল্পে ক্লিক করুন।
আপনার Unity প্রোজেক্টের প্রোজেক্ট উইন্ডো খুলুন, তারপর আপনার কনফিগারেশন ফাইল
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.
}
});
আপনার Unity প্রোজেক্ট রেজিস্টার করা হয়েছে এবং Firebase ব্যবহার করার জন্য কনফিগার করা হয়েছে।
Apple প্ল্যাটফর্মের সাথে সেট-আপ করা
Unity ও Apple প্ল্যাটফর্মের সাথে FCM সেট-আপ করতে নিম্নলিখিত নির্দেশাবলী ব্যবহার করুন।
আপনার APNs যাচাইকরণ কী আপলোড করুন
Firebase-এ আপনার APNs যাচাইকরণ কী আপলোড করুন। আপনার কাছে আগে থেকে APNs যাচাইকরণ কী না থাকলে, Apple Developer Member Center-এ একটি তৈরি করতে ভুলবেন না।
-
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: