একটি ব্যাকগ্রাউন্ডযুক্ত Apple অ্যাপে একটি পরীক্ষামূলক বার্তা পাঠান

FCM এর সাথে শুরু করার জন্য, সবচেয়ে সহজ ব্যবহারের ক্ষেত্রে তৈরি করুন: অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে থাকাকালীন একটি ডেভেলপমেন্ট ডিভাইসে নোটিফিকেশন কম্পোজার থেকে একটি পরীক্ষার বিজ্ঞপ্তি বার্তা পাঠানো। এই পৃষ্ঠাটি সেটআপ থেকে যাচাইকরণ পর্যন্ত এটি অর্জনের সমস্ত পদক্ষেপের তালিকা করে — আপনি যদি FCM জন্য একটি Apple ক্লায়েন্ট অ্যাপ সেট আপ করে থাকেন তবে এটি আপনার ইতিমধ্যে সম্পন্ন করা পদক্ষেপগুলি কভার করতে পারে।

আপনার Apple প্রকল্পে Firebase যোগ করুন

আপনি যদি ইতিমধ্যে আপনার অ্যাপের জন্য অন্যান্য Firebase বৈশিষ্ট্যগুলি সক্ষম করে থাকেন তবে এই বিভাগে আপনি যে কাজগুলি সম্পন্ন করেছেন তা কভার করে৷ FCM জন্য বিশেষভাবে, আপনাকে আপনার APN-এর প্রমাণীকরণ কী আপলোড করতে হবে এবং দূরবর্তী বিজ্ঞপ্তিগুলির জন্য নিবন্ধন করতে হবে

পূর্বশর্ত

  • নিম্নলিখিত ইনস্টল করুন:

    • Xcode 15.2 বা তার পরে
  • নিশ্চিত করুন যে আপনার প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে:

    • আপনার প্রজেক্টকে অবশ্যই এই প্ল্যাটফর্ম সংস্করণগুলিকে লক্ষ্য করতে হবে বা পরবর্তীতে:
      • iOS 13
      • macOS 10.15
      • tvOS 13
      • watchOS 7
  • আপনার অ্যাপ চালানোর জন্য একটি শারীরিক অ্যাপল ডিভাইস সেট আপ করুন এবং এই কাজগুলি সম্পূর্ণ করুন:

আপনার যদি ইতিমধ্যে একটি Xcode প্রকল্প না থাকে এবং আপনি শুধুমাত্র একটি Firebase পণ্য ব্যবহার করে দেখতে চান, তাহলে আপনি আমাদের কুইকস্টার্ট নমুনাগুলির একটি ডাউনলোড করতে পারেন৷

একটি ফায়ারবেস প্রকল্প তৈরি করুন

আপনি আপনার Apple অ্যাপে Firebase যোগ করার আগে, আপনার অ্যাপের সাথে সংযোগ করার জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷

Firebase এর সাথে আপনার অ্যাপ নিবন্ধন করুন

আপনার Apple অ্যাপে Firebase ব্যবহার করতে, আপনাকে আপনার Firebase প্রকল্পের স��থে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপ নিবন্ধন করাকে প্রায়ই আপনার প্রকল্পে আপনার অ্যাপকে "সংযোজন" বলা হয়।

  1. Firebase কনসোলে যান।

  2. প্রকল্প ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে iOS+ আইকনে ক্লিক করুন।

    আপনি যদি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্মের বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন- এ ক্লিক করুন।

  3. বান্ডেল আইডি ফিল্ডে আপনার অ্যাপের বান্ডেল আইডি লিখুন।

  4. (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং অ্যাপ স্টোর আইডি

  5. রেজিস্টার অ্যাপে ক্লিক করুন।

একটি ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন

  1. আপনার Firebase Apple প্ল্যাটফর্ম কনফিগার ফাইল ( GoogleService-Info.plist ) পেতে ডাউনলোড GoogleService-Info.plist-এ ক্লিক করুন।

  2. আপনার কনফিগার ফাইলটি আপনার Xcode প্রকল্পের রুটে সরান। অনুরোধ করা হলে, সমস্ত টার্গেটে কনফিগার ফাইল যোগ করতে নির্বাচন করুন।

আপনার প্রোজেক্টে একাধিক বান্ডিল আইডি থাকলে, আপনাকে অবশ্যই প্রতিটি বান্ডিল আইডিকে Firebase কনসোলে একটি নিবন্ধিত ��্যাপের সাথে সংযুক্ত করতে হবে যাতে প্রতিটি অ্যাপের নিজস্ব GoogleService-Info.plist ফাইল থাকতে পারে।

আপনার অ্যাপে Firebase SDK যোগ করুন

ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

  1. Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > প্যাকেজ যোগ করুন- এ নেভিগেট করুন।
  2. অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Firebase Cloud Messaging লাইব্রেরি বেছে নিন।
  5. আপনার লক্ষ্যের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে -ObjC পতাকা যোগ করুন।
  6. Firebase Cloud Messaging সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রকল্পে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করার পরামর্শ দিই। আপনি IDFA সংগ্রহ ছাড়াই অথবা IDFA সংগ্রহের মাধ্যমে লাইব্রেরি নির্বাচন করতে পারেন।
  7. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

আপনার APN প্রমাণীকরণ কী আপলোড করুন

Firebase-এ আপনার APN-এর প্রমাণীকরণ কী আপলোড করুন। যদি আপনার কাছে ইতিমধ্যে একটি APN-এর প্রমাণীকরণ কী না থাকে, তাহলে Apple বিকাশকারী সদস্য কেন্দ্রে একটি তৈরি করা নিশ্চিত করুন৷

  1. Firebase কনসোলে আপনার প্রকল্পের ভিতরে, গিয়ার আইকন নির্বাচন করুন, প্রকল্প সেটিংস নির্বাচন করুন এবং তারপরে ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন৷

  2. iOS অ্যাপ কনফিগারেশনের অধীনে APNs প্রমাণীকরণ কী- এ, আপলোড বোতামে ক্লিক করুন।

  3. আপনি যেখানে আপনার কী সংরক্ষণ করেছেন সেখানে ব্রাউজ করুন, এটি নির্বাচন করুন এবং খুলুন ক্লিক করুন। কীটির জন্য কী আইডি যোগ করুন ( অ্যাপল বিকাশকারী সদস্য কেন্দ্রে উপলব্ধ) এবং আপলোড ক্লিক করুন।

আপনার অ্যাপে Firebase চালু করুন

আপনাকে আপনার অ্যাপ্লিকেশনে ফায়ারবেস ইনিশিয়ালাইজেশন কোড যোগ করতে হবে। Firebase মডিউল আমদানি করুন এবং দেখানো হিসাবে একটি ভাগ করা উদাহরণ কনফিগার করুন:

  1. আপনার UIApplicationDelegateFirebaseCore মডিউল আমদানি করুন, সেইসাথে আপনার অ্যাপ প্রতিনিধি যে কোনো 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;
    // ...
          
  2. আপনার অ্যাপ প্রতিনিধির 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];
  3. আপনি যদি 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 শুনতে পারেন। টোকেন সম্পত্তির সর্বদা বর্তমান টোকেন মান থাকে।

একটি বিজ্ঞপ্তি বার্তা পাঠান

  1. লক্ষ্য ডিভাইসে অ্যাপটি ইনস্টল কর��ন এবং চালান। Apple ডিভাইসগুলিতে, আপনাকে দূরবর্তী বিজ্ঞপ্তিগুলি পাওয়ার অনুমতির অনুরোধটি গ্রহণ করতে হবে৷

  2. অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে আছে তা নিশ্চিত করুন।

  3. Firebase কনসোলে, মেসেজিং পৃষ্ঠা খুলুন।

  4. যদি এটি আপনার প্রথম বার্তা হয়, আপনার প্রথম প্রচারাভিযান তৈরি করুন নির্বাচন করুন।

    1. Firebase বিজ্ঞপ্তি বার্তা নির্বাচন করুন এবং তৈরি করুন নির্বাচন করুন।
  5. অন্যথায়, প্রচারাভিযান ট্যাবে, নতুন প্রচারাভিযান এবং তারপরে বিজ্ঞপ্তি নির্বাচন করুন।

  6. বার্তা টেক্সট লিখুন. অন্য সব ক্ষেত্র ঐচ্ছিক.

  7. ডান ফলক থেকে পরীক্ষা বার্তা পাঠান নির্বাচন করুন।

  8. একটি FCM রেজিস্ট্রেশন টোকেন যুক্ত করুন লেবেলযুক্ত ক্ষেত্রে, এই গাইডের পূর্ববর্তী বিভাগে আপনি যে নিবন্ধন টোকেন পেয়েছেন তা লিখুন।

  9. পরীক্ষা নির্বাচন করুন।

আপনি পরীক্ষা নির্বাচন করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইস (পটভূমিতে অ্যাপ সহ) বিজ্ঞপ্তিটি পাবে।

আপনার অ্যাপে বার্তা বিতরণের অন্তর্দৃষ্টির জন্য, FCM রিপোর্টিং ড্যাশবোর্ড দেখুন, যা অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে পাঠানো এবং খোলা বার্তাগুলির সংখ্যা রেকর্ড করে, সাথে Android অ্যাপগুলির জন্য "ইম্প্রেশন" (ব্যবহারকারীরা দেখেছে বিজ্ঞপ্তিগুলি) ডেটা সহ।

পরবর্তী পদক্ষেপ

বিজ্ঞপ্তি বার্তার বাইরে যেতে এবং আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, দেখুন: