1. ভূমিকা
শেষ আপডেট: 2020-1-6
Firebase ক্লাউড মেসেজিং (FCM) হল একটি ক্রস-প্ল্যাটফর্ম মেসেজিং সলিউশন যা আপনাকে কোনো খরচ ছাড়াই নির্ভরযোগ্যভাবে বার্তা পাঠাতে দেয়।
FCM ব্যবহার করে, আপনি একটি ক্লায়েন্ট অ্যাপকে সূচিত করতে পারেন যে নতুন ইমেল বা অন্যান্য ডেটা সিঙ্ক করার জন্য উপলব্ধ। আপনি ব্যবহারকারীর পুনঃনিযুক্তি এবং ধরে রাখার জন্য বিজ্ঞপ্তি বার্তা পাঠাতে পারেন। তাত্ক্ষণিক বার্তাপ্রেরণের মতো ব্যবহারের ক্ষেত্রে, একটি বার্তা একটি ক্লায়েন্ট অ্যাপে 4KB পর্যন্ত একটি পেলোড স্থানান্তর করতে পারে।
এটা কিভাবে কাজ করে?
একটি FCM বাস্তবায়নে পাঠানো এবং গ্রহণ করার জন্য দুটি প্রধান উপাদান রয়েছে:
- একটি বিশ্বস্ত পরিবেশ যেমন ফায়ারবেসের জন্য ক্লাউড ফাংশন বা একটি অ্যাপ সার্ভার যার উপর তৈরি করা যায়, লক্ষ্য করা যায় এবং বার্তা পাঠানো যায়।
- একটি iOS, Android, বা ওয়েব (JavaScript) ক্লায়েন্ট অ্যাপ যা সংশ্লিষ্ট প্ল্যাটফর্ম-নির্দিষ্ট পরিবহন পরিষেবার মাধ্যমে বার্তা গ্রহণ করে।
এফসিএম আর্কিটেকচারাল ওভারভিউ
FCM নিম্নলিখিত উপাদানগুলির সেটের উপর নির্ভর করে যা বার্তাগুলি তৈরি, পরিবহন এবং গ্রহণ করে:
- বার্তা অনুরোধ রচনা বা নির্মাণ টুলিং. বিজ্ঞপ্তি কম্পোজার বিজ্ঞপ্তি অনুরোধ তৈরি করার জন্য একটি GUI-ভিত্তিক বিকল্প প্রদান করে। সম্পূর্ণ অটোমেশন এবং সমস্ত বার্তা প্রকারের জন্য সমর্থনের জন্য, আপনাকে অবশ্যই একটি বিশ্বস্ত সার্ভার পরিবেশে বার্তা অনুরোধ তৈরি করতে হবে যা Firebase অ্যাডমিন SDK বা FCM সার্ভার প্রোটোকল সমর্থন করে। এই পরিবেশটি Firebase, Google App Engine বা আপনার নিজের অ্যাপ সার্ভারের জন্য ক্লাউড ফাংশন হতে পারে।
- FCM ব্যাকএন্ড, যা (অন্যান্য ফাংশনগুলির মধ্যে) বার্তার অনুরোধগুলি গ্রহণ করে, বিষয়গুলির মাধ্যমে বার্তাগুলির ফ্যানআউট সম্পাদন করে এবং বার্তা আইডির মতো বার্তা মেটাডেটা তৈরি করে।
- একটি প্ল্যাটফর্ম-স্তরের ট্রান্সপোর্ট লেয়ার, যা বার্তাটিকে লক্ষ্যযুক্ত ডিভাইসে রুট করে, বার্তা বিতরণ পরিচালনা করে এবং উপযুক্ত যেখানে প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন প্রয়োগ করে। এই পরিবহন স্তর অন্তর্ভুক্ত:
- অ্যান্ড্রয়েড ট্রান্সপোর্ট লেয়ার (এটিএল) অ্যান্ড্রয়েড ডিভাইসের জন্য গুগল প্লে পরিষেবা
- iOS ডিভাইসের জন্য Apple Push Notification service (APNs)
- ওয়েব অ্যাপের জন্য ওয়েব পুশ প্রোটোকল
- ব্যবহারকারীর ডিভাইসে FCM SDK, যেখানে বিজ্ঞপ্তি প্রদর্শিত হয় বা বার্তাটি অ্যাপের ফোরগ্রাউন্ড/ব্যাকগ্রাউন্ড স্টেট এবং যেকোনো প্রাসঙ্গিক অ্যাপ্লিকেশান লজিক অনুযায়ী পরিচালনা করা হয়।
আপনি কি নির্মাণ করবেন
এই কোডল্যাবে, আপনি FCM সহ একটি নমুনা iOS অ্যাপে পুশ বিজ্ঞপ্তি যোগ করতে যাচ্ছেন।
আপনি কি শিখবেন
- পুশ মেসেজিংয়ের জন্য কীভাবে একজন ব্যবহারকারীকে সদস্যতা এবং আনসাবস্ক্রাইব করবেন
- ইনকামিং পুশ বার্তাগুলি কীভাবে পরিচালনা করবেন
- কিভাবে একটি বিজ্ঞপ্তি প্রদর্শন করতে হয়
- বিজ্ঞপ্তি ক্লিকের প্রতিক্রিয়া কিভাবে
আপনি কি প্রয়োজন হবে
- Xcode 11.0 বা তার পরে
- CocoaPods 1.9.0 বা তার পরে
- অ্যাপল ডেভেলপার অ্যাকাউন্ট
- আপনার অ্যাপ চালানোর জন্য একটি ফিজিক্যাল iOS ডিভাইস
- সুইফটের প্রাথমিক জ্ঞান
2. সেট আপ করা হচ্ছে
নমুনা কোড ডাউনলোড করুন
এই কোডল্যাবে, আপনি আপনার নিজস্ব পরীক্ষা অ্যাপ তৈরি করবেন, তবে আপনি যদি বিদ্যমান নমুনা অ্যাপটি দেখতে এবং চালাতে চান তবে আপনি কুইকস্টার্ট নমুনা কোডটি ডাউনলোড করতে পারেন।
নমুনা পেতে দুটি উপায় আছে:
- গিট সংগ্রহস্থল ক্লোন করুন:
$ git clone https://github.com/firebase/quickstart-ios.git
- জিপ ফাইল ডাউনলোড করুন:
আপনি যদি উৎসটিকে একটি ZIP ফাইল হিসেবে ডাউনলোড করেন, তাহলে এটিকে আনপ্যাক করলে আপনি একটি রুট ফোল্ডার quickstart-ios
পাবেন।
একটি নতুন অ্যাপ তৈরি করুন
নিম্নলিখিত ধাপগুলির মাধ্যমে আপনার নিজস্ব পরীক্ষা অ্যাপ তৈরি করুন (নিচের ধাপগুলি XCode 12.3 এ রয়েছে):
- XCode খুলুন এবং একটি নতুন Xcode প্রকল্প তৈরি করুন নির্বাচন করুন।
- অ্যাপ নির্বাচন করুন এবং পরবর্তী ক্লিক করুন।
- ইনপুট পণ্যের নাম (যেমন বার্তাপ্রেরণের উদাহরণ)
- টিম নির্বাচন করুন (যদি আপনি টিম তৈরি না করে থাকেন তবে এটি অ্যাপল বিকাশকারী অ্যাকাউন্টে কনফিগার করুন)।
- ইনপুট সংস্থা শনাক্তকারী (যেমন.
com.
your-name
) - ইনপুট বান্ডেল শনাক্তকারী (যেমন.
com.
your-name
.MessagingExample
, এটি সমস্ত iOS অ্যাপের মধ্যে অনন্য হওয়া উচিত)৷ - ইন্টারফেস পুলডাউনে স্টোরিবোর্ড নির্বাচন করুন।
- লাইফ সাইকেল পুলডাউনে UIKit অ্যাপ প্রতিনিধি নির্বাচন করুন।
- ভাষাতে সুইফট নির্বাচন করুন।
- পরবর্তী ক্লিক করুন.
আপনি যখন একটি APN কী তৈরি করবেন এবং আপনার ফায়ারবেস প্রকল্পে আপনার অ্যাপ নিবন্ধন করবেন তখন আপনার বান্ডেল শনাক্তকারীর প্রয়োজন হবে।
3. APN কনফিগার করা
প্রমাণীকরণ কী তৈরি করুন
এই বিভাগটি বর্ণনা করে যে কীভাবে পুশ বিজ্ঞপ্তিগুলির জন্য সক্ষম একটি অ্যাপ আইডির জন্য একটি প্রমাণীকরণ কী তৈরি করতে হয়৷ আপনার যদি একটি বিদ্যমান কী থাকে তবে আপনি একটি নতুন তৈরি করার পরিবর্তে সেই কীটি ব্যবহার করতে পারেন।
একটি প্রমাণীকরণ কী তৈরি করতে:
- আপনার ডেভেলপার অ্যাকাউন্টে, সার্টিফিকেট, আইডেন্টিফায়ার এবং প্রোফাইলে যান এবং কী- এ নেভিগেট করুন।
- উপরের ডানদিকের কোণায় অ্যাড বোতামে ক্লিক করুন (+)।
- APNs Auth Key-এর জন্য একটি বিবরণ লিখুন
- কী পরিষেবার অধীনে, APNs চেকবক্স নির্বাচন করুন, এবং অবিরত ক্লিক করুন।
- রেজিস্টার ক্লিক করুন এবং তারপর ডাউনলোড করুন । একটি নিরাপদ জায়গায় আপনার চাবি সংরক্ষণ করুন. এটি একটি এককালীন ডাউনলোড, এবং কীটি পরে পুনরুদ্ধার করা যাবে না৷
একটি অ্যাপ আইডি তৈরি করুন
একটি অ্যাপ আইডি একটি শনাক্তকারী যা একটি অ্যাপকে অনন্যভাবে সনাক্ত করে। একটি নিয়ম হিসাবে এটি একটি বিপরীত ডোমেন দ্বারা প্রতিনিধিত্ব করা হয়।
- অ্যাপল বিকাশকারী সদস্য কেন্দ্রে নেভিগেট করুন এবং সাইন ইন করুন।
- সার্টিফিকেট, শনাক্তকারী এবং প্রোফাইলে নেভিগেট করুন।
- আইডেন্টিফায়ারে নেভিগেট করুন।
- একটি নতুন অ্যাপ আইডি তৈরি করতে + বোতামে ক্লিক করুন।
- অ্যাপ আইডি রেডিও বোতামটি নির্বাচন করুন এবং অবিরত ক্লিক করুন।
- অ্যাপ নির্বাচন করুন এবং অবিরত ক্লিক করুন।
- নতুন অ্যাপ আইডি তৈরি করতে:
- আপনার অ্যাপ আইডির জন্য একটি নাম ইনপুট করুন।
- একটি টিম আইডি ইনপুট করুন। এই মান মেম্বারশিপ ট্যাবে থাকা টিম আইডির সাথে মেলে।
- অ্যাপ আইডি প্রত্যয় বিভাগে, স্পষ্ট অ্যাপ আইডি নির্বাচন করুন, তারপর আপনার বান্ডেল আইডি ইনপুট করুন।
- অ্যাপ পরিষেবা বিভাগে, নিশ্চিত করুন যে পুশ বিজ্ঞপ্তি চেক করা আছে।
- চালিয়ে যান ক্লিক করুন এবং আপনার ইনপুট সঠিক কিনা তা পরীক্ষা করুন:
- শনাক্তকারীর মান টিম আইডি এবং বান্ডেল আইডির মানগুলির সাথে মিলিত হওয়া উচিত
- পুশ বিজ্ঞপ্তিগুলি কনফিগারযোগ্য হওয়া উচিত
- অ্যাপ আইডি তৈরি করতে রেজিস্টার ক্লিক করুন।
প্রোফাইল তৈরি করুন
বিকাশের অধীনে থাকা অবস্থায় আপনার অ্যাপটি পরীক্ষা করতে, অ্যাপ স্টোরে এখনও প্রকাশিত হয়নি এমন একটি অ্যাপ চালানোর জন্য আপনার ডিভাইসগুলিকে অনুমোদন দেওয়ার জন্য আপনার বিকাশের জন্য একটি প্রোফাইল প্রয়োজন।
- অ্যাপল বিকাশকারী সদস্য কেন্দ্রে নেভিগেট করুন এবং সাইন ইন করুন।
- সার্টিফিকেট, শনাক্তকারী এবং প্রোফাইলে নেভিগেট করুন।
- উপরের বাম কোণে ড্রপ ডাউন মেনুতে, iOS, tvOS, watchOS নির্বাচন করুন যদি এটি ইতিমধ্যে নির্বাচিত না থাকে, তারপর প্রোফাইলে নেভিগেট করুন।
- একটি নতুন প্রোফাইল তৈরি করতে + বোতামে ক্লিক করুন।
- প্রভিশনিং প্রোফাইল টাইপ হিসেবে iOS অ্যাপ ডেভেলপমেন্ট নির্বাচন করুন, তারপর Continue-এ ক্লিক করুন।
- ড্রপ ডাউন মেনুতে, আপনি যে অ্যাপ আইডিটি ব্যবহার করতে চান সেটি নির্বাচন করুন, তারপর Continue এ ক্লিক করুন।
- আগের ধাপে আপনি যে অ্যাপ আইডি বেছে নিয়েছেন তার iOS ডেভেলপমেন্ট সার্টিফিকেট নির্বাচন করুন, তারপর Continue-এ ক্লিক করুন।
- আপনি যে iOS ডিভাইসগুলিকে প্রভিশনিং প্রোফাইলে অন্তর্ভুক্ত করতে চান সেগুলি নির্বাচন করুন, তারপর Continue-এ ক্লিক করুন। আপনার পরীক্ষার জন্য আপনি যে সমস্ত ডিভাইসগুলি ব্যবহার করতে চান তা নির্বাচন করতে ভুলবেন না।
- এই প্রভিশনিং প্রোফাইলের জন্য একটি নাম ইনপুট করুন (যেমন MessagingExampleProfile ), তারপর জেনারেট এ ক্লিক করুন।
- আপনার ম্যাকে প্রোভিশনিং প্রোফাইল সংরক্ষণ করতে ডাউনলোড ক্লিক করুন।
- প্রভিশনিং প্রোফাইল ফাইলটি ইনস্টল করতে ডাবল-ক্লিক করুন।
4. আপনার iOS প্রকল্পে Firebase যোগ করা
একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনি আপনার iOS অ্যাপে Firebase যোগ করার আগে, আপনার iOS অ্যাপে সংযোগ করার জন্য আপনাকে একটি Firebase প্রকল্প তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন ৷
- Firebase কনসোলে, প্রকল্প যোগ করুন ক্লিক করুন, তারপর একটি প্রকল্পের নাম নির্বাচন করুন বা লিখুন।
আপনার যদি একটি বিদ্যমান Google ক্লাউড প্ল্যাটফর্ম (GCP) প্রকল্প থাকে, তাহলে আপনি সেই প্রকল্পে Firebase সংস্থান যোগ করতে ড্রপডাউন মেনু থেকে প্রকল্পটি নির্বাচন করতে পারেন।
- (ঐচ্ছিক) আপনি যদি একটি নতুন প্রকল্প তৈরি করেন, আপনি প্রকল্প আইডি সম্পাদনা করতে পারেন।
Firebase স্বয়ংক্রিয়ভাবে আপনার Firebase প্রকল্পে একটি অনন্য ID বরাদ্দ করে। ফায়ারবেস কিভাবে প্রোজেক্ট আইডি ব্যবহার করে সে সম্পর্কে জানতে ফায়ারবেস প্রজেক্ট বুঝতে দেখুন।
- অবিরত ক্লিক করুন.
- আপনার প্রোজেক্টের জন্য Google Analytics সেট আপ করুন, যা আপনাকে নিম্নলিখিত Firebase পণ্যগুলির যেকোনো একটি ব্যবহার করে সর্বোত্তম অভিজ্ঞতা পেতে সক্ষম করে:
- ফায়ারবেস ক্র্যাশলাইটিক্স
- ফায়ারবেস পূর্বাভাস
- ফায়ারবেস ক্লাউড মেসেজিং
- ফায়ারবেস ইন-অ্যাপ মেসেজিং
- ফায়ারবেস রিমোট কনফিগারেশন
- ফায়ারবেস এ/বি টেস্টিং
অনুরোধ করা হলে, একটি বিদ্যমান Google Analytics অ্যাকাউন্ট ব্যবহার করতে বা একটি নতুন অ্যাকাউন্ট তৈরি করতে নির্বাচন করুন৷ আপনি যদি একটি নতুন অ্যাকাউন্ট তৈরি করতে চান, আপনার অ্যানালিটিক্স রিপোর্টিং অবস্থান নির্বাচন করুন, তারপর আপনার প্রকল্পের জন্য ডেটা ভাগ করে নেওয়ার সেটিংস এবং Google Analytics শর্তাদি গ্রহণ করুন৷
- প্রোজেক্ট তৈরি করুন (অথবা যদি আপনি একটি বিদ্যমান GCP প্রোজেক্ট ব্যবহার করেন তাহলে Firebase যোগ করুন ) ক্লিক করুন।
Firebase স্বয়ংক্রিয়ভাবে আপনার Firebase প্রকল্পের জন্য সংস্থান সরবরাহ করে। প্রক্রিয়াটি সম্পূর্ণ হলে, আপনাকে Firebase কনসোলে আপনার Firebase প্রকল্পের ওভারভিউ পৃষ্ঠায় নিয়ে যাওয়া হবে।
Firebase এর সাথে আপনার অ্যাপ নিবন্ধন করুন
আপনার একটি ফায়ারবেস প্রজেক্ট থাকার পর, আপনি এতে আপনার iOS অ্যাপ যোগ করতে পারেন।
একাধিক বিল্ড ভেরিয়েন্ট কীভাবে পরিচালনা করতে হয় তা সহ একটি Firebase প্রকল্পে অ্যাপ যোগ করার জন্য সর্বোত্তম অনুশীলন এবং বিবেচনার বিষয়ে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন।
- Firebase কনসোলে যান।
- প্রকল্প ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে iOS আইকনে ক্লিক করুন।
আপনি যদি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্মের বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন-এ ক্লিক করুন।
- iOS বান্ডেল আইডি ফিল্ডে আপনার অ্যাপের বান্ডেল আইডি লিখুন।
- (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং অ্যাপ স্টোর আইডি ।
- রেজিস্টার অ্যাপে ক্লিক করুন।
একটি ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
- আপনার Firebase iOS কনফিগারেশন ফাইল (
GoogleService-Info.plist
) পেতে ডাউনলোড GoogleService-Info.plist-এ ক্লিক করুন। - আপনার কনফিগার ফাইলটি আপনার Xcode প্রকল্পের রুটে সরান। অনুরোধ করা হলে, সমস্ত টার্গেটে কনফিগার ফাইল যোগ করতে নির্বাচন করুন।
আপনার প্রোজেক্টে একাধিক বান্ডিল আইডি থাকলে, আপনাকে অবশ্যই প্রতিটি বান্ডিল আইডিকে Firebase কনসোলে একটি নিবন্ধিত অ্যাপের সাথে সংযুক্ত করতে হবে যাতে প্রতিটি অ্যাপের নিজস্ব GoogleService-Info.plist
ফাইল থাকতে পারে।
XCode বন্ধ করুন।
আপনার অ্যাপে Firebase SDK যোগ করুন
আমরা Firebase লাইব্রেরি ইনস্টল করতে CocoaPods ব্যবহার করার পরামর্শ দিই। যাইহোক, আপনি যদি CocoaPods ব্যবহার না করতে চান তবে আপনি সরাসরি SDK ফ্রেমওয়ার্কগুলিকে একীভূত করতে পারেন বা সুইফট প্যাকেজ ম্যানেজার বিটা ব্যবহার করতে পারেন।
- আপনার যদি ইতিমধ্যে একটি না থাকে তবে একটি পডফাইল তৈরি করুন। আপনি যদি কুইকস্টার্ট নমুনা ব্যবহার করেন, Xcode প্রকল্প এবং Podfile (পড সহ) ইতিমধ্যেই উপস্থিত রয়েছে।
$ cd MessagingExample $ pod init
- আপনার পডফাইলে, ফায়ারবেস পড যোগ করুন যা আপনি আপনার অ্যাপে ব্যবহার করতে চান।
আপনি আপনার iOS অ্যাপে যেকোনও সমর্থিত Firebase পণ্য যোগ করতে পারেন।
কুইকস্টার্ট নমুনায়, Google Analytics এবং Firebase ক্লাউড মেসেজিং SDK যোগ করা হয়েছে।
# 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 চালু করুন
আপনাকে আপনার অ্যাপ্লিকেশনে ফায়ারবেস ইনিশিয়ালাইজেশন কোড যোগ করতে হবে।
ফায়ারবেস মডিউল আমদানি করুন এবং একটি ভাগ করা উদাহরণ কনফিগার করুন (কুইকস্টার্ট নমুনায়, ফায়ারবেস মডিউল ইতিমধ্যেই আমদানি করা হয়েছে)।
- আপনার
UIApplicationDelegate
এ Firebase মডিউল আমদানি করুন:
AppDelegate.swift
import UIKit
import Firebase // Add this line
- একটি FirebaseApp শেয়ার করা উদাহরণ কনফিগার করুন, সাধারণত আপনার অ্যাপের
application:didFinishLaunchingWithOptions:
পদ্ধতি:
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure() // Add this line
return true
}
- Firebase কনসোলে Next এ ক্লিক করুন।
- আপনার অ্যাপে Firebase SDK যোগ করা হয়েছে। কনসোল করতে অবিরত ক্লিক করুন।
5. FCM ক্লায়েন্ট কনফিগার করা হচ্ছে
আপনার APN প্রমাণীকরণ কী আপলোড করুন
Firebase-এ আপনার APN-এর প্রমাণীকরণ কী আপলোড করুন।
- Firebase কনসোলে আপনার প্রকল্পের ভিতরে, গিয়ার আইকন নির্বাচন করুন, প্রকল্প সেটিংস নির্বাচন করুন এবং তারপরে ক্লাউড মেসেজিং ট্যাবটি নির্বাচন করুন৷
- iOS অ্যাপ কনফিগারেশনের অধীনে APNs প্রমাণীকরণ কী -এ, আপলোড বোতামে ক্লিক করুন।
- আপনি যেখানে আপনার কী সংরক্ষণ করেছেন সেখানে ব্রাউজ করুন, এটি নির্বাচন করুন এবং খুলুন ক্লিক করুন। কীটির জন্য কী আইডি যোগ করুন (অ্যাপল বিকাশকারী সদস্য কেন্দ্রে শংসাপত্র, শনাক্তকারী এবং প্রোফাইলগুলিতে উপলব্ধ) এবং আপলোড ক্লিক করুন।
দূরবর্তী বিজ্ঞপ্তির জন্য নিবন্ধন করুন
হয় স্টার্টআপে, বা আপনার অ্যাপ্লিকেশন প্রবাহের পছন্দসই পয়েন্টে, দূরবর্তী বিজ্ঞপ্তিগুলির জন্য আপনার অ্যাপ নিবন্ধন করুন৷
Quickstart নমুনায়, 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-এ রয়েছে):
- নেভিগেটর এলাকায় প্রকল্পের নাম ক্লিক করুন.
- স্বাক্ষর এবং ক্ষমতা ক্লিক করুন।
- + সক্ষমতা ক্লিক করুন।
- ব্যাকগ্রাউন্ড মোডগুলিতে ডাবল-ক্লিক করুন।
- আবার + সক্ষমতা ক্লিক করুন।
- Push Notifications-এ ডাবল-ক্লিক করুন।
- পটভূমি মোড বিভাগে দূরবর্তী বিজ্ঞপ্তি পরীক্ষা করুন।
6. একটি বিজ্ঞপ্তি বার্তা পাঠান
আপনি নিম্নলিখিত পদক্ষেপগুলি দ্বারা একটি পরীক্ষা বার্তা পাঠাতে পারেন:
- লক্ষ্য ডিভাইসে অ্যাপটি ইনস্টল করুন এবং চালান। দূরবর্তী বিজ্ঞপ্তিগুলি পাওয়ার জন্য আপনাকে অনুমতির অনুরোধ গ্রহণ করতে হবে৷
- XCode লগে নিবন্ধন টোকেন পান।
- অ্যাপটি ডিভাইসে ব্যাকগ্রাউন্ডে আছে তা নিশ্চিত করুন।
- বিজ্ঞপ্তি কম্পোজার খুলুন এবং নতুন বিজ্ঞপ্তি নির্বাচন করুন।
- বার্তা টেক্সট লিখুন.
- পরীক্ষা বার্তা পাঠান নির্বাচন করুন।
- একটি FCM রেজিস্ট্রেশন টোকেন যোগ করুন লেবেলযুক্ত ক্ষেত্রে, আপনি ধাপ 2 এ প্রাপ্ত নিবন্ধন টোকেনটি লিখুন।
- টেস্টে ক্লিক করুন।
আপনি টেস্টে ক্লিক করার পরে, লক্ষ্যযুক্ত ক্লায়েন্ট ডিভাইসটি (পটভূমিতে অ্যাপ সহ) বিজ্ঞপ্তি কেন্দ্রে বিজ্ঞপ্তি পাবে।
আপনার অ্যাপে বার্তা বিতরণের অন্তর্দৃষ্টির জন্য, FCM রিপোর্টিং ড্যাশবোর্ড দেখুন, যা iOS এবং Android ডিভাইসগুলিতে পাঠানো এবং খোলা বার্তাগুলির সংখ্যা রেকর্ড করে৷
7. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে একটি পরীক্ষার বার্তা পাঠিয়েছেন!
FCM-এ আরও অনেক ফাংশন এবং কনফিগারেশন রয়েছে যেমন টপিক সাবস্ক্রিপশন।
আপনি যদি তাদের আগ্রহী হন তাহলে অফিসিয়াল ডেভেলপার ডকুমেন্ট দেখুন।
এরপর কি?
এই কোডল্যাব কিছু পরীক্ষা করে দেখুন.