FCM এর সাথে শুরু করার জন্য, সবচেয়ে সহজ ব্যবহারের ক্ষেত্রে তৈরি করুন: অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে থাকাকালীন একটি ডেভেলপমেন্ট ডিভাইসে নোটিফিকেশন কম্পোজার থেকে একটি পরীক্ষার বিজ্ঞপ্তি বার্তা পাঠানো। এই পৃষ্ঠাটি সেটআপ থেকে যাচাইকরণ পর্যন্ত এটি অর্জনের সমস্ত পদক্ষেপের তালিকা করে — আপনি যদি FCM জন্য একটি Apple ক্লায়েন্ট অ্যাপ সেট আপ করে থাকেন তবে এটি আপনার ইতিমধ্যে সম্পন্ন করা পদক্ষেপগুলি কভার করতে পারে।
আপনার Apple প্রকল্পে Firebase যোগ করুন
আপনি যদি ইতিমধ্যে আপনার অ্যাপের জন্য অন্যান্য Firebase বৈশিষ্ট্যগুলি সক্ষম করে থাকেন তবে এই বিভাগে আপনি যে কাজগুলি সম্পন্ন করেছেন তা কভার করে৷ FCM জন্য বিশেষভাবে, আপনাকে আপনার APN-এর প্রমাণীকরণ কী আপলোড করতে হবে এবং দূরবর্তী বিজ্ঞপ্তিগুলির জন্য নিবন্ধন করতে হবে ।
পূর্বশর্ত
নিম্নলিখিত ইনস্টল করুন:
- Xcode 15.2 বা তার পরে
নিশ্চিত করুন যে আপনার প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে:
- আপনার প্রজেক্টকে অবশ্যই এই প্ল্যাটফর্ম সংস্করণগুলিকে লক্ষ্য করতে হবে বা পরবর্তীতে:
- iOS 13
- macOS 10.15
- tvOS 13
- watchOS 7
- আপনার প্রজেক্টকে অবশ্যই এই প্ল্যাটফর্ম সংস্করণগুলিকে লক্ষ্য করতে হবে বা পরবর্তীতে:
আপনার অ্যাপ চালানোর জন্য একটি শারীরিক অ্যাপল ডিভাইস সেট আপ করুন এবং এই কাজগুলি সম্পূর্ণ করুন:
- আপনার Apple বিকাশকারী অ্যাকাউন্টের জন্য একটি Apple Push বিজ্ঞপ্তি প্রমাণীকরণ কী পান৷
- অ্যাপ > ক্ষমতার অধীনে XCode-এ পুশ বিজ্ঞপ্তি সক্ষম করুন।
- আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন ।
আপনার যদি ইতিমধ্যে একটি Xcode প্রকল্প না থাকে এবং আপনি শুধুমাত্র একটি Firebase পণ্য ব্যবহার করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন৷
একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনি আপনার Apple অ্যাপে Firebase যোগ করার আগে, আপনার অ্যাপের সাথে সংযোগ করার জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷
Firebase এর সাথে আপনার অ্যাপ নিবন্ধন করুন
আপনার Apple অ্যাপে Firebase ব্যবহার করতে, আপনাকে আপনার Firebase প্রকল্পের সাথে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপ নিবন্ধন করাকে প্রায়ই আপনার প্রকল্পে আপনার অ্যাপকে "সংযোজন" বলা হয়।
Firebase কনসোলে যান।
প্রকল্প ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে iOS+ আইকনে ক্লিক করুন।
আপনি যদি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্মের বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন- এ ক্লিক করুন।
বান্ডেল আইডি ফিল্ডে আপনার অ্যাপের বান্ডেল আইডি লিখুন।
একটি বান্ডেল আইডি অ্যাপলের ইকোসিস্টেমে একটি অ্যাপ্লিকেশনকে অনন্যভাবে সনাক্ত করে।
আপনার বান্ডেল আইডি খুঁজুন: আপনার প্রোজেক্টটি Xcode-এ খুলুন, প্রোজেক্ট নেভিগেটরে শীর্ষ-স্তরের অ্যাপটি নির্বাচন করুন, তারপর সাধারণ ট্যাবটি নির্বাচন করুন।
বান্ডেল আইডেন্টিফায়ার ফিল্ডের মান হল বান্ডেল আইডি (উদাহরণস্বরূপ,
com.yourcompany.yourproject
)।সচেতন থাকুন যে বান্ডেল আইডি মানটি কেস-সংবেদনশীল, এবং আপনার Firebase প্রোজেক্টে নিবন্ধিত হওয়ার পরে এটি এই Firebase অ্যাপের জন্য পরিবর্তন করা যাবে না।
(ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং অ্যাপ স্টোর আইডি ।
অ্যাপের ডাকনাম : একটি অভ্যন্তরীণ, সুবিধার শনাক্তকারী যা শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান
অ্যাপ স্টোর আইডি : Firebase Dynamic Links ব্যবহার করে ব্যবহারকারীদেরকে আপনার অ্যাপ স্টোর পৃষ্ঠায় রিডাইরেক্ট করতে এবং Google Analytics দ্বারা রূপান্তর ইভেন্টগুলিকে Google Ads আমদানি করতে । যদি আপনার অ্যাপের এখনও অ্যাপ স্টোর আইডি না থাকে, তাহলে আপনি পরে আপনার প্রোজেক্ট সেটিংসে আইডি যোগ করতে পারেন।
রেজিস্টার অ্যাপে ক্লিক করুন।
একটি ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
আপনার Firebase Apple প্ল্যাটফর্ম কনফিগার ফাইল (
GoogleService-Info.plist
) পেতে ডাউনলোড GoogleService-Info.plist-এ ক্লিক করুন।Firebase কনফিগারেশন ফাইলটিতে আপনার প্রকল্পের জন্য অনন্য, কিন্তু অ-গোপন শনাক্তকারী রয়েছে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, Firebase প্রজেক্ট বুঝতে দেখুন।
আপনি যে কোনো সময় আপনার Firebase কনফিগারেশন ফাইলটি আবার ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগার ফাইলের নাম অতিরিক্ত অক্ষরের সাথে যুক্ত করা হয়নি, যেমন
(2)
।
আপনার কনফিগার ফাইলটি আপনার Xcode প্রকল্পের রুটে সরান। অনুরোধ করা হলে, সমস্ত টার্গেটে কনফিগার ফাইল যোগ করতে নির্বাচন করুন।
আপনার প্রোজেক্টে একাধিক বান্ডিল আইডি থাকলে, আপনাকে অবশ্যই প্রতিটি বান্ডিল আইডিকে Firebase কনসোলে একটি নিবন্ধিত অ্যাপের সাথে সংযুক্ত করতে হবে যাতে প্রতিটি অ্যাপের নিজস্ব GoogleService-Info.plist
ফাইল থাকতে পারে।
আপনার অ্যাপে Firebase SDK যোগ করুন
ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।
- Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > প্যাকেজ যোগ করুন- এ নেভিগেট করুন।
- অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
- Firebase Cloud Messaging লাইব্রেরি বেছে নিন।
- আপনার লক্ষ্যের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে
-ObjC
পতাকা যোগ করুন। - Firebase Cloud Messaging সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রকল্পে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করার পরামর্শ দিই। আপনি IDFA সংগ্রহ ছাড়াই অথবা IDFA সংগ্রহের মাধ্যমে লাইব্রেরি নির্বাচন করতে পারেন।
- শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।
https://github.com/firebase/firebase-ios-sdk.git
আপনার APN প্রমাণীকরণ কী আপলোড করুন
Firebase-এ আপনার APN-এর প্রমাণীকরণ কী আপলোড করুন। যদি আপনার কাছে ইতিমধ্যে একটি APN-এর প্রমাণীকরণ কী না থাকে, তাহলে Apple বিকাশকারী সদস্য কেন্দ্রে একটি তৈরি করা নিশ্চিত করুন৷
Firebase কনসোলে আপনার প্রকল্পের ভিতরে, গিয়ার আইকন নির্বাচন করুন, প্রকল্প সেটিংস নির্বাচন করুন এবং তারপরে ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন৷
iOS অ্যাপ কনফিগারেশনের অধীনে APNs প্রমাণীকরণ কী- এ, আপলোড বোতামে ক্লিক করুন।
আপনি যেখানে আপনার কী সংরক্ষণ করেছেন সেখানে ব্রাউজ করুন, এটি নির্বাচন করুন এবং খুলুন ক্লিক করুন। কীটির জন্য কী আইডি যোগ করুন ( অ্যাপল বিকাশকারী সদস্য কেন্দ্রে উপলব্ধ) এবং আপলোড ক্লিক করুন।
আপনার অ্যাপে Firebase চালু করুন
আপনাকে আপনার অ্যাপ্লিকেশনে ফায়ারবেস ইনিশিয়ালাইজেশন কোড যোগ করতে হবে। Firebase মডিউল আমদানি করুন এবং দেখানো হিসাবে একটি ভাগ করা উদাহরণ কনফিগার করুন:
- আপনার
UIApplicationDelegate
এFirebaseCore
মডিউল আমদানি করুন, সেইসাথে আপনার অ্যাপ প্রতিনিধি যে কোনো Firebase মডিউল ব্যবহার করেন। উদাহরণস্বরূপ, Cloud Firestore এবং Authentication ব্যবহার করতে:সুইফটইউআই
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
সুইফট
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
উদ্দেশ্য-C
@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()
উদ্দেশ্য-C
// 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()
উদ্দেশ্য-C
[UNUserNotificationCenter currentNotificationCenter].delegate = self; UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge; [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) { // ... }]; [application registerForRemoteNotifications];
নিবন্ধন টোকেন অ্যাক্সেস করুন
একটি নির্দিষ্ট ডিভাইসে একটি বার্তা পাঠাতে, আপনাকে সেই ডিভাইসের নিবন্ধন টোকেন জানতে হবে। যেহেতু এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য আপনাকে নোটিফিকেশন কম্পোজারের একটি ফিল্ডে টোকেন প্রবেশ করাতে হবে, টোকেনটি কপি করতে ভুলবেন না বা এটি পুনরুদ্ধার করার পরে নিরাপদে সংরক্ষণ করুন।
ডিফল্টরূপে, FCM SDK অ্যাপ লঞ্চের সময় ক্লায়েন্ট অ্যাপ ইন্সট্যান্সের জন্য একটি রেজিস্ট্রেশন টোকেন তৈরি করে। APNs ডিভাইস টোকেনের মতোই, এই টোকেনটি আপনাকে আপনার অ্যাপের কোনো বিশেষ উদাহরণে লক্ষ্যযুক্ত বিজ্ঞপ্তি পাঠাতে দেয়।
অ্যাপল প্ল্যাটফর্মগুলি সাধারণত অ্যাপ স্টার্টে একটি APNs ডিভাইস টোকেন সরবরাহ করে, একইভাবে FCM FIRMessagingDelegate
এর messaging:didReceiveRegistrationToken:
পদ্ধতির মাধ্যমে একটি নিবন্ধন টোকেন প্রদান করে। FCM SDK প্রাথমিক অ্যাপ লঞ্চের সময় এবং যখনই টোকেন আপডেট বা অবৈধ হয় তখন একটি নতুন বা বিদ্যমান টোকেন পুনরুদ্ধার করে। সব ক্ষেত্রে, FCM SDK একটি বৈধ টোকেন সহ messaging:didReceiveRegistrationToken:
কল করে।
নিবন্ধন টোকেন পরিবর্তন হতে পারে যখন:
- অ্যাপটি একটি নতুন ডিভাইসে পুনরুদ্ধার করা হয়েছে
- ব্যবহারকারী অ্যাপটি আনইনস্টল/পুনরায় ইনস্টল করে
- ব্যবহারকারী অ্যাপ ডেটা সাফ করে।
মেসেজিং প্রতিনিধি সেট করুন
রেজিস্ট্রেশন টোকেন পেতে, মেসেজিং ডেলিগেট প্রোটোকল প্রয়োগ করুন এবং [FIRApp configure]
কল করার পরে FIRMessaging
এর delegate
সম্পত্তি সেট করুন। উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশন প্রতিনিধি বার্তাপ্রেরণ প্রতিনিধি প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ হয়, তাহলে আপনি application:didFinishLaunchingWithOptions:
নিজের জন্য প্রতিনিধি সেট করতে পারেন।
সুইফট
Messaging.messaging().delegate = self
উদ্দেশ্য-C
[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)" } }
উদ্দেশ্য-C
[[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. }
উদ্দেশ্য-C
- (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
শুনতে পারেন। টোকেন সম্পত্তির সর্বদা বর্তমান টোকেন মান থাকে।
একটি বিজ্ঞপ্তি বার্তা পাঠান
লক্ষ্য ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান। Apple ডিভাইসগুলিতে, আপনাকে দূরবর্তী বিজ্ঞপ্তিগুলি পাওয়ার অনুমতির অনুরোধটি গ্রহণ করতে হবে৷
অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে আছে তা নিশ্চিত করুন।
Firebase কনসোলে, মেসেজিং পৃষ্ঠা খুলুন।
যদি এটি আপনার প্রথম বার্তা হয়, আপনার প্রথম প্রচারাভিযান তৈরি করুন নির্বাচন করুন।
- Firebase বিজ্ঞপ্তি বার্তা নির্বাচন করুন এবং তৈরি করুন নির্বাচন করুন।
অন্যথায়, প্রচারাভিযান ট্যাবে, নতুন প্রচারাভিযান এবং তারপরে বিজ্ঞপ্তি নির্বাচন করুন।
বার্তা টেক্সট লিখুন. অন্য সব ক্ষেত্র ঐচ্ছিক.
ডান ফলক থেকে পরীক্ষা বার্তা পাঠান নির্বাচন করুন।
একটি FCM রেজিস্ট্রেশন টোকেন যুক্ত করুন লেবেলযুক্ত ক্ষেত্রে, এই গাইডের পূর্ববর্তী বিভাগে আপনি যে নিবন্ধন টোকেন পেয়েছেন তা লিখুন।
পরীক্ষা নির্বাচন করুন।
আপনি পরীক্ষা নির্বাচন করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইস (পটভূমিতে অ্যাপ সহ) বিজ্ঞপ্তিটি পাবে।
আপনার অ্যাপে বার্তা বিতরণের অন্তর্দৃষ্টির জন্য, FCM রিপোর্টিং ড্যাশবোর্ড দেখুন, যা অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে পাঠানো এবং খোলা বার্তাগুলির সংখ্যা রেকর্ড করে, সাথে Android অ্যাপগুলির জন্য "ইম্প্রেশন" (ব্যবহারকারীরা দেখেছে বিজ্ঞপ্তিগুলি) ডেটা সহ।
পরবর্তী পদক্ষেপ
বিজ্ঞপ্তি বার্তার বাইরে যেতে এবং আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, দেখুন: