1. ভূমিকা
শেষ আপডেট: ২০২০-১-৬
ফায়ারবেস ক্লাউড মেসেজিং (FCM) হল একটি ক্রস-প্ল্যাটফর্ম মেসেজিং সমাধান যা আপনাকে বিনামূল্যে নির্ভরযোগ্যভাবে বার্তা পাঠাতে দেয়।
FCM ব্যবহার করে, আপনি একটি ক্লায়েন্ট অ্যাপকে জানাতে পারেন যে নতুন ইমেল বা অন্যান্য ডেটা সিঙ্ক করার জন্য উপলব্ধ। আপনি ব্যবহারকারীদের পুনরায় যুক্ত করতে এবং ধরে রাখতে বিজ্ঞপ্তি বার্তা পাঠাতে পারেন। তাৎক্ষণিক বার্তাপ্রেরণের মতো ব্যবহারের ক্ষেত্রে, একটি বার্তা একটি ক্লায়েন্ট অ্যাপে 4KB পর্যন্ত পেলোড স্থানান্তর করতে পারে।
এটা কিভাবে কাজ করে?
একটি FCM বাস্তবায়নে প্রেরণ এবং গ্রহণের জন্য দুটি প্রধান উপাদান থাকে:
- ফায়ারবেসের জন্য ক্লাউড ফাংশনের মতো একটি বিশ্বস্ত পরিবেশ অথবা এমন একটি অ্যাপ সার্ভার যেখানে বার্তা তৈরি, লক্ষ্যবস্তু করা এবং পাঠানো যায়।
- একটি iOS, Android, অথবা ওয়েব (JavaScript) ক্লায়েন্ট অ্যাপ যা সংশ্লিষ্ট প্ল্যাটফর্ম-নির্দিষ্ট পরিবহন পরিষেবার মাধ্যমে বার্তা গ্রহণ করে।
এফসিএম স্থাপত্য ওভারভিউ

FCM নিম্নলিখিত উপাদানগুলির সেটের উপর নির্ভর করে যা বার্তা তৈরি, পরিবহন এবং গ্রহণ করে:
- বার্তা অনুরোধ রচনা বা তৈরি করার জন্য টুলিং। বিজ্ঞপ্তি কম্পোজার বিজ্ঞপ্তি অনুরোধ তৈরির জন্য একটি GUI-ভিত্তিক বিকল্প প্রদান করে। সম্পূর্ণ স্বয়ংক্রিয়তা এবং সকল ধরণের বার্তার জন্য সমর্থনের জন্য, আপনাকে একটি বিশ্বস্ত সার্ভার পরিবেশে বার্তা অনুরোধ তৈরি করতে হবে যা Firebase Admin SDK বা FCM সার্ভার প্রোটোকল সমর্থন করে। এই পরিবেশটি Firebase, Google App Engine, অথবা আপনার নিজস্ব অ্যাপ সার্ভারের জন্য ক্লাউড ফাংশন হতে পারে।
- FCM ব্যাকএন্ড, যা (অন্যান্য ফাংশনের মধ্যে) বার্তা অনুরোধ গ্রহণ করে, বিষয়গুলির মাধ্যমে বার্তাগুলির ফ্যানআউট সম্পাদন করে এবং বার্তা আইডির মতো বার্তা মেটাডেটা তৈরি করে।
- একটি প্ল্যাটফর্ম-স্তরের পরিবহন স্তর, যা লক্ষ্যযুক্ত ডিভাইসে বার্তা প্রেরণ করে, বার্তা সরবরাহ পরিচালনা করে এবং যেখানে উপযুক্ত সেখানে প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন প্রয়োগ করে। এই পরিবহন স্তরের মধ্যে রয়েছে:
- Google Play পরিষেবা সহ Android ডিভাইসের জন্য Android ট্রান্সপোর্ট লেয়ার (ATL)
- iOS ডিভাইসের জন্য অ্যাপল পুশ নোটিফিকেশন পরিষেবা (APNs)
- ওয়েব অ্যাপের জন্য ওয়েব পুশ প্রোটোকল
- ব্যবহারকারীর ডিভাইসে FCM SDK, যেখানে বিজ্ঞপ্তি প্রদর্শিত হয় বা বার্তাটি অ্যাপের ফোরগ্রাউন্ড/ব্যাকগ্রাউন্ড অবস্থা এবং যেকোনো প্রাসঙ্গিক অ্যাপ্লিকেশন লজিক অনুসারে পরিচালনা করা হয়।
তুমি কী তৈরি করবে
এই কোডল্যাবে, আপনি FCM সহ একটি নমুনা iOS অ্যাপে পুশ নোটিফিকেশন যোগ করতে যাচ্ছেন।
তুমি কি শিখবে
- পুশ মেসেজিংয়ের জন্য একজন ব্যবহারকারীকে কীভাবে সাবস্ক্রাইব এবং আনসাবস্ক্রাইব করবেন
- ইনকামিং পুশ বার্তাগুলি কীভাবে পরিচালনা করবেন
- কিভাবে একটি বিজ্ঞপ্তি প্রদর্শন করবেন
- বিজ্ঞপ্তি ক্লিকের প্রতিক্রিয়া কীভাবে জানাবেন
তোমার যা লাগবে
- এক্সকোড ১১.০ বা তার পরবর্তী সংস্করণ
- কোকোপডস ১.৯.০ বা তার পরবর্তী সংস্করণ
- অ্যাপল ডেভেলপার অ্যাকাউন্ট
- আপনার অ্যাপ চালানোর জন্য একটি বাস্তব iOS ডিভাইস
- সুইফট সম্পর্কে প্রাথমিক জ্ঞান
2. সেট আপ করা
নমুনা কোডটি ডাউনলোড করুন
এই কোডল্যাবে, আপনি আপনার নিজস্ব পরীক্ষামূলক অ্যাপ তৈরি করবেন, তবে আপনি যদি বিদ্যমান নমুনা অ্যাপটি দেখতে এবং চালাতে চান, তাহলে আপনি কুইকস্টার্ট নমুনা কোডটি ডাউনলোড করতে পারেন।
নমুনা পাওয়ার দুটি উপায় আছে:
- গিট রিপোজিটরি ক্লোন করুন:
$ git clone https://github.com/firebase/quickstart-ios.git
- জিপ ফাইলটি ডাউনলোড করুন:
যদি আপনি সোর্সটি একটি জিপ ফাইল হিসেবে ডাউনলোড করেন, তাহলে এটি আনপ্যাক করলে আপনাকে একটি রুট ফোল্ডার quickstart-ios পাওয়া যাবে।
একটি নতুন অ্যাপ তৈরি করুন
নিম্নলিখিত ধাপগুলি অনুসরণ করে আপনার নিজস্ব পরীক্ষামূলক অ্যাপ তৈরি করুন (নীচের ধাপগুলি XCode 12.3-এ রয়েছে):
- XCode খুলুন এবং একটি নতুন Xcode প্রকল্প তৈরি করুন নির্বাচন করুন।
- অ্যাপ নির্বাচন করুন এবং পরবর্তী ক্লিক করুন।

- পণ্যের নাম ইনপুট করুন (যেমন। MessagingExample)
- টিম নির্বাচন করুন (যদি আপনি টিম তৈরি না করে থাকেন, তাহলে এটি অ্যাপল ডেভেলপার অ্যাকাউন্টে কনফিগার করুন)।
- ইনপুট অর্গানাইজেশন আইডেন্টিফায়ার (যেমন।
com.your-name) - ইনপুট বান্ডেল আইডেন্টিফায়ার (যেমন
com.your-name.MessagingExample, এটি সমস্ত iOS অ্যাপের মধ্যে অনন্য হওয়া উচিত)। - ইন্টারফেস পুলডাউন থেকে স্টোরিবোর্ড নির্বাচন করুন।
- লাইফ সাইকেল পুলডাউন থেকে UIKit অ্যাপ ডেলিগেট নির্বাচন করুন।
- ভাষায় Swift নির্বাচন করুন।
- পরবর্তী ক্লিক করুন।

যখন আপনি একটি APN কী তৈরি করবেন এবং আপনার Firebase প্রকল্পে আপনার অ্যাপ নিবন্ধন করবেন তখন আপনার বান্ডেল আইডেন্টিফায়ারের প্রয়োজন হবে।
৩. APN কনফিগার করা
প্রমাণীকরণ কী তৈরি করুন
এই বিভাগে পুশ নোটিফিকেশনের জন্য সক্ষম একটি অ্যাপ আইডির জন্য একটি প্রমাণীকরণ কী কীভাবে তৈরি করবেন তা বর্ণনা করা হয়েছে। যদি আপনার কাছে একটি বিদ্যমান কী থাকে, তাহলে আপনি একটি নতুন কী তৈরি করার পরিবর্তে সেই কীটি ব্যবহার করতে পারেন।
একটি প্রমাণীকরণ কী তৈরি করতে:
- আপনার ডেভেলপার অ্যাকাউন্টে, সার্টিফিকেট, আইডেন্টিফায়ার এবং প্রোফাইল এ যান এবং কী এ নেভিগেট করুন।

- উপরের ডানদিকে কোণায় অ্যাড বোতাম (+) এ ক্লিক করুন।

- APNs Auth Key-এর জন্য একটি বিবরণ লিখুন
- কী সার্ভিসেসের অধীনে, APNs চেকবক্সটি নির্বাচন করুন এবং Continue এ ক্লিক করুন।

- রেজিস্টার করুন এবং তারপর ডাউনলোড করুন এ ক্লিক করুন। আপনার কীটি একটি নিরাপদ স্থানে সংরক্ষণ করুন। এটি একবার ডাউনলোড করা যাবে এবং পরে চাবিটি পুনরুদ্ধার করা যাবে না।

একটি অ্যাপ আইডি তৈরি করুন
অ্যাপ আইডি হলো এমন একটি শনাক্তকারী যা একটি অ্যাপকে অনন্যভাবে শনাক্ত করে। একটি নিয়ম হিসেবে এটি একটি বিপরীত ডোমেন দ্বারা প্রতিনিধিত্ব করা হয়।
- অ্যাপল ডেভেলপার সদস্য কেন্দ্রে যান এবং সাইন ইন করুন।
- সার্টিফিকেট, আইডেন্টিফায়ার এবং প্রোফাইল -এ নেভিগেট করুন।
- আইডেন্টিফায়ারে নেভিগেট করুন।
- একটি নতুন অ্যাপ আইডি তৈরি করতে + বোতামে ক্লিক করুন।

- অ্যাপ আইডি রেডিও বোতামটি নির্বাচন করুন এবং চালিয়ে যান ক্লিক করুন।

- অ্যাপ নির্বাচন করুন, এবং চালিয়ে যান ক্লিক করুন।

- নতুন অ্যাপ আইডি তৈরি করতে:
- আপনার অ্যাপ আইডির জন্য একটি নাম লিখুন।
- একটি টিম আইডি ইনপুট করুন। এই মানটি অবশ্যই সদস্যতা ট্যাবে টিম আইডির সাথে মিলবে।
- অ্যাপ আইডি সাফিক্স বিভাগে, স্পষ্ট অ্যাপ আইডি নির্বাচন করুন, তারপর আপনার বান্ডেল আইডি ইনপুট করুন।

- অ্যাপ সার্ভিসেস বিভাগে, নিশ্চিত করুন যে পুশ নোটিফিকেশন চেক করা আছে।

- Continue-এ ক্লিক করুন এবং আপনার ইনপুট সঠিক কিনা তা পরীক্ষা করুন:
- আইডেন্টিফায়ারের মান টিম আইডি এবং বান্ডেল আইডির মানগুলির সংযোজনের সাথে মিলিত হওয়া উচিত।
- পুশ বিজ্ঞপ্তিগুলি কনফিগারযোগ্য হওয়া উচিত
- অ্যাপ আইডি তৈরি করতে রেজিস্টারে ক্লিক করুন।
প্রোফাইল তৈরি করুন
ডেভেলপমেন্টের সময় আপনার অ্যাপটি পরীক্ষা করার জন্য, আপনার ডিভাইসগুলিকে এমন একটি অ্যাপ চালানোর জন্য অনুমোদন দেওয়ার জন্য একটি ডেভেলপমেন্ট প্রোফাইলের প্রয়োজন যা এখনও অ্যাপ স্টোরে প্রকাশিত হয়নি।
- অ্যাপল ডেভেলপার সদস্য কেন্দ্রে যান এবং সাইন ইন করুন।
- সার্টিফিকেট, আইডেন্টিফায়ার এবং প্রোফাইল -এ নেভিগেট করুন।
- উপরের বাম কোণে ড্রপ ডাউন মেনুতে, iOS, tvOS, watchOS নির্বাচন করুন যদি এটি ইতিমধ্যেই নির্বাচিত না থাকে, তারপর Profiles এ নেভিগেট করুন।
- একটি নতুন প্রোফাইল তৈরি করতে + বোতামে ক্লিক করুন।

- প্রভিশনিং প্রোফাইল টাইপ হিসেবে iOS অ্যাপ ডেভেলপমেন্ট নির্বাচন করুন, তারপর Continue এ ক্লিক করুন।

- ড্রপ ডাউন মেনুতে, আপনি যে অ্যাপ আইডিটি ব্যবহার করতে চান তা নির্বাচন করুন, তারপর চালিয়ে যান এ ক্লিক করুন।
- পূর্ববর্তী ধাপে আপনার নির্বাচিত অ্যাপ আইডির iOS ডেভেলপমেন্ট সার্টিফিকেট নির্বাচন করুন, তারপর Continue এ ক্লিক করুন।
- প্রোভিশনিং প্রোফাইলে আপনি যে iOS ডিভাইসগুলি অন্তর্ভুক্ত করতে চান তা নির্বাচন করুন, তারপর Continue এ ক্লিক করুন। আপনার পরীক্ষার জন্য আপনি যে সমস্ত ডিভাইস ব্যবহার করতে চান তা নির্বাচন করতে ভুলবেন না।
- এই প্রভিশনিং প্রোফাইলের জন্য একটি নাম ইনপুট করুন (যেমন MessagingExampleProfile ), তারপর Generate এ ক্লিক করুন।

- আপনার Mac এ Provisioning প্রোফাইল সংরক্ষণ করতে ডাউনলোড এ ক্লিক করুন।

- প্রোভিশনিং প্রোফাইল ফাইলটি ইনস্টল করতে ডাবল-ক্লিক করুন।
৪. আপনার iOS প্রকল্পে Firebase যোগ করা
একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনার iOS অ্যাপে Firebase যোগ করার আগে, আপনার iOS অ্যাপের সাথে সংযোগ স্থাপনের জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্প সম্পর্কে আরও জানতে "Understand Firebase Projects" দেখুন।
- Firebase কনসোলে, Add project এ ক্লিক করুন, তারপর একটি Project name নির্বাচন করুন বা লিখুন।

যদি আপনার কাছে একটি বিদ্যমান Google Cloud Platform (GCP) প্রকল্প থাকে, তাহলে আপনি ড্রপডাউন মেনু থেকে প্রকল্পটি নির্বাচন করে সেই প্রকল্পে Firebase সংস্থান যোগ করতে পারেন।
- (ঐচ্ছিক) যদি আপনি একটি নতুন প্রকল্প তৈরি করেন, তাহলে আপনি প্রকল্প আইডি সম্পাদনা করতে পারেন।
Firebase স্বয়ংক্রিয়ভাবে আপনার Firebase প্রকল্পে একটি অনন্য আইডি বরাদ্দ করে। Firebase কীভাবে প্রকল্প আইডি ব্যবহার করে তা জানতে Understand Firebase Projects দেখুন।
- চালিয়ে যান ক্লিক করুন।
- আপনার প্রকল্পের জন্য Google Analytics সেট আপ করুন, যা আপনাকে নিম্নলিখিত Firebase পণ্যগুলির যেকোনো একটি ব্যবহার করে সর্বোত্তম অভিজ্ঞতা অর্জন করতে সক্ষম করে:
- ফায়ারবেস ক্র্যাশলিটিক্স
- ফায়ারবেস ভবিষ্যদ্বাণী
- ফায়ারবেস ক্লাউড মেসেজিং
- ফায়ারবেস ইন-অ্যাপ মেসেজিং
- ফায়ারবেস রিমোট কনফিগারেশন
- ফায়ারবেস এ/বি টেস্টিং
অনুরোধ করা হলে, একটি বিদ্যমান Google Analytics অ্যাকাউন্ট ব্যবহার করতে অথবা একটি নতুন অ্যাকাউন্ট তৈরি করতে নির্বাচন করুন। যদি আপনি একটি নতুন অ্যাকাউন্ট তৈরি করতে চান, তাহলে আপনার Analytics রিপোর্টিং অবস্থান নির্বাচন করুন, তারপর আপনার প্রকল্পের জন্য ডেটা শেয়ারিং সেটিংস এবং Google Analytics শর্তাবলী গ্রহণ করুন।


- প্রকল্প তৈরি করুন (অথবা যদি আপনি একটি বিদ্যমান GCP প্রকল্প ব্যবহার করেন তবে Firebase যোগ করুন ) ক্লিক করুন।
Firebase স্বয়ংক্রিয়ভাবে আপনার Firebase প্রকল্পের জন্য সম্পদ সরবরাহ করে। প্রক্রিয়াটি সম্পন্ন হলে, আপনাকে Firebase কনসোলে আপনার Firebase প্রকল্পের ওভারভিউ পৃষ্ঠায় নিয়ে যাওয়া হবে।
Firebase-এ আপনার অ্যাপ নিবন্ধন করুন
আপনার একটি Firebase প্রকল্প তৈরি হওয়ার পরে, আপনি এতে আপনার iOS অ্যাপ যোগ করতে পারেন।
ফায়ারবেস প্রজেক্টে অ্যাপ যোগ করার সর্বোত্তম অনুশীলন এবং বিবেচনা সম্পর্কে আরও জানতে, একাধিক বিল্ড ভেরিয়েন্ট কীভাবে পরিচালনা করতে হয় তা জানতে "আন্ডারস্ট্যান্ড ফায়ারবেস প্রজেক্টস" দেখুন।
- ফায়ারবেস কনসোলে যান।
- প্রজেক্ট ওভারভিউ পৃষ্ঠার মাঝখানে, সেটআপ ওয়ার্কফ্লো চালু করতে iOS আইকনে ক্লিক করুন।
যদি আপনি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্ম বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন-এ ক্লিক করুন।

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

একটি Firebase কনফিগারেশন ফাইল যোগ করুন
- আপনার Firebase iOS কনফিগারেশন ফাইল (
GoogleService-Info.plist) পেতে Download GoogleService-Info.plist এ ক্লিক করুন।
- আপনার কনফিগ ফাইলটি আপনার Xcode প্রজেক্টের রুটে সরান। যদি অনুরোধ করা হয়, তাহলে সমস্ত টার্গেটে কনফিগ ফাইল যোগ করতে নির্বাচন করুন।

যদি আপনার প্রোজেক্টে একাধিক বান্ডেল আইডি থাকে, তাহলে আপনাকে প্রতিটি বান্ডেল আইডি Firebase কনসোলে একটি নিবন্ধিত অ্যাপের সাথে সংযুক্ত করতে হবে যাতে প্রতিটি অ্যাপের নিজস্ব GoogleService-Info.plist ফাইল থাকতে পারে।
এক্সকোড বন্ধ করুন।
আপনার অ্যাপে Firebase SDK যোগ করুন
আমরা Firebase লাইব্রেরি ইনস্টল করার জন্য CocoaPods ব্যবহার করার পরামর্শ দিচ্ছি। তবে, যদি আপনি CocoaPods ব্যবহার না করতে চান, তাহলে আপনি সরাসরি SDK ফ্রেমওয়ার্কগুলি একীভূত করতে পারেন অথবা Swift Package Manager বিটা ব্যবহার করতে পারেন।
- যদি আপনার কাছে ইতিমধ্যেই একটি পডফাইল না থাকে, তাহলে একটি তৈরি করুন। যদি আপনি কুইকস্টার্ট নমুনা ব্যবহার করেন, তাহলে Xcode প্রজেক্ট এবং পডফাইল (পড সহ) ইতিমধ্যেই উপস্থিত রয়েছে।
$ cd MessagingExample $ pod init
- আপনার পডফাইলে, আপনার অ্যাপে যে ফায়ারবেস পডগুলি ব্যবহার করতে চান তা যোগ করুন।
আপনি আপনার iOS অ্যাপে যেকোনো সমর্থিত Firebase পণ্য যোগ করতে পারেন।
কুইকস্টার্ট নমুনায়, গুগল অ্যানালিটিক্স এবং ফায়ারবেস ক্লাউড মেসেজিং এসডিকে যুক্ত করা হয়েছে।
# Add the Firebase pod for Google Analytics pod 'Firebase/Analytics' # Add the pod for Firebase Cloud Messaging pod 'Firebase/Messaging'
- পডগুলি ইনস্টল করুন, তারপর Xcode-এ প্রকল্পটি দেখতে আপনার
.xcworkspaceফাইলটি খুলুন:
$ pod install
-
MessagingExample.xcworkspaceখুলুন এবং Firebase কনসোলে Next এ ক্লিক করুন।
আপনার অ্যাপে Firebase আরম্ভ করুন
আপনার অ্যাপ্লিকেশনে Firebase ইনিশিয়ালাইজেশন কোড যোগ করতে হবে।
ফায়ারবেস মডিউলটি আমদানি করুন এবং একটি শেয়ার্ড ইনস্ট্যান্স কনফিগার করুন (কুইকস্টার্ট নমুনায়, ফায়ারবেস মডিউলটি ইতিমধ্যেই আমদানি করা আছে)।
- আপনার
UIApplicationDelegateএ Firebase মডিউলটি আমদানি করুন:
AppDelegate.swift সম্পর্কে
import UIKit
import Firebase // Add this line
- সাধারণত আপনার অ্যাপের
application:didFinishLaunchingWithOptions:পদ্ধতিতে একটি FirebaseApp শেয়ার করা ইনস্ট্যান্স কনফিগার করুন:
AppDelegate.swift সম্পর্কে
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure() // Add this line
return true
}
- Firebase কনসোলে Next-এ ক্লিক করুন।

- আপনার অ্যাপে Firebase SDK যোগ করা হয়েছে। console এ Continue এ ক্লিক করুন।
![21b24098a470aa40.png - [অনলাইন].](https://codelabs.developers.google.cn/static/codelabs/push-notifications-ios/img/21b24098a470aa40.png?hl=bn)
৫. FCM ক্লায়েন্ট কনফিগার করা
আপনার APN প্রমাণীকরণ কী আপলোড করুন
আপনার APN প্রমাণীকরণ কী Firebase-এ আপলোড করুন।
- Firebase কনসোলে আপনার প্রোজেক্টের ভিতরে, গিয়ার আইকনটি নির্বাচন করুন, প্রোজেক্ট সেটিংস নির্বাচন করুন এবং তারপর ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন।

- অ্যাপল অ্যাপ কনফিগারেশনের অধীনে APNs প্রমাণীকরণ কী- তে, আপনার ডেভেলপমেন্ট প্রমাণীকরণ কী, অথবা প্রোডাকশন প্রমাণীকরণ কী, অথবা উভয়ই আপলোড করতে আপলোড বোতামে ক্লিক করুন। কমপক্ষে একটি প্রয়োজন।

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

দূরবর্তী বিজ্ঞপ্তির জন্য নিবন্ধন করুন
হয় স্টার্টআপে, অথবা আপনার অ্যাপ্লিকেশন প্রবাহের পছন্দসই সময়ে, দূরবর্তী বিজ্ঞপ্তির জন্য আপনার অ্যাপটি নিবন্ধন করুন।
কুইকস্টার্ট নমুনায়, registerForRemoteNotifications ইতিমধ্যেই যোগ করা হয়েছে।
AppDelegate.swift সম্পর্কে
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
// [START register for remote notifications]
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in })
} else {
let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
// [END register for remote notifications]
return true
}
AppDelegate.swift এর শেষে এই লাইনগুলি যোগ করে UNUserNotificationCenter এর ডেলিগেট প্রপার্টি বরাদ্দ করুন।
AppDelegate.swift সম্পর্কে
@available(iOS 10, *)
extension AppDelegate : UNUserNotificationCenterDelegate {
// Receive displayed notifications for iOS 10 devices.
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
let userInfo = notification.request.content.userInfo
// Print full message.
print(userInfo)
// Change this to your preferred presentation option
completionHandler([[.alert, .sound]])
}
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
let userInfo = response.notification.request.content.userInfo
// Print full message.
print(userInfo)
completionHandler()
}
}
মেসেজিং ডেলিগেট সেট করুন
রেজিস্ট্রেশন টোকেন পেতে, মেসেজিং ডেলিগেট প্রোটোকলটি বাস্তবায়ন করুন এবং [FIRApp configure] কল করার পরে FIRMessaging এর delegate প্রোপার্টি সেট করুন। উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশন ডেলিগেট মেসেজিং ডেলিগেট প্রোটোকলের সাথে সঙ্গতিপূর্ণ হয়, তাহলে আপনি application:didFinishLaunchingWithOptions: এর ডেলিগেটটিকে নিজের সাথে সেট করতে পারেন (কুইকস্টার্ট নমুনায়, এটি ইতিমধ্যেই সেট করা আছে)।
AppDelegate.swift সম্পর্কে
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
Messaging.messaging().delegate = self // Add this line
// [START register for remote notifications]
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in })
} else {
let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
// [END register for remote notifications]
return true
}
AppDelegate.swift এর শেষে এই লাইনগুলি যোগ করে FIRMessaging এর ডেলিগেট প্রোপার্টি বরাদ্দ করুন।
AppDelegate.swift সম্পর্কে
extension AppDelegate : MessagingDelegate {
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)
}
}
ক্ষমতা যোগ করুন
আপনি "একটি অ্যাপ আইডি তৈরি করুন" বিভাগে পুশ নোটিফিকেশন ক্ষমতা যোগ করেছেন, তবে আপনাকে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করে XCode-এ এই ক্ষমতাটিও যোগ করতে হবে (নীচের পদক্ষেপগুলি XCode 12.3-এ রয়েছে):
- নেভিগেটর এরিয়ায় প্রকল্পের নামে ক্লিক করুন।
- স্বাক্ষর ও সক্ষমতা ক্লিক করুন।
- ক্লিক করুন + ক্ষমতা ।

- ব্যাকগ্রাউন্ড মোডস -এ ডাবল ক্লিক করুন।
- আবার + Capability এ ক্লিক করুন।
- পুশ নোটিফিকেশনস -এ ডাবল-ক্লিক করুন।
- ব্যাকগ্রাউন্ড মোড বিভাগে রিমোট নোটিফিকেশন চেক করুন।

৬. একটি বিজ্ঞপ্তি বার্তা পাঠান
আপনি নিম্নলিখিত ধাপগুলি অনুসরণ করে একটি পরীক্ষামূলক বার্তা পাঠাতে পারেন:
- টার্গেট ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান। রিমোট নোটিফিকেশন পাওয়ার জন্য আপনাকে অনুমতির অনুরোধ গ্রহণ করতে হবে।
- XCode লগে নিবন্ধন টোকেনটি পান।

- নিশ্চিত করুন যে অ্যাপটি ডিভাইসের ব্যাকগ্রাউন্ডে চলছে।
- নোটিফিকেশন কম্পোজার খুলুন এবং নতুন নোটিফিকেশন নির্বাচন করুন।
- বার্তার টেক্সট লিখুন।

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

৭. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে একটি পরীক্ষামূলক বার্তা পাঠিয়েছেন!
FCM-এ আরও অনেক ফাংশন এবং কনফিগারেশন রয়েছে যেমন টপিক সাবস্ক্রিপশন।
আপনার যদি আগ্রহ থাকে, তাহলে অফিসিয়াল ডেভেলপার ডকুমেন্টটি দেখুন।
এরপর কী?
এই কোডল্যাবগুলির কিছু দেখুন।