OAuth 2 অ্যাক্সেস টোকেন সহ FCM HTTP v1 API ব্যবহার করুন

1. ভূমিকা

FCM লিগ্যাসি API-এর তুলনায়, FCM HTTP v1 API স্বল্পকালীন অ্যাক্সেস টোকেন ব্যবহার করে আরও নিরাপদ অনুমোদন মডেল প্রদান করে। FCM v1 API-এর জন্য অ্যাক্সেস টোকেন তৈরি করার পদক্ষেপগুলি লিগ্যাসি API-এর ধাপগুলির থেকে উল্লেখযোগ্যভাবে আলাদা।

এই কোডল্যাব আপনাকে FCM HTTP v1 API ব্যবহার করে একটি Android অ্যাপে পুশ বিজ্ঞপ্তি পাঠানো সক্ষম করতে ক্লায়েন্ট এবং সার্ভার সাইড সেটআপের প্রক্রিয়ার মধ্য দিয়ে চলে। এটি v1 API-এর জন্য শংসাপত্র তৈরির মূল ধাপ হাইলাইট করে।

আরও তথ্য এখানে পাওয়া যাবে:

পূর্বশর্ত

  • জাভা এবং অ্যান্ড্রয়েড বিকাশের প্রাথমিক ধারণা

আপনি কি শিখবেন

  • FCM HTTP v1 API ব্যবহার করে আপনার Android অ্যাপে পুশ বিজ্ঞপ্তি পাঠানো সক্ষম করতে ক্লায়েন্ট এবং সার্ভার সাইড সেটআপের বিস্তারিত পদক্ষেপ
  • পরিষেবা অ্যাকাউন্ট ব্যবহার করে HTTP v1 API-এর জন্য শংসাপত্র তৈরি করা
  • HTTP v1 API এর মাধ্যমে পরীক্ষার বার্তা পাঠানো হচ্ছে

আপনি কি প্রয়োজন হবে

অ্যান্ড্রয়েড স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণ

নিম্নলিখিত ডিভাইসগুলির মধ্যে একটি:

একটি জাভা উন্নয়ন পরিবেশ বা আপনার পছন্দের কোড সম্পাদক

2. ফায়ারবেস প্রকল্প এবং অ্যান্ড্রয়েড অ্যাপ সেটআপ

কোড ল্যাব শেষে, আপনি Firebase ক্লাউড মেসেজিং ব্যবহার করে আপনার অ্যাপে বার্তা পাঠাতে সক্ষম হবেন। এটি করার আগে, আপনাকে একটি ফায়ারবেস প্রকল্প তৈরি করতে হবে। এই কোডল্যাবটি এফসিএম-এর সাথে একীভূত করার জন্য নমুনা কোড সহ একটি Android অ্যাপ সরবরাহ করে।

ফায়ারবেস প্রকল্প সেটআপ

অ্যান্ড্রয়েড অ্যাপ সেটআপ

এই কোডল্যাবে প্রদত্ত নমুনা অ্যান্ড্রয়েড অ্যাপটি ইতিমধ্যেই এফসিএম-এর সাথে একত্রিত করা হয়েছে। শুরু করার পরে, এটি FCM সার্ভারের সাথে নিবন্ধন করবে এবং একটি বিষয়ের সদস্যতা নেবে৷ এই কোডল্যাবের পরবর্তী ধাপে আপনি টপিকটিতে একটি টপিক মেসেজ পাঠাবেন এবং আপনার অ্যাপ তা পাবে।

3. অ্যাপ সার্ভার সেট আপ করুন

এখন আপনার অ্যাপ সেট আপ করা হয়েছে, আপনাকে FCM v1 API ব্যবহার করে আপনার অ্যাপে বার্তা পাঠানোর জন্য একটি সার্ভার-সাইড কোড নমুনা ডাউনলোড করতে হবে। এই কোডটি একটি অ্যাক্সেস টোকেন তৈরি করতে API শংসাপত্রগুলি (পরবর্তী বিভাগে বর্ণিত) লোড করে। এটি তারপর FCM বিষয় বার্তা ব্যবহার করে আপনার অ্যাপে একটি বার্তা পাঠায়।

  • Github প্রকল্প ডাউনলোড করে স্টার্টার সার্ভার কোড আমদানি করুন। "মেসেজিং" প্রজেক্ট হল ফায়ারবেস-অ্যাডমিন SDK-এর উপর নির্ভরশীলতা সহ একটি গ্রেডল-ভিত্তিক জাভা প্রকল্প, যা বার্তা পাঠানোর কার্যকারিতা প্রদান করে।

একটি অ্যাপ সার্ভার কীভাবে FCM-এর সাথে কাজ করবে সে সম্পর্কে আরও বিশদ বিবরণ আপনার সার্ভার পরিবেশ এবং FCM নথিতে পাওয়া যাবে।

4. v1 শংসাপত্র পান

OAuth2 নিরাপত্তা মডেল অনুযায়ী FCM HTTP v1 API স্বল্পকালীন অ্যাক্সেস টোকেন ব্যবহার করে। FCM লিগ্যাসি API-তে ব্যবহৃত স্ট্যাটিক API কী-এর তুলনায়, স্বল্প-স্থায়ী অ্যাক্সেস টোকেন শংসাপত্র ফাঁসের ঝুঁকি কম। এই বিভাগে API কল করার জন্য ব্যবহৃত অ্যাক্সেস টোকেন তৈরি করার জন্য একটি শংসাপত্র তৈরি করার পদক্ষেপের বিবরণ রয়েছে।

  1. Firebase অ্যাডমিন SDK-কে FCM API-তে কল করার অনুমতি দেওয়ার জন্য একটি Firebase পরিষেবা অ্যাকাউন্ট সেট-আপ করুন। Firebase কনসোলে প্রজেক্ট সেটিংস খুলুন এবং পরিষেবা অ্যাকাউন্ট ট্যাব নির্বাচন করুন। কনফিগারেশন স্নিপেট ডাউনলোড করতে নতুন ব্যক্তিগত কী তৈরি করুন ক্লিক করুন। প্রজেক্ট সেটিংস পৃষ্ঠার পরিষেবা অ্যাকাউন্ট উপাদানের অ্যাডমিন SDK কনফিগারেশন স্নিপেট হাইলাইট করে একটি ক্রপ করা স্ক্রিনশট
  2. ডাউনলোড করা Github প্রোজেক্টে, ডাউনলোড করা ফাইলটির নাম service-account.json এ রাখুন এবং প্রোজেক্টের messaging/ পাথে কপি করুন।
  3. Messaging.java ক্লাসে getAccessToken() পদ্ধতি (নীচে দেখানো হয়েছে) একটি OAuth2 টোকেন তৈরি করে যা 1 ঘন্টার জন্য বৈধ।
private static String getAccessToken() throws IOException {
  GoogleCredentials googleCredentials = GoogleCredentials.fromStream(new FileInputStream("service-account.json")).createScoped(Arrays.asList(SCOPES));
  googleCredentials.refresh();
  return googleCredentials.getAccessToken().getTokenValue();
}
  1. নিম্নলিখিত লাইন যোগ করতে প্রধান পদ্ধতি পরিবর্তন করুন:
public static void main(String[] args) throws IOException {
  System.out.println(getAccessToken());
  ...
}
  1. আপনার টার্মিনালে মেসেজিং/প্রজেক্ট ডিরেক্টরিতে যান এবং টাইপ করুন:
./gradlew run -Pmessage=common-message

OAuth2 টোকেন প্রিন্ট করতে।

আরও তথ্য অনুমোদন পাঠাতে অনুরোধ পাওয়া যাবে .

5. REST API দিয়ে একটি বার্তা পাঠান

এখন আপনি HTTP v1 API এর মাধ্যমে একটি বার্তা পাঠাতে প্রস্তুত। নীচের পদক্ষেপগুলি অনুসরণ করুন:

  • একটি HTTP অনুরোধ শিরোনামে অ্যাক্সেস টোকেন যোগ করতে:
  • ফরম্যাটে অনুমোদন শিরোনামের মান হিসাবে টোকেন যুক্ত করুন Authorization: Bearer <access_token>
  • কার্ল ব্যবহার করে FCM v1 API এ একটি HTTP অনুরোধ করুন:
curl -s -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $OAuth2_token" -H "X-GFE-SSL: yes" -d  "{\"message\": {\"topic\": \"$topic_name\", \"notification\": {\"title\": \"breaking news\", \"body\": \"This is breaking news\"}}}" https://fcm.googleapis.com/v1/projects/[PROJECT_NAME]/messages:send

উপরে $topic_name ফায়ারবেস প্রজেক্ট এবং Android অ্যাপ সেটআপে উল্লিখিত Android অ্যাপ কোডে পাওয়া যাবে। ডিফল্টরূপে এটি "weather"

  • একটি বার্তা সফলভাবে বিতরণ করার পরে, আপনি নীচের ছবির মতো আপনার স্ক্রিনে একটি বিজ্ঞপ্তি পপ আপ দেখতে পাবেন:

54ae84ece22202cd.png

6. উপসংহার

অভিনন্দন! আপনি সফলভাবে কোডল্যাব সম্পূর্ণ করেছেন:

  • একটি ফায়ারবেস প্রকল্প সেট আপ করুন
  • একটি Android অ্যাপের সাথে Firebase সংহত করুন
  • FCM HTTP v1 API-এর জন্য শংসাপত্র তৈরি করুন
  • FCM HTTP v1 API এর মাধ্যমে আপনার অ্যাপে একটি বার্তা পাঠান

FCM অফারগুলির উন্নত বৈশিষ্ট্যগুলি অন্বেষণ করতে, নিম্নলিখিত উল্লেখগুলি দরকারী: