আপনার মোবাইল এবং ওয়েব ক্লায়েন্ট অ্যাপে Firebase Cloud Messaging কীভাবে সেট আপ করবেন তা এই কুইকস্টার্ট বর্ণনা করে যাতে আপনি নির্ভরযোগ্যভাবে বার্তা পাঠাতে পারেন। সার্ভার পরিবেশের জন্য, আপনার সার্ভার পরিবেশ এবং FCM দেখুন।
ইউনিটির সাথে একটি Firebase Cloud Messaging ক্লায়েন্ট অ্যাপ সেট আপ করুন
ইউনিটির সাথে আপনার ক্রস-প্ল্যাটফর্ম Firebase Cloud Messaging ক্লায়েন্ট অ্যাপ লিখতে, Firebase Cloud Messaging API ব্যবহার করুন। ইউনিটি SDK প্রতিটি প্ল্যাটফর্মের জন্য প্রয়োজনীয় কিছু অতিরিক্ত সেটআপ সহ Android এবং Apple উভয়ের জন্যই কাজ করে।
আপনি শুরু করার আগে
পূর্বশর্ত
Unity 2021 LTS বা তার পরে ইনস্টল করুন। ইউনিটি 2020-এর জন্য সমর্থন অবমূল্যায়িত বলে বিবেচিত হয় এবং পরবর্তী বড় রিলিজের পরে আর সক্রিয়ভাবে সমর্থন করা হবে না। আগের সংস্করণগুলিও সামঞ্জস্যপূর্ণ হতে পারে কিন্তু সক্রিয়ভাবে সমর্থিত হবে না৷
(শুধুমাত্র অ্যাপল প্ল্যাটফর্ম) নিম্নলিখিতগুলি ইনস্টল করুন:
- Xcode 13.3.1 বা উচ্চতর
- CocoaPods 1.12.0 বা উচ্চতর
নিশ্চিত করুন যে আপনার ইউনিটি প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে:
- iOS এর জন্য — লক্ষ্য iOS 13 বা উচ্চতর
- TVOS এর জন্য - লক্ষ্য tvOS 13 বা তার বেশি
- অ্যান্ড্রয়েডের জন্য — লক্ষ্য API স্তর 21 (ললিপপ) বা উচ্চতর
আপনার ইউনিটি প্রকল্প চালানোর জন্য একটি ডিভাইস সেট আপ করুন বা একটি এমুলেটর ব্যবহার করুন৷
iOS বা tvOS-এর জন্য আপনার অ্যাপ চালানোর জন্য একটি ফিজিক্যাল ডিভাইস সেট আপ করুন এবং এই কাজগুলি সম্পূর্ণ করুন:
- আপনার Apple বিকাশকারী অ্যাকাউন্টের জন্য একটি Apple Push বিজ্ঞপ্তি প্রমাণীকরণ কী পান৷
- অ্যাপ > ক্ষমতার অধীনে XCode-এ পুশ বিজ্ঞপ্তি সক্ষম করুন।
অ্যান্ড্রয়েডের জন্য — এমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।
- আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন ।
আপনার যদি ইতিমধ্যে একটি ইউনিটি প্রজেক্ট না থাকে এবং শুধুমাত্র একটি ফায়ারবেস পণ্য ব্যবহার করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন৷
ধাপ 1: একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনার ইউনিটি প্রোজেক্টে ফায়ারবেস যোগ করার আগে, আপনার ইউনিটি প্রোজেক্টের সাথে সংযোগ করার জন্য আপনাকে একটি ফায়ারবেস প্রোজেক্ট তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷
ধাপ 2: Firebase-এ আপনার অ্যাপ নিবন্ধন করুন
আপনার Firebase প্রকল্পের সাথে সংযোগ করতে আপনি এক বা একাধিক অ্যাপ বা গেম নিবন্ধন করতে পারেন।
Firebase কনসোলে যান।
প্রকল্প ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে ইউনিটি আইকনে ক্লিক করুন (
)।আপনি যদি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্মের বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন -এ ক্লিক করুন।
আপনার ইউনিটি প্রজেক্টের কোন বিল্ড টার্গেট আপনি নিবন্ধন করতে চান তা নির্বাচন করুন, অথবা আপনি এখন একই সময়ে উভয় লক্ষ্যমাত্রা নিবন্ধন করতে নির্বাচন করতে পারেন।
আপনার ইউনিটি প্রকল্পের প্ল্যাটফর্ম-নির্দিষ্ট আইডি(গুলি) লিখুন।
iOS এর জন্য — iOS বান্ডেল আইডি ক্ষেত্রে আপনার ইউনিটি প্রকল্পের iOS আইডি লিখুন।
অ্যান্ড্রয়েডের জন্য - অ্যান্ড্রয়েড প্যাকেজ নামের ক্ষেত্রে আপনার ইউনিটি প্রকল্পের অ্যান্ড্রয়েড আইডি লিখুন।
পদ প্যাকেজ নাম এবং অ্যাপ্লিকেশন আইডি প্রায়ই বিনিময়যোগ্যভাবে ব্যবহার করা হয়.
আপনার ইউনিটি আইডিই-তে আপনার ইউনিটি প্রকল্প খুলুন, তারপর প্রতিটি প্ল্যাটফর্মের জন্য সেটিংস বিভাগে নেভিগেট করুন:
iOS-এর জন্য - বিল্ড সেটিংস > iOS- এ নেভিগেট করুন।
অ্যান্ড্রয়েডের জন্য — অ্যান্ড্রয়েড > প্লেয়ার সেটিংস > অন্যান্য সেটিংস- এ নেভিগেট করুন।
আপনার ইউনিটি প্রজেক্টের আইডি হল বান্ডেল আইডেন্টিফায়ার মান (উদাহরণ আইডি:
com.yourcompany.yourproject
)।(ঐচ্ছিক) আপনার ইউনিটি প্রকল্পের প্ল্যাটফর্ম-নির্দিষ্ট ডাকনাম লিখুন।
এই ডাকনামগুলি অভ্যন্তরীণ, সুবিধার শনাক্তকারী এবং শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান৷রেজিস্টার অ্যাপে ক্লিক করুন।
ধাপ 3: Firebase কনফিগারেশন ফাইল যোগ করুন
Firebase কনসোল সেটআপ ওয়ার্কফ্লোতে আপনার প্ল্যাটফর্ম-নির্দিষ্ট Firebase কনফিগারেশন ফাইল(গুলি) পান।
iOS-এর জন্য - GoogleService-Info.plist ডাউনলোড করুন ক্লিক করুন।
অ্যান্ড্রয়েডের জন্য — ডাউনলোড google-services.json এ ক্লিক করুন।
Firebase কনফিগারেশন ফাইলটিতে আপনার প্রোজেক্ট এবং অ্যাপের জন্য অনন্য, কিন্তু অ-গোপন শনাক্তকারী রয়েছে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, Firebase প্রজেক্ট বুঝতে দেখুন।
আপনি যে কোনো সময় আপনার Firebase কনফিগারেশন ফাইলটি আবার ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগার ফাইলের নাম অতিরিক্ত অক্ষরের সাথে যুক্ত করা হয়নি, যেমন
(2)
।
আপনার ইউনিটি প্রকল্পের প্রজেক্ট উইন্ডো খুলুন, তারপর আপনার কনফিগার ফাইল(গুলি)
Assets
ফোল্ডারে সরান।Firebase কনসোলে ফিরে, সেটআপ ওয়ার্কফ্লোতে, Next এ ক্লিক করুন।
ধাপ 4: Firebase Unity SDK যোগ করুন
Firebase কনসোলে, Firebase Unity SDK ডাউনলোড করুন-এ ক্লিক করুন, তারপর সুবিধাজনক জায়গায় SDK আনজিপ করুন।
আপনি যে কোনো সময় আবার Firebase Unity SDK ডাউনলোড করতে পারেন।
Firebase Unity SDK প্ল্যাটফর্ম-নির্দিষ্ট নয়।
আপনার ওপেন ইউনিটি প্রকল্পে, সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজে নেভিগেট করুন।
আনজিপ করা 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 এ ক্লিক করুন।
ধাপ 5: Google Play পরিষেবার সংস্করণের প্রয়োজনীয়তা নিশ্চিত করুন
অ্যান্ড্রয়েডের জন্য Firebase Unity SDK-এর কিছু পণ্যের জন্য Google Play services প্রয়োজন। কোন পণ্যের এই নির্ভরতা আছে তা জানুন। সেই পণ্যগুলি ব্যবহার করার আগে Google Play services অবশ্যই আপ টু ডেট হতে হবে৷
আপনার আবেদনের শুরুতে স্টেটমেন্ট এবং ইনিশিয়ালাইজেশন কোড using
নিম্নলিখিত যোগ করুন। আপনি এসডিকে-তে অন্য কোনও পদ্ধতিতে কল করার আগে প্রয়োজনীয় সংস্করণে 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 ক্য এবং অ্যাপল প্ল্যাটফর্ম সহ FCM সেট আপ করতে নিম্নলিখিত নির্দেশাবলী ব্যবহার করুন।
আপনার এপিএনএস প্রমাণীকরণ কী আপলোড করুন
ফায়ারবেসে আপনার এপিএনএস প্রমাণীকরণ কী আপলোড করুন। আপনার যদি ইতিমধ্যে কোনও এপিএনএস প্রমাণীকরণ কী না থাকে তবে অ্যাপল বিকাশকারী সদস্য কেন্দ্রে একটি তৈরি করার বিষয়টি নিশ্চিত করুন।
Firebase কনসোলে আপনার প্রকল্পের অভ্যন্তরে গিয়ার আইকনটি নির্বাচন করুন, প্রকল্প সেটিংস নির্বাচন করুন এবং তারপরে ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন।
আইওএস অ্যাপ্লিকেশন কনফিগারেশনের অধীনে এপিএনএস প্রমাণীকরণ কীতে , আপনার বিকাশ প্রমাণীকরণ কী, বা উত্পাদন প্রমাণীকরণ কী, বা উভয়ই আপলোড করতে আপলোড বোতামটি ক্লিক করুন। কমপক্ষে একটি প্রয়োজন।
আপনি যেখানে আপনার কীটি সংরক্ষণ করেছেন সেখানে ব্রাউজ করুন, এটি নির্বাচন করুন এবং খুলুন ক্লিক করুন। কীটির জন্য কী আইডি যুক্ত করুন ( অ্যাপল বিকাশকারী সদস্য কেন্দ্রে উপলব্ধ) এবং আপলোড ক্লিক করুন।
অ্যাপল প্ল্যাটফর্মগুলিতে পুশ বিজ্ঞপ্তিগুলি সক্ষম করুন
- এক্সকোডে আপনার প্রকল্পটি ক্লিক করুন, তারপরে সম্পাদক অঞ্চল থেকে সাধারণ ট্যাবটি নির্বাচন করুন।
- লিঙ্কযুক্ত ফ্রেমওয়ার্ক এবং লাইব্রেরিতে স্ক্রোল করুন, তারপরে একটি কাঠামো যুক্ত করতে + বোতামটি ক্লিক করুন।
- যে উইন্ডোতে প্রদর্শিত হবে, ইউজারোনটিফিকেশন.ফ্রেম ওয়ার্কে স্ক্রোল করুন, সেই এন্ট্রিটি ক্লিক করুন, তারপরে অ্যাড ক্লিক করুন।
- এক্সকোডে আপনার প্রকল্পটি ক্লিক করুন, তারপরে সম্পাদক অঞ্চল থেকে সক্ষমতা ট্যাবটি নির্বাচন করুন।
- পুশ বিজ্ঞপ্তিগুলি চালু করুন।
- ব্যাকগ্রাউন্ড মোডগুলিতে স্ক্রোল করুন, তারপরে এটি চালু করুন।
- ব্যাকগ্রাউন্ড মোডগুলির অধীনে দূরবর্তী বিজ্ঞপ্তিগুলি চেকবক্সটি নির্বাচন করুন।
Firebase Cloud Messaging আরম্ভ করুন
TokenReceived
বা MessageReceived
ইভেন্টগুলির জন্য হ্যান্ডলারগুলি যুক্ত করার সময় ফায়ারবেস ক্লাউড বার্তা লাইব্রেরিটি আরম্ভ করা হবে।
সূচনা করার পরে, ক্লায়েন্ট অ্যাপ্লিকেশন উদাহরণের জন্য একটি নিবন্ধকরণ টোকেন অনুরোধ করা হয়। অ্যাপটি 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
অপসারণ করতে হবে এবং নিশ্চিত করুন যে আপনার কাস্টম ক্রিয়াকলাপটি অ্যান্ড্রয়েড ক্রিয়াকলাপের লাইফসাইকেলের সমস্ত ট্রানজিশন সঠিকভাবে পরিচালনা করে (এটি কীভাবে করা যায় তার একটি উদাহরণ নীচে দেখানো হয়েছে)। যদি আপনার কাস্টম ক্রিয়াকলাপটি 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); }
ফায়ারবেস সি ++ এসডিকে (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>
অ্যান্ড্রয়েডে বার্তা বিতরণ
যখন অ্যাপটি মোটেও চলছে না এবং কোনও ব্যবহারকারী কোনও বিজ্ঞপ্তিতে ট্যাপ করে, বার্তাটি ডিফল্টরূপে কলব্যাকগুলিতে নির্মিত FCM মাধ্যমে চালিত হয় না। এই ক্ষেত্রে, অ্যাপ্লিকেশনটি শুরু করার জন্য ব্যবহৃত একটি Intent
মাধ্যমে বার্তা পে -লোডগুলি প্রাপ্ত হয়।
অ্যাপটিতে থাকা অবস্থায় প্রাপ্ত বার্তাগুলি তাদের বিজ্ঞপ্তি ক্ষেত্রের বিষয়বস্তু সিস্টেম ট্রে বিজ্ঞপ্তি পপুলেট করতে ব্যবহৃত হয়, তবে সেই বিজ্ঞপ্তি সামগ্রীটি FCM -এ যোগাযোগ করা হবে না। এর অর্থ হ'ল FirebaseMessage.Notification
একটি বাতিল হবে।
সংক্ষেপে:
অ্যাপ স্টেট | বিজ্ঞপ্তি | ডেটা | উভয় |
---|---|---|---|
ফোরগ্রাউন্ড | Firebase.Messaging.FirebaseMessaging.MessageReceived | Firebase.Messaging.FirebaseMessaging.MessageReceived | Firebase.Messaging.FirebaseMessaging.MessageReceived |
পটভূমি | সিস্টেম ট্রে | Firebase.Messaging.FirebaseMessaging.MessageReceived | বিজ্ঞপ্তি: সিস্টেম ট্রে ডেটা: অভিপ্রায় অতিরিক্ত। |
অ্যান্ড্রয়েডে গভীর লিঙ্ক সহ বার্তাগুলি পরিচালনা করা
FCM আপনার অ্যাপ্লিকেশনটিতে একটি গভীর লিঙ্কযুক্ত বার্তাগুলি প্রেরণ করার অনুমতি দেয়। গভীর লিঙ্কযুক্ত বার্তাগুলি পেতে, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনটির জন্য গভীর লিঙ্কগুলি পরিচালনা করে এমন ক্রিয়াকলাপে একটি নতুন অভিপ্রায় ফিল্টার যুক্ত করতে হবে। অভিপ্রায় ফিল্টারটি আপনার ডোমেনের গভীর লিঙ্কগুলি ধরা উচিত। অ্যান্ড্রয়েডম্যানিফেস্ট.এক্সএমএল:
<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 ডিভাইস টার্গেটিংয়ের জন্য একটি নিবন্ধকরণ টোকেন উত্পন্ন করে। যখন একটি টোকেন উত্পন্ন হয়, গ্রন্থাগারটি সনাক্তকারী এবং কনফিগারেশন ডেটা ফায়ারবেসে আপলোড করে। আপনি যদি টোকেন ব্যবহার করার আগে একটি সুস্পষ্ট অপ্ট-ইন পেতে চান তবে আপনি এফসিএম (এবং অ্যান্ড্রয়েড, অ্যানালিটিক্সে) অক্ষম করে কনফিগার করার সময় প্রজন্মকে প্রতিরোধ করতে পারেন। আপনি অ্যাপলটিতে আপনার 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
এফসিএম পুনরায় সক্ষম করতে, আপনি একটি রানটাইম কল করতে পারেন:
Firebase.Messaging.FirebaseMessaging.TokenRegistrationOnInitEnabled = true;
এই মানটি একবার সেট হয়ে গেলে অ্যাপটি পুনরায় চালু করে।
পরবর্তী পদক্ষেপ
আপনি সেটআপ পদক্ষেপগুলি শেষ করার পরে, unity ক্যের জন্য FCM দিয়ে এগিয়ে যাওয়ার জন্য কয়েকটি বিকল্প এখানে রয়েছে: