| প্ল্যাটফর্ম নির্বাচন করুন: | iOS+ অ্যান্ড্রয়েড ওয়েব ফ্লাটার ইউনিটি C++ |
এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে আপনার ইউনিটি ক্লায়েন্ট অ্যাপে Firebase Cloud Messaging শুরু করবেন, যাতে আপনি নির্ভরযোগ্যভাবে বার্তা পাঠাতে পারেন।
ইউনিটি দিয়ে আপনার ক্রস-প্ল্যাটফর্ম Firebase Cloud Messaging ক্লায়েন্ট অ্যাপ তৈরি করতে, Firebase Cloud Messaging এপিআই ব্যবহার করুন। ইউনিটি এসডিকে অ্যান্ড্রয়েড এবং অ্যাপল উভয়ের জন্যই কাজ করে, তবে প্রতিটি প্ল্যাটফর্মের জন্য কিছু অতিরিক্ত সেটআপের প্রয়োজন হয়।
শুরু করার আগে
পূর্বশর্ত
ইউনিটি ২০২১ এলটিএস বা তার পরবর্তী সংস্করণ ইনস্টল করুন। পূর্ববর্তী সংস্করণগুলোও সামঞ্জস্যপূর্ণ হতে পারে, কিন্তু সেগুলোর জন্য সক্রিয়ভাবে সমর্থন দেওয়া হবে না।
(শুধুমাত্র অ্যাপল প্ল্যাটফর্মের জন্য) নিম্নলিখিতগুলি ইনস্টল করুন:
- এক্সকোড ১৬.২ বা উচ্চতর
- CocoaPods 1.12.0 বা উচ্চতর সংস্করণ
নিশ্চিত করুন যে আপনার ইউনিটি প্রজেক্টটি এই শর্তগুলো পূরণ করে:
- iOS-এর জন্য — iOS 15 বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি
- tvOS-এর জন্য - tvOS 15 বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি।
- অ্যান্ড্রয়েডের জন্য — এপিআই লেভেল ২৩ (মার্শমেলো) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি।
আপনার ইউনিটি প্রজেক্টটি চালানোর জন্য একটি ডিভাইস সেট আপ করুন অথবা একটি এমুলেটর ব্যবহার করুন।
iOS বা tvOS-এর জন্য — আপনার অ্যাপটি চালানোর জন্য একটি ফিজিক্যাল ডিভাইস সেট আপ করুন এবং এই কাজগুলো সম্পন্ন করুন:
- আপনার অ্যাপল ডেভেলপার অ্যাকাউন্টের জন্য একটি অ্যাপল পুশ নোটিফিকেশন অথেনটিকেশন কী সংগ্রহ করুন।
- XCode-এর App > Capabilities অপশনের অধীনে পুশ নোটিফিকেশন চালু করুন।
অ্যান্ড্রয়েডের জন্য — এমুলেটরগুলোতে অবশ্যই গুগল প্লে সহ একটি এমুলেটর ইমেজ ব্যবহার করতে হবে।
- আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসে সাইন ইন করুন ।
যদি আপনার আগে থেকে কোনো ইউনিটি প্রজেক্ট না থাকে এবং আপনি শুধু ফায়ারবেসের কোনো প্রোডাক্ট ব্যবহার করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট স্যাম্পলগুলোর একটি ডাউনলোড করতে পারেন।
ধাপ ১: একটি ফায়ারবেস প্রজেক্ট তৈরি করুন।
আপনার ইউনিটি প্রজেক্টে ফায়ারবেস যোগ করার আগে, সেটির সাথে সংযোগ স্থাপনের জন্য আপনাকে একটি ফায়ারবেস প্রজেক্ট তৈরি করতে হবে। ফায়ারবেস প্রজেক্ট সম্পর্কে আরও জানতে ‘আন্ডারস্ট্যান্ড ফায়ারবেস প্রজেক্টস’ অংশটি দেখুন।
ধাপ ২: ফায়ারবেসে আপনার অ্যাপটি নিবন্ধন করুন।
আপনার ফায়ারবেস প্রজেক্টের সাথে সংযোগ করার জন্য আপনি এক বা একাধিক অ্যাপ বা গেম নিবন্ধন করতে পারেন।
Firebase কনসোলে যান।
প্রজেক্ট ওভারভিউ পেজের মাঝখানে, সেটআপ ওয়ার্কফ্লো চালু করতে ইউনিটি আইকনে ( ) ক্লিক করুন।
আপনি যদি আপনার Firebase প্রজেক্টে আগে থেকেই কোনো অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্ম অপশনগুলো দেখতে 'Add app'-এ ক্লিক করুন।
আপনার ইউনিটি প্রোজেক্টের কোন বিল্ড টার্গেটটি রেজিস্টার করতে চান তা নির্বাচন করুন, অথবা আপনি চাইলে এখনই একই সাথে দুটি টার্গেটই রেজিস্টার করতে পারেন।
আপনার ইউনিটি প্রোজেক্টের প্ল্যাটফর্ম-নির্দিষ্ট আইডি(গুলি) প্রবেশ করান।
iOS-এর জন্য — iOS বান্ডেল আইডি ফিল্ডে আপনার ইউনিটি প্রজেক্টের iOS আইডিটি প্রবেশ করান।
অ্যান্ড্রয়েডের জন্য — অ্যান্ড্রয়েড প্যাকেজ নেম ফিল্ডে আপনার ইউনিটি প্রজেক্টের অ্যান্ড্রয়েড আইডি লিখুন।
প্যাকেজ নেম এবং অ্যাপ্লিকেশন আইডি শব্দ দুটি প্রায়শই একই অর্থে ব্যবহৃত হয়।
আপনার Unity IDE-তে আপনার Unity প্রজেক্টটি খুলুন, তারপর প্রতিটি প্ল্যাটফর্মের জন্য সেটিংস বিভাগে যান:
iOS-এর জন্য — বিল্ড সেটিংস > iOS- এ যান।
অ্যান্ড্রয়েডের জন্য — অ্যান্ড্রয়েড > প্লেয়ার সেটিংস > অন্যান্য সেটিংস- এ যান।
আপনার ইউনিটি প্রজেক্টের আইডি হলো বান্ডেল আইডেন্টিফায়ার ভ্যালুটি (উদাহরণ আইডি:
com.yourcompany.yourproject)।(ঐচ্ছিক) আপনার ইউনিটি প্রোজেক্টের প্ল্যাটফর্ম-ভিত্তিক ডাকনাম(গুলি) লিখুন।
এই ডাকনামগুলি অভ্যন্তরীণ, সুবিধার্থে ব্যবহৃত শনাক্তকারী এবং এগুলি শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান।অ্যাপটি রেজিস্টার করতে ক্লিক করুন।
ধাপ ৩: ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
Firebase কনসোল সেটআপ ওয়ার্কফ্লো থেকে আপনার প্ল্যাটফর্ম-নির্দিষ্ট Firebase কনফিগারেশন ফাইলগুলো সংগ্রহ করুন।
iOS-এর জন্য — GoogleService-Info.plist ডাউনলোড করতে ক্লিক করুন।
অ্যান্ড্রয়েডের জন্য — google-services.json ডাউনলোড করতে ক্লিক করুন।
Firebase কনফিগারেশন ফাইলে আপনার প্রজেক্ট এবং অ্যাপের জন্য অনন্য, কিন্তু অ-গোপনীয় শনাক্তকারী থাকে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, "Understand Firebase Projects" দেখুন।
আপনি যেকোনো সময় আপনার ফায়ারবেস কনফিগারেশন ফাইলটি পুনরায় ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগারেশন ফাইলের নামের শেষে অতিরিক্ত অক্ষর যোগ করা হয়নি, যেমন
(2)।
আপনার ইউনিটি প্রজেক্টের প্রজেক্ট উইন্ডোটি খুলুন, এরপর আপনার কনফিগ ফাইলগুলো
Assetsফোল্ডারে সরিয়ে নিন।Firebase কনসোলে ফিরে এসে, সেটআপ ওয়ার্কফ্লোতে, Next বাটনে ক্লিক করুন।
ধাপ ৪: ফায়ারবেস ইউনিটি এসডিকে যোগ করুন
Firebase কনসোলে, ‘Download Firebase Unity SDK’- তে ক্লিক করুন, তারপর SDK-টি আপনার সুবিধামত কোনো জায়গায় আনজিপ করুন।
আপনি যেকোনো সময় Firebase Unity এসডিকে পুনরায় ডাউনলোড করতে পারেন।
Firebase Unity এসডিকে কোনো নির্দিষ্ট প্ল্যাটফর্মের জন্য নয়।
আপনার খোলা ইউনিটি প্রজেক্টে, Assets > Import Package > Custom Package- এ যান।
আনজিপ করা 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 প্যাকেজটি যোগ করুন:
ইমপোর্ট ইউনিটি প্যাকেজ উইন্ডোতে, ইমপোর্ট-এ ক্লিক করুন।
Firebase কনসোলে ফিরে এসে, সেটআপ ওয়ার্কফ্লোতে, Next বাটনে ক্লিক করুন।
ধাপ ৫: গুগল প্লে পরিষেবা সংস্করণের প্রয়োজনীয়তা নিশ্চিত করুন
অ্যান্ড্রয়েডের জন্য Firebase Unity এসডিকে-এর কিছু প্রোডাক্টের জন্য 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.
}
});
আপনার ইউনিটি প্রজেক্টটি ফায়ারবেস ব্যবহারের জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।
অ্যাপল প্ল্যাটফর্মগুলির সাথে সেটআপ করুন
ইউনিটি এবং অ্যাপল প্ল্যাটফর্মে FCM সেট আপ করতে নিম্নলিখিত নির্দেশাবলী ব্যবহার করুন।
আপনার APNs প্রমাণীকরণ কী আপলোড করুন
আপনার APNs অথেন্টিকেশন কী Firebase-এ আপলোড করুন। যদি আপনার আগে থেকে কোনো APNs অথেন্টিকেশন কী না থাকে, তবে Apple Developer Member Center থেকে একটি তৈরি করে নিন।
আপনার প্রোজেক্টের ভিতরে Firebase কনসোলে, গিয়ার আইকনটি নির্বাচন করুন, প্রোজেক্ট সেটিংস নির্বাচন করুন এবং তারপরে ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন।
iOS অ্যাপ কনফিগারেশনের অধীনে APNs অথেন্টিকেশন কী- তে, আপনার ডেভেলপমেন্ট অথেন্টিকেশন কী, অথবা প্রোডাকশন অথেন্টিকেশন কী, অথবা উভয়ই আপলোড করতে আপলোড বোতামে ক্লিক করুন। এর মধ্যে অন্তত একটি থাকা আবশ্যক।
যেখানে আপনি আপনার কী (key) সংরক্ষণ করেছেন সেই অবস্থানে যান, সেটি নির্বাচন করুন এবং 'Open'-এ ক্লিক করুন। কী-টির জন্য কী আইডি (যা Apple Developer Member Center- এ পাওয়া যাবে) যোগ করুন এবং 'Upload'-এ ক্লিক করুন।
অ্যাপল প্ল্যাটফর্মে পুশ নোটিফিকেশন চালু করুন
- Xcode-এ আপনার প্রজেক্টটিতে ক্লিক করুন, তারপর এডিটর এলাকা থেকে জেনারেল ট্যাবটি নির্বাচন করুন।
- ‘Linked Frameworks and Libraries’- এ স্ক্রোল করুন, তারপর একটি ফ্রেমওয়ার্ক যোগ করতে + বোতামে ক্লিক করুন।
- যে উইন্ডোটি প্রদর্শিত হবে, সেখানে স্ক্রল করে UserNotifications.framework পর্যন্ত যান, সেই এন্ট্রিটিতে ক্লিক করুন, তারপর Add-এ ক্লিক করুন।
- Xcode-এ আপনার প্রজেক্টটিতে ক্লিক করুন, তারপর Editor এলাকা থেকে Capabilities ট্যাবটি নির্বাচন করুন।
- পুশ নোটিফিকেশন চালু করুন।
- ব্যাকগ্রাউন্ড মোড -এ স্ক্রোল করুন, তারপর এটিকে অন- এ পরিবর্তন করুন।
- ব্যাকগ্রাউন্ড মোড-এর অধীনে রিমোট নোটিফিকেশন চেকবক্সটি নির্বাচন করুন।
Firebase Cloud Messaging শুরু করুন
TokenReceived অথবা MessageReceived ইভেন্টগুলোর জন্য হ্যান্ডলার যোগ করার সময় Firebase Cloud Message লাইব্রেরিটি ইনিশিয়ালাইজ করা হবে।
চালু করার সময়, ক্লায়েন্ট অ্যাপ ইনস্ট্যান্সের জন্য একটি রেজিস্ট্রেশন টোকেন অনুরোধ করা হয়। অ্যাপটি OnTokenReceived ইভেন্টের মাধ্যমে টোকেনটি গ্রহণ করবে, যা পরবর্তী ব্যবহারের জন্য ক্যাশ করে রাখা উচিত। আপনি যদি এই নির্দিষ্ট ডিভাইসটিকে মেসেজের জন্য টার্গেট করতে চান, তাহলে আপনার এই টোকেনটি প্রয়োজন হবে।
এছাড়াও, আগত বার্তা গ্রহণ করতে চাইলে আপনাকে OnMessageReceived ইভেন্টের জন্য নিবন্ধন করতে হবে।
সেটআপটি দেখতে এইরকম হবে:
public void Start() { Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived; Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived; } public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token) { UnityEngine.Debug.Log("Received Registration Token: " + token.Token); } public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) { UnityEngine.Debug.Log("Received a new message from: " + e.Message.From); }
অ্যান্ড্রয়েড প্ল্যাটফর্মের জন্য প্রস্তুতি নিন
ইউনিটি এবং অ্যান্ড্রয়েড প্ল্যাটফর্মে FCM সেটআপ করতে নিম্নলিখিত নির্দেশাবলী ব্যবহার করুন।
একটি অ্যান্ড্রয়েড এন্ট্রি পয়েন্ট অ্যাক্টিভিটি কনফিগার করুন
Firebase Cloud Messaging সাথে একটি কাস্টম এন্ট্রি পয়েন্ট অ্যাক্টিভিটি অন্তর্ভুক্ত থাকে, যা ডিফল্ট UnityPlayerActivity প্রতিস্থাপন করে। আপনি যদি কোনো কাস্টম এন্ট্রি পয়েন্ট ব্যবহার না করেন, তবে এই প্রতিস্থাপনটি স্বয়ংক্রিয়ভাবে হয়ে যায় এবং এর জন্য আপনাকে অতিরিক্ত কোনো পদক্ষেপ নিতে হবে না।
অ্যান্ড্রয়েডের জন্য Firebase Cloud Messaging ইউনিটি প্লাগইনটি দুটি অতিরিক্ত ফাইল সহ আসে:
-
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 Activity Lifecycle- এর সমস্ত ট্রানজিশন সঠিকভাবে পরিচালনা করছে (এটি কীভাবে করতে হয় তার একটি উদাহরণ নিচে দেখানো হয়েছে)। যদি আপনার কাস্টম অ্যাক্টিভিটি 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-এর নতুন সংস্করণগুলো (৭.১.০ ও তার পরবর্তী সংস্করণগুলো) JobIntentService ব্যবহার করে, যার জন্য AndroidManifest.xml ফাইলে অতিরিক্ত পরিবর্তনের প্রয়োজন হয়।
<service android:name="com.google.firebase.messaging.MessageForwardingService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="false" > </service>
অ্যান্ড্রয়েডে বার্তা বিতরণ
যখন অ্যাপটি একেবারেই চালু থাকে না এবং কোনো ব্যবহারকারী একটি নোটিফিকেশনে ট্যাপ করেন, তখন মেসেজটি ডিফল্টভাবে FCM এর বিল্ট-ইন কলব্যাকের মাধ্যমে রাউট করা হয় না। এই ক্ষেত্রে, অ্যাপ্লিকেশনটি চালু করার জন্য ব্যবহৃত একটি Intent মাধ্যমে মেসেজ পেলোডগুলো গ্রহণ করা হয়।
অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন প্রাপ্ত মেসেজগুলোর নোটিফিকেশন ফিল্ডের বিষয়বস্তু সিস্টেম ট্রে নোটিফিকেশন পূরণ করতে ব্যবহৃত হয়, কিন্তু সেই নোটিফিকেশনের বিষয়বস্তু FCM এ পাঠানো হয় না। এর মানে হলো, FirebaseMessage.Notification মান null হবে।
সারসংক্ষেপে:
| অ্যাপের অবস্থা | বিজ্ঞপ্তি | ডেটা | উভয় |
|---|---|---|---|
| সম্মুখভাগ | Firebase.Messaging.FirebaseMessaging.MessageReceived | Firebase.Messaging.FirebaseMessaging.MessageReceived | Firebase.Messaging.FirebaseMessaging.MessageReceived |
| পটভূমি | সিস্টেম ট্রে | Firebase.Messaging.FirebaseMessaging.MessageReceived | বিজ্ঞপ্তি: সিস্টেম ট্রে ডেটা: ইনটেন্টের অতিরিক্ত অংশে। |
অ্যান্ড্রয়েডে ডিপ লিঙ্ক সহ বার্তা পরিচালনা করা
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 (এবং অ্যান্ড্রয়েডে, অ্যানালিটিক্স) নিষ্ক্রিয় করে এর জেনারেশন প্রতিরোধ করতে পারেন। আপনি অ্যাপলে আপনার Info.plist এ (আপনার GoogleService-Info.plist নয়), অথবা অ্যান্ড্রয়েডে আপনার AndroidManifest.xml এ একটি মেটাডেটা ভ্যালু যোগ করতে পারেন:
অ্যান্ড্রয়েড
<?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>
সুইফট
FirebaseMessagingAutoInitEnabled = NO
FCM পুনরায় সক্রিয় করতে, আপনি একটি রানটাইম কল করতে পারেন:
Firebase.Messaging.FirebaseMessaging.TokenRegistrationOnInitEnabled = true;
একবার সেট করা হলে, এই মানটি অ্যাপ পুনরায় চালু করার পরেও অপরিবর্তিত থাকে।
পরবর্তী পদক্ষেপ
সেটআপ ধাপগুলো সম্পন্ন করার পর, ইউনিটির জন্য FCM for Unity) নিয়ে এগিয়ে যাওয়ার জন্য এখানে কয়েকটি বিকল্প দেওয়া হলো: