FCM ব্যবহার শুরু করার জন্য, সবচেয়ে সহজ ব্যবহারের ধরণ তৈরি করুন: অ্যাপটি যখন ডিভাইসের ব্যাকগ্রাউন্ডে থাকে তখন Notifications composer থেকে একটি ডেভেলপমেন্ট ডিভাইসে একটি পরীক্ষামূলক বিজ্ঞপ্তি বার্তা পাঠানো। এই পৃষ্ঠায় সেটআপ থেকে যাচাইকরণ পর্যন্ত সমস্ত পদক্ষেপ তালিকাভুক্ত করা হয়েছে - এটি FCM এর জন্য একটি Apple ক্লায়েন্ট অ্যাপ সেট আপ করলে আপনি ইতিমধ্যে সম্পন্ন করা পদক্ষেপগুলি অন্তর্ভুক্ত করতে পারে।
আপনার অ্যাপল প্রকল্পে ফায়ারবেস যোগ করুন
এই বিভাগটি আপনার অ্যাপের জন্য অন্যান্য Firebase বৈশিষ্ট্যগুলি সক্ষম করে থাকলে আপনি যে কাজগুলি সম্পন্ন করেছেন সেগুলি সম্পর্কে আলোচনা করে। বিশেষ করে FCM জন্য, আপনাকে আপনার APN প্রমাণীকরণ কী আপলোড করতে হবে এবং দূরবর্তী বিজ্ঞপ্তিগুলির জন্য নিবন্ধন করতে হবে ।
পূর্বশর্ত
নিম্নলিখিতগুলি ইনস্টল করুন:
- এক্সকোড ১৬.২ বা তার পরবর্তী সংস্করণ
আপনার প্রকল্পটি এই প্রয়োজনীয়তাগুলি পূরণ করে তা নিশ্চিত করুন:
- আপনার প্রকল্পটি অবশ্যই এই প্ল্যাটফর্ম সংস্করণগুলি বা তার পরবর্তী সংস্করণগুলিকে লক্ষ্য করবে:
- আইওএস ১৩
- ম্যাকওএস ১০.১৫
- টিভিওএস ১৩
- ওয়াচওএস ৭
- আপনার প্রকল্পটি অবশ্যই এই প্ল্যাটফর্ম সংস্করণগুলি বা তার পরবর্তী সংস্করণগুলিকে লক্ষ্য করবে:
আপনার অ্যাপ চালানোর জন্য একটি বাস্তব অ্যাপল ডিভাইস সেট আপ করুন এবং এই কাজগুলি সম্পন্ন করুন:
- আপনার অ্যাপল ডেভেলপার অ্যাকাউন্টের জন্য একটি অ্যাপল পুশ নোটিফিকেশন অথেনটিকেশন কী পান।
- XCode-এ App > Capabilities এর অধীনে Push Notifications সক্ষম করুন।
- আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসে সাইন ইন করুন ।
যদি আপনার কাছে ইতিমধ্যেই কোনও Xcode প্রকল্প না থাকে এবং শুধুমাত্র একটি Firebase পণ্য চেষ্টা করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন।
একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনার অ্যাপল অ্যাপে Firebase যোগ করার আগে, আপনার অ্যাপের সাথে সংযোগ স্থাপনের জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্প সম্পর্কে আরও জানতে Understand Firebase প্রকল্পগুলি দেখুন।
Firebase-এ আপনার অ্যাপ নিবন্ধন করুন
আপনার অ্যাপল অ্যাপে ফায়ারবেস ব্যবহার করার জন্য, আপনাকে আপনার ফায়ারবেস প্রোজেক্টের সাথে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপটি নিবন্ধন করাকে প্রায়শই আপনার প্রোজেক্টে আপনার অ্যাপটি "যোগ করা" বলা হয়।
Firebase কনসোলে যান।
প্রজেক্ট ওভারভিউ পৃষ্ঠার মাঝখানে, সেটআপ ওয়ার্কফ্লো চালু করতে iOS+ আইকনে ক্লিক করুন।
যদি আপনি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্ম বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন -এ ক্লিক করুন।
বান্ডেল আইডি ক্ষেত্রে আপনার অ্যাপের বান্ডেল আইডি লিখুন।
একটি বান্ডেল আইডি অ্যাপলের ইকোসিস্টেমে একটি অ্যাপ্লিকেশনকে অনন্যভাবে শনাক্ত করে।
আপনার বান্ডেল আইডি খুঁজুন: Xcode-এ আপনার প্রোজেক্ট খুলুন, প্রোজেক্ট নেভিগেটরে শীর্ষ-স্তরের অ্যাপটি নির্বাচন করুন, তারপর জেনারেল ট্যাবটি নির্বাচন করুন।
বান্ডেল আইডেন্টিফায়ার ফিল্ডের মান হল বান্ডেল আইডি (উদাহরণস্বরূপ,
com.yourcompany.yourproject
)।মনে রাখবেন যে বান্ডেল আইডি মানটি কেস-সংবেদনশীল, এবং আপনার ফায়ারবেস প্রকল্পে নিবন্ধিত হওয়ার পরে এই ফায়ারবেস অ্যাপের জন্য এটি পরিবর্তন করা যাবে না।
(ঐচ্ছিক) অন্যান্য অ্যাপ তথ্য লিখুন: অ্যাপের ডাকনাম এবং অ্যাপ স্টোর আইডি ।
অ্যাপের ডাকনাম : একটি অভ্যন্তরীণ, সুবিধাজনক শনাক্তকারী যা শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান।
অ্যাপ স্টোর আইডি : Firebase Dynamic Links দ্বারা ব্যবহারকারীদের আপনার অ্যাপ স্টোর পৃষ্ঠায় পুনঃনির্দেশিত করার জন্য এবং Google Analytics দ্বারা Google Ads রূপান্তর ইভেন্টগুলি আমদানি করার জন্য ব্যবহৃত হয়। যদি আপনার অ্যাপের এখনও অ্যাপ স্টোর আইডি না থাকে, তাহলে আপনি পরে আপনার প্রকল্প সেটিংসে আইডিটি যোগ করতে পারেন।
অ্যাপ নিবন্ধন করুন এ ক্লিক করুন।
একটি Firebase কনফিগারেশন ফাইল যোগ করুন
আপনার অ্যাপের Firebase কনফিগারেশন ফাইল (
GoogleService-Info.plist
) পেতে Download GoogleService-Info.plist এ ক্লিক করুন।Firebase কনফিগারেশন ফাইলটিতে আপনার প্রোজেক্ট এবং অ্যাপের জন্য অনন্য, কিন্তু গোপন নয় এমন শনাক্তকারী রয়েছে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, Understand Firebase Projects দেখুন।
আপনি যেকোনো সময় আপনার Firebase কনফিগারেশন ফাইলটি আবার ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগ ফাইলের নামটিতে অতিরিক্ত অক্ষর যুক্ত করা নেই, যেমন
(2)
।
আপনার কনফিগ ফাইলটি আপনার Xcode প্রজেক্টের রুটে সরান। যদি অনুরোধ করা হয়, তাহলে সমস্ত টার্গেটে কনফিগ ফাইল যোগ করতে নির্বাচন করুন।
যদি আপনার প্রোজেক্টে একাধিক বান্ডেল আইডি থাকে, তাহলে আপনাকে প্রতিটি বান্ডেল আইডি Firebase কনসোলে একটি নিবন্ধিত অ্যাপের সাথে সংযুক্ত করতে হবে যাতে প্রতিটি অ্যাপের নিজস্ব GoogleService-Info.plist
ফাইল থাকতে পারে।
আপনার অ্যাপে Firebase SDK যোগ করুন
ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।
- Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, File > Add Packages- এ নেভিগেট করুন।
- অনুরোধ করা হলে, Firebase Apple platforms SDK সংগ্রহস্থল যোগ করুন:
- Firebase Cloud Messaging লাইব্রেরিটি বেছে নিন।
- আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে
-ObjC
ফ্ল্যাগ যোগ করুন। - Firebase Cloud Messaging এর সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রোজেক্টে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics এর জন্য Firebase SDK যোগ করার পরামর্শ দিচ্ছি। আপনি IDFA সংগ্রহ ছাড়াই অথবা IDFA সংগ্রহ সহ লাইব্রেরি নির্বাচন করতে পারেন। Firebase SDK এর জন্য Google Analytics এর সর্বশেষ মডিউল সংগঠন সম্পর্কে আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী দেখুন।
- শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।
https://github.com/firebase/firebase-ios-sdk.git
আপনার APN প্রমাণীকরণ কী আপলোড করুন
আপনার APN প্রমাণীকরণ কী Firebase-এ আপলোড করুন। যদি আপনার কাছে ইতিমধ্যেই একটি APN প্রমাণীকরণ কী না থাকে, তাহলে Apple Developer Member Center- এ একটি তৈরি করতে ভুলবেন না।
Firebase কনসোলে আপনার প্রোজেক্টের ভিতরে, গিয়ার আইকনটি নির্বাচন করুন, প্রোজেক্ট সেটিংস নির্বাচন করুন এবং তারপর ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন।
iOS অ্যাপ কনফিগারেশনের অধীনে APNs প্রমাণীকরণ কী- তে, আপনার ডেভেলপমেন্ট প্রমাণীকরণ কী, অথবা প্রোডাকশন প্রমাণীকরণ কী, অথবা উভয়ই আপলোড করতে আপলোড বোতামে ক্লিক করুন। কমপক্ষে একটি প্রয়োজন।
আপনার কী যেখানে সংরক্ষণ করেছেন সেই স্থানে ব্রাউজ করুন, এটি নির্বাচন করুন এবং খুলুন ক্লিক করুন। কীটির জন্য কী আইডি যোগ করুন ( অ্যাপল ডেভেলপার সদস্য কেন্দ্রে উপলব্ধ) এবং আপলোড ক্লিক করুন।
আপনার অ্যাপে Firebase আরম্ভ করুন
আপনার অ্যাপ্লিকেশনে Firebase ইনিশিয়ালাইজেশন কোড যোগ করতে হবে। Firebase মডিউলটি আমদানি করুন এবং দেখানো হিসাবে একটি শেয়ার্ড ইনস্ট্যান্স কনফিগার করুন:
- আপনার
UIApplicationDelegate
এFirebaseCore
মডিউলটি আমদানি করুন, সেইসাথে আপনার অ্যাপ প্রতিনিধিদের দ্বারা ব্যবহৃত অন্য যেকোনো Firebase মডিউল । উদাহরণস্বরূপ, Cloud Firestore এবং Authentication ব্যবহার করতে:সুইফটইউআই
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
সুইফট
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
অবজেক্টিভ-সি
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- আপনার অ্যাপ ডেলিগেটের
application(_:didFinishLaunchingWithOptions:)
পদ্ধতিতে একটিFirebaseApp
শেয়ার করা ইনস্ট্যান্স কনফিগার করুন:সুইফটইউআই
// Use Firebase library to configure APIs FirebaseApp.configure()
সুইফট
// Use Firebase library to configure APIs FirebaseApp.configure()
অবজেক্টিভ-সি
// Use Firebase library to configure APIs [FIRApp configure];
- যদি আপনি SwiftUI ব্যবহার করেন, তাহলে আপনাকে একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করতে হবে এবং
UIApplicationDelegateAdaptor
অথবাNSApplicationDelegateAdaptor
এর মাধ্যমে আপনারApp
স্ট্রাক্টের সাথে এটি সংযুক্ত করতে হবে। আপনাকে অ্যাপ ডেলিগেট সুইজলিংও অক্ষম করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।সুইফটইউআই
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
দূরবর্তী বিজ্ঞপ্তির জন্য নিবন্ধন করুন
হয় স্টার্টআপে, অথবা আপনার অ্যাপ্লিকেশন প্রবাহের কাঙ্ক্ষিত সময়ে, দূরবর্তী বিজ্ঞপ্তির জন্য আপনার অ্যাপটি নিবন্ধন করুন। দেখানো হিসাবেregisterForRemoteNotifications
এ কল করুন:সুইফট
UNUserNotificationCenter.current().delegate = self let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.current().requestAuthorization( options: authOptions, completionHandler: { _, _ in } ) application.registerForRemoteNotifications()
অবজেক্টিভ-সি
[UNUserNotificationCenter currentNotificationCenter].delegate = self; UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge; [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) { // ... }]; [application registerForRemoteNotifications];
নিবন্ধন টোকেন অ্যাক্সেস করুন
একটি নির্দিষ্ট ডিভাইসে বার্তা পাঠাতে, আপনাকে সেই ডিভাইসের নিবন্ধন টোকেনটি জানতে হবে। যেহেতু এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য আপনাকে নোটিফিকেশন কম্পোজারের একটি ক্ষেত্রে টোকেনটি প্রবেশ করতে হবে, তাই টোকেনটি অনুলিপি করতে ভুলবেন না অথবা পুনরুদ্ধার করার পরে এটি নিরাপদে সংরক্ষণ করতে ভুলবেন না।
ডিফল্টরূপে, FCM SDK অ্যাপ লঞ্চের সময় ক্লায়েন্ট অ্যাপ ইনস্ট্যান্সের জন্য একটি নিবন্ধন টোকেন তৈরি করে। APN ডিভাইস টোকেনের মতো, এই টোকেনটি আপনাকে আপনার অ্যাপের যেকোনো নির্দিষ্ট ইনস্ট্যান্সে লক্ষ্যবস্তু বিজ্ঞপ্তি পাঠাতে দেয়।
অ্যাপল প্ল্যাটফর্মগুলি সাধারণত অ্যাপ শুরু করার সময় একটি APN ডিভাইস টোকেন সরবরাহ করে, ঠিক একইভাবে FCM FIRMessagingDelegate
এর messaging:didReceiveRegistrationToken:
পদ্ধতির মাধ্যমে একটি নিবন্ধন টোকেন সরবরাহ করে। FCM SDK প্রাথমিক অ্যাপ লঞ্চের সময় এবং যখনই টোকেনটি আপডেট বা অবৈধ করা হয় তখন একটি নতুন বা বিদ্যমান টোকেন পুনরুদ্ধার করে। সমস্ত ক্ষেত্রে, FCM SDK একটি বৈধ টোকেন সহ messaging:didReceiveRegistrationToken:
কল করে।
রেজিস্ট্রেশন টোকেন পরিবর্তন হতে পারে যখন:
- অ্যাপটি একটি নতুন ডিভাইসে পুনরুদ্ধার করা হয়েছে
- ব্যবহারকারী অ্যাপটি আনইনস্টল/পুনরায় ইনস্টল করেন
- ব্যবহারকারী অ্যাপ ডেটা সাফ করে।
মেসেজিং ডেলিগেট সেট করুন
রেজিস্ট্রেশন টোকেন পেতে, মেসেজিং ডেলিগেট প্রোটোকলটি বাস্তবায়ন করুন এবং [FIRApp configure]
কল করার পরে FIRMessaging
এর delegate
প্রোপার্টি সেট করুন। উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশন ডেলিগেট মেসেজিং ডেলিগেট প্রোটোকলের সাথে সঙ্গতিপূর্ণ হয়, তাহলে আপনি application:didFinishLaunchingWithOptions:
এর ডেলিগেটটিকে নিজেই সেট করতে পারেন।
সুইফট
Messaging.messaging().delegate = self
অবজেক্টিভ-সি
[FIRMessaging messaging].delegate = self;
বর্তমান নিবন্ধন টোকেনটি আনা হচ্ছে
নিবন্ধন টোকেনগুলি messaging:didReceiveRegistrationToken:
পদ্ধতির মাধ্যমে সরবরাহ করা হয়। এই পদ্ধতিটি সাধারণত প্রতি অ্যাপে একবার নিবন্ধন টোকেন দিয়ে শুরু করে। যখন এই পদ্ধতিটি বলা হয়, তখন এটি আদর্শ সময়:
- যদি রেজিস্ট্রেশন টোকেনটি নতুন হয়, তাহলে এটি আপনার অ্যাপ্লিকেশন সার্ভারে পাঠান।
- বিষয়গুলিতে নিবন্ধন টোকেন সাবস্ক্রাইব করুন। এটি শুধুমাত্র নতুন সাবস্ক্রিপশনের জন্য বা ব্যবহারকারী যখন অ্যাপটি পুনরায় ইনস্টল করেছেন তখন প্রয়োজন।
আপনি token(completion:) ব্যবহার করে সরাসরি টোকেনটি পুনরুদ্ধার করতে পারেন। যদি টোকেন পুনরুদ্ধার কোনওভাবে ব্যর্থ হয় তবে একটি অ-নাল ত্রুটি প্রদান করা হবে।
সুইফট
Messaging.messaging().token { token, error in if let error = error { print("Error fetching FCM registration token: \(error)") } else if let token = token { print("FCM registration token: \(token)") self.fcmRegTokenMessage.text = "Remote FCM registration token: \(token)" } }
অবজেক্টিভ-সি
[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) { if (error != nil) { NSLog(@"Error getting FCM registration token: %@", error); } else { NSLog(@"FCM registration token: %@", token); self.fcmRegTokenMessage.text = token; } }];
টোকেনটি সংরক্ষণ করার পরিবর্তে আপনি যেকোনো সময় এই পদ্ধতিটি ব্যবহার করতে পারেন।
মনিটর টোকেন রিফ্রেশ
টোকেন আপডেট হওয়ার সাথে সাথে বিজ্ঞপ্তি পাওয়ার জন্য, মেসেজিং ডেলিগেট প্রোটোকল অনুসারে একটি ডেলিগেট সরবরাহ করুন। নিম্নলিখিত উদাহরণটি ডেলিগেট নিবন্ধন করে এবং সঠিক ডেলিগেট পদ্ধতি যোগ করে:
সুইফট
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) { print("Firebase registration token: \(String(describing: fcmToken))") let dataDict: [String: String] = ["token": fcmToken ?? ""] NotificationCenter.default.post( name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict ) // TODO: If necessary send token to application server. // Note: This callback is fired at each app startup and whenever a new token is generated. }
অবজেক্টিভ-সি
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken { NSLog(@"FCM registration token: %@", fcmToken); // Notify about received token. NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"]; [[NSNotificationCenter defaultCenter] postNotificationName: @"FCMToken" object:nil userInfo:dataDict]; // TODO: If necessary send token to application server. // Note: This callback is fired at each app startup and whenever a new token is generated. }
বিকল্পভাবে, আপনি একটি ডেলিগেট পদ্ধতি সরবরাহ করার পরিবর্তে kFIRMessagingRegistrationTokenRefreshNotification
নামে একটি NSNotification
শুনতে পারেন। টোকেন প্রোপার্টিতে সর্বদা বর্তমান টোকেন মান থাকে।
একটি বিজ্ঞপ্তি বার্তা পাঠান
টার্গেট ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান। অ্যাপল ডিভাইসে, আপনাকে রিমোট নোটিফিকেশন পাওয়ার জন্য অনুমতির অনুরোধ গ্রহণ করতে হবে।
নিশ্চিত করুন যে অ্যাপটি ডিভাইসের ব্যাকগ্রাউন্ডে চলছে।
Firebase কনসোলে, মেসেজিং পৃষ্ঠাটি খুলুন।
যদি এটি আপনার প্রথম বার্তা হয়, তাহলে আপনার প্রথম প্রচারণা তৈরি করুন নির্বাচন করুন।
- Firebase Notification messages নির্বাচন করুন এবং Create নির্বাচন করুন।
অন্যথায়, প্রচারণা ট্যাবে, নতুন প্রচারণা এবং তারপর বিজ্ঞপ্তি নির্বাচন করুন।
বার্তার টেক্সট লিখুন। অন্যান্য সকল ক্ষেত্র ঐচ্ছিক।
ডান ফলক থেকে পরীক্ষামূলক বার্তা পাঠান নির্বাচন করুন।
"একটি FCM নিবন্ধন টোকেন যোগ করুন" লেবেলযুক্ত ক্ষেত্রে, এই নির্দেশিকার পূর্ববর্তী বিভাগে প্রাপ্ত নিবন্ধন টোকেনটি লিখুন।
পরীক্ষা নির্বাচন করুন।
আপনি Test নির্বাচন করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইস (ব্যাকগ্রাউন্ডে অ্যাপ সহ) বিজ্ঞপ্তিটি পাবে।
আপনার অ্যাপে বার্তা সরবরাহের অন্তর্দৃষ্টির জন্য, FCM রিপোর্টিং ড্যাশবোর্ডটি দেখুন, যা অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে প্রেরিত এবং খোলা বার্তার সংখ্যা রেকর্ড করে, সাথে অ্যান্ড্রয়েড অ্যাপের জন্য "ইমপ্রেশন" (ব্যবহারকারীদের দ্বারা দেখা বিজ্ঞপ্তি) এর ডেটাও রেকর্ড করে।
পরবর্তী পদক্ষেপ
বিজ্ঞপ্তি বার্তার বাইরে যেতে এবং আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, দেখুন: