Firebase লঞ্চ চেকলিস্ট

এই ডকুমেন্টে প্রোডাকশনে Firebase অ্যাপ লঞ্চ করার আগে পেশাদার পদ্ধতি ও বিবেচনার একটি চেকলিস্ট রয়েছে।

রিলিজ করার জন্য সাধারণ পেশাদার পদ্ধতি

  • প্রোডাকশনে ডেপ্লয় করার আগে Firebase Local Emulator Suite (সাপোর্ট করা প্রোডাক্টের জন্য) আপনার করা সব পরিবর্তন টেস্ট করেছেন কিনা তা নিশ্চিত করুন। পুঙ্খানুপুঙ্খভাবে পরীক্ষা করলে দামি ভুল এড়ানো যেতে পারে।

  • যেসব পরিষেবা এটিতে কাজ করে সেগুলির জন্য Firebase App Check এনফোর্স করা শুরু করুন। App Check শুধুমাত্র আপনার আসল অ্যাপ যাতে আপনার ব্যাকএন্ড পরিষেবা ও রিসোর্স অ্যাক্সেস করতে পারে তা নিশ্চিত করতে সাহায্য করে।

  • পর্যালোচনা করুন Firebase-এর সাধারণ নিরাপত্তা চেকলিস্ট।

  • আপনার অ্যাপে নিরাপদে এবং ধীরে ধীরে নতুন ফিচার ও আপডেট রিলিজ করতে Firebase Remote Config রোলআউট ব্যবহার করুন।

  • আপনি আগে থেকে সেট-আপ না করে থাকলে, Firebase Crashlytics সেট-আপ করার কথা বিবেচনা করুন। এটি একটি লাইটওয়েট, রিয়েল-টাইম ক্র্যাশ রিপোর্টার যা আপনাকে অ্যাপের কোয়ালিটি নষ্ট করে এমন স্টেবিলিটি সমস্যা ট্র্যাক, অগ্রাধিকার ও সমাধান করতে সাহায্য করে।

আপনার প্রাইসিং প্ল্যানের সীমা জানুন এবং বাজেট সংক্রান্ত সতর্কতা সেট করুন

  • প্রোডাকশনে যাওয়ার পরে আপনি যাতে ব্যবহারের সীমা এবং কোটা অতিক্রম না করেন তা নিশ্চিত করুন, বিশেষ করে আপনি যদি বিনা খরচের Spark প্ল্যান ব্যবহার করেন। যখন ব্যবহার করবেন তখন পেমেন্ট করুন Blaze প্রাইসিং প্ল্যানে আপগ্রেড করার কথা বিবেচনা করুন।

  • আপনার প্রোজেক্টের জন্য বাজেট সংক্রান্ত সতর্কতা সেট-আপ করুন।

    • মনে রাখবেন, বাজেট সংক্রান্ত সতর্কতা বাজেট ক্যাপ নয়। আপনি কনফিগার করা থ্রেশহোল্ডের কাছাকাছি পৌঁছালে বা তা অতিক্রম করলে, আপনাকে অ্যালার্ট পাঠানো হবে যাতে আপনি নিজের অ্যাপ বা প্রোজেক্টে অ্যাকশন নিতে পারেন।

    • অ্যালার্টের উত্তরে বিলিং বন্ধ করে দেওয়ার মতো ফাংশন সহ উন্নত অ্যালার্ট ও অ্যাকশন সেট-আপ করার কথা বিবেচনা করুন।

    • আপনি Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase ও Firebase Extensions ব্যবহার করলে, আমরা সাজেস্ট করি যে আপনি খরচের সীমাও সেট-আপ করুন, এর ফলে আপনার প্রোজেক্ট সেই পরিষেবার জন্য সেট করা বাজেটে পৌঁছে গেলে প্রযোজ্য পরিষেবা পজ হয়ে যাবে।

  • প্রোডাক্ট-নির্দিষ্ট ড্যাশবোর্ড বা কেন্দ্রীয় ব্যবহার ও বিলিং ড্যাশবোর্ড থেকে Firebase কনসোলে আপনার ব্যবহার মনিটর করুন।

আপনার Firebase প্রোজেক্ট ও অ্যাপ পেশাদার পদ্ধতি অনুসরণ করছে কিনা তা নিশ্চিত করুন

আপনি একজন ডেভেলপার হোন বা কোনও এন্টারপ্রাইজ-সাইজ টিমের অংশ, আপনার Firebase প্রোজেক্ট, অ্যাপ ও রিসোর্স সুরক্ষিত ও নিরাপদ রাখা এবং আপনার টিমে পরিবর্তনের সাথে সাথে সেগুলিকে উন্নত করা গুরুত্বপূর্ণ।

মনে রাখা ভাল যে Firebase প্রোজেক্ট হল এমন একটি Google Cloud প্রোজেক্ট যার জন্য Firebase পরিষেবা ও কনফিগারেশন চালু করা আছে। এর অর্থ হল, Google Cloud-এর সাজেস্ট করা অনেক পেশাদার পদ্ধতি Firebase-এর ক্ষেত্রেও প্রযোজ্য।

  • ডেভেলপমেন্ট, টেস্টিং ও প্রোডাকশনের জন্য আলাদা আলাদা Firebase প্রোজেক্ট ব্যবহার করুন।

    আপনার প্রোডাকশন অ্যাপের সাথে যুক্ত প্রোজেক্টে অপ্রত্যাশিত এক্সপোজার সীমিত করার চেষ্টা করুন। ডেভেলপমেন্ট ওয়ার্কফ্লো সেট-আপ করা সম্পর্কে আরও জানুন।

  • আপনার গুরুত্বপূর্ণ প্রোজেক্ট, বিশেষ করে আপনার প্রোডাকশন অ্যাপের সাথে যুক্ত প্রোজেক্ট সুরক্ষিত রাখুন।

    • প্রোজেক্ট যাতে ভুল করে মুছে না যায়, তার জন্য প্রোজেক্ট লিয়েন ব্যবহার করুন।

    • আপনার প্রোডাকশন এনভায়রনমেন্ট সহজে শনাক্ত করতে Firebase কনসোলে "Prod" ট্যাগ প্রয়োগ করুন।

  • আপনি যদি আগে থেকে না করে থাকেন, তাহলে একটি Google Cloud সংস্থা সেট-আপ করার কথা বিবেচনা করুন এবং এতে আপনার Firebase প্রোজেক্ট যোগ করুন।

  • আপনার Firebase প্রোজেক্টে একাধিক মালিক যোগ করুন, বিশেষ করে আপনার প্রোজেক্ট Google Cloud সংস্থার মধ্যে না থাকলে। Firebase প্রোজেক্টের জন্য কখন ও কীভাবে মালিক অ্যাসাইন করবেন সেই সম্পর্কে আরও জানুন।

  • আলাদা আলাদা করে যোগ না করে Google গ্রুপ হিসেবে প্রোজেক্ট মেম্বারদের (অর্থাৎ "প্রিন্সিপাল") যোগ করুন ।

    গ্রুপ ব্যবহার করলে, টিম মেম্বারদের একসাথে ভূমিকা অ্যাসাইন করা এবং আপনার Firebase প্রোজেক্টে কার অ্যাক্সেস আছে তা ম্যানেজ করা সহজ হয়, বিশেষ করে টিম মেম্বাররা যদি রোটেট করেন বা ছেড়ে চলে যান।

  • প্রতিটি প্রোজেক্ট মেম্বারকে (যাকে "প্রিন্সিপাল" বলা হয়) আপনার Firebase প্রোজেক্ট ও রিসোর্সে অ্যাক্সেসের উপযুক্ত লেভেল দিন। Firebase IAM-এর মাধ্যমে প্রোজেক্ট অ্যাক্সেস ম্যানেজ করা নিবন্ধ থেকে আরও জানুন।

  • নিশ্চিত করুন যে প্রতিটি প্রযোজ্য প্রোজেক্ট মেম্বার (অর্থাৎ "প্রিন্সিপাল") নির্দিষ্ট প্রোডাক্ট বা প্রোজেক্টের অবস্থা (যেমন, বিলিং প্ল্যান পরিবর্তন বা কোটা সীমা) সম্পর্কে সতর্কতা পাওয়ার জন্য তাদের পছন্দ সেট-আপ করেছেন। Firebase অ্যালার্ট পাওয়া লিঙ্কে গিয়ে আরও জানুন।

    এছাড়াও, আপনি চাইলে আপনার প্রোজেক্টের "প্রয়োজনীয় পরিচিতি" কাস্টমাইজ করতে পারেন যদি আপনি চান যে নির্দিষ্ট বা অতিরিক্ত প্রোজেক্ট মেম্বাররা বিজ্ঞপ্তি পান। এটি বিশেষ করে প্রোজেক্টের মালিক ছাড়াও অন্য কেউ যাতে বিলিং, আইনি ও প্রোডাক্ট সংক্রান্ত পরিবর্তন সম্পর্কে বিজ্ঞপ্তি পান তা নিশ্চিত করতে সাহায্য করে।

  • আপনার Firebase API key-কে শুধু সেইসব API-তে সীমাবদ্ধ রাখুন যেগুলি key-এর API অনুমোদিত তালিকায় থাকা প্রয়োজন। এছাড়াও, Firebase-এর নিরাপত্তা চেকলিস্টে API কী সম্পর্কে তথ্য চেক করে দেখুন।

আপনার অ্যাপে ব্যবহৃত নির্দিষ্ট পরিষেবা প্রস্তুত করা

আপনার অ্যাপে ব্যবহৃত প্রতিটি প্রোডাক্ট এবং পরিষেবার ক্ষেত্রে প্রোডাকশনে ব্যবহার করার সময় নির্দিষ্ট কিছু বিষয় বিবেচনা করতে হতে পারে।

Firebase AI Logic

Google Analytics

  • আপনার অ্যাপ লঞ্চ করার সময় থেকে অ্যানালিটিক্স ডেটা সংগ্রহ করা শুরু করতে Google Analytics-এর জন্য অডিয়েন্স শর্ত নির্ধারণ করুন।

  • BigQuery-এ Google Analytics ডেটা এক্সপোর্ট করার সুবিধা চালু করার কথা বিবেচনা করুন যাতে আপনি BigQuery SQL-এর মাধ্যমে আপনার ডেটা বিশ্লেষণ করতে পারেন অথবা আপনার নিজস্ব টুলের সাথে ব্যবহার করার জন্য ডেটা এক্সপোর্ট করতে পারেন।

  • ব্যবহারকারীর তথ্যকে এমন তথ্যে সীমাবদ্ধ করুন যা আপনার সম্পূর্ণ অ্যাপের লাইফসাইকেলের জন্য প্রাসঙ্গিক হবে। আপনি কতগুলি তৈরি করতে পারবেন তার একটি সীমা আছে, এবং সেগুলি আর্কাইভ করা যাবে না।

  • আপনার Google Analytics প্রপার্টি ও অ্যাকাউন্টের জন্য Google Analytics ভূমিকা সম্পর্কিত সেটিংস পর্যালোচনা করুন। এইসব অনুমতি Firebase প্রোজেক্ট IAM অনুমতি ও ভূমিকা থেকে আলাদাভাবে ম্যানেজ করা হয়।

  • Firebase কনসোলের প্রোজেক্ট সেটিংস-এ আপনার অ্যাপ স্টোর আইডি এবং টিম আইডি (প্রয়োজন হলে) সঠিক আছে কিনা তা নিশ্চিত করুন।

App Check

  • Firebase কনসোলের প্রোজেক্ট সেটিংস থেকে আপনার টিম আইডি সঠিক আছে কিনা তা নিশ্চিত করুন।

  • আপনি আগে থেকে না করে থাকলে, যেসব পরিষেবাতে এটি কাজ করে সেগুলির জন্য এনফোর্সমেন্ট Firebase App Check শুরু করুন। App Check শুধুমাত্র আপনার আসল অ্যাপ যাতে আপনার ব্যাকএন্ড পরিষেবা ও রিসোর্স অ্যাক্সেস করতে পারে তা নিশ্চিত করতে সাহায্য করে।

Authentication

  • আপনি ব্যবহার করছেন না এমন যেকোনও প্রদানকারী বন্ধ করুন (বিশেষ করে পরিচয় গোপন রেখে যাচাইকরণ)।

  • আপনার অ্যাপে 'Google-এর মাধ্যমে সাইন-ইন করুন' ফিচার ব্যবহার করা হলে, আপনার OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন পছন্দমতো সেট করুন।

  • Authentication ইমেল পাঠানোর পরিষেবার জন্য আপনার ডোমেন ও প্রেরক কাস্টমাইজ করুন।

  • আপনি Identity Platform এসএমএস যাচাইকরণ পরিষেবা ব্যবহার করলে, এসএমএস অপব্যবহার থেকে আপনার অ্যাপকে সুরক্ষিত রাখতে Firebase App Check এনফোর্স করা শুরু করুন এবং একটি এসএমএস অঞ্চল নীতি কনফিগার করুন।

  • Apple প্ল্যাটফর্মে সাধারণ Authentication সমস্যার জন্য সমস্যা ম্যানেজ করার সুবিধা প্রয়োগ করুন।

  • Firebase কনসোলের প্রোজেক্ট সেটিংস থেকে আপনার অ্যাপের সাইনিং সার্টিফিকেটের জন্য রিলিজ SHA-1 হ্যাশ যোগ করুন। আপনার অ্যাপ ফোন নম্বর সাইন-ইন বা Google-এর মাধ্যমে সাইন-ইন (যার OAuth ক্লায়েন্ট প্রয়োজন) ব্যবহার করলে SHA-1 হ্যাশ প্রয়োজন।

  • অননুমোদিত ব্যবহার আটকাতে আপনার ডোমেনের জন্য অ্যাক্সেস কন্ট্রোল যোগ করুন। বিশেষ করে, Firebase কনসোলের Authentication বিভাগে আপনার প্রোডাকশন ডোমেনে অ্যাক্সেস দিন (আপনি যদি Firebase Security Rules-এর উপর নির্ভর করে এমন প্রোডাক্ট ব্যবহার করেন তাহলে এটি বিশেষভাবে গুরুত্বপূর্ণ)।

Cloud Firestore

  • আপনার Cloud Firestore Security Rules কনফিগার করুন যাতে অনিচ্ছাকৃত ডেটা অ্যাক্সেস আটকানো যায়।

  • আপনার রিলিজ বিল্ডে কোড ছোট করার জন্য ProGuard ব্যবহার করুন। ProGuard ছাড়া, Cloud Firestore SDK এবং এর ডিপেন্ডেন্সি আপনার APK সাইজ বাড়াতে পারে।

Cloud Messaging

  • BigQuery-এ Cloud Messaging ডেটা এক্সপোর্ট করার সুবিধা চালু করার কথা বিবেচনা করুন যাতে আপনি BigQuery SQL-এর মাধ্যমে আপনার ডেটা বিশ্লেষণ করতে পারেন অথবা আপনার নিজস্ব টুলের সাথে ব্যবহার করার জন্য ডেটা এক্সপোর্ট করতে পারেন।

  • Cloud Messaging-এর জন্য আপনার APNS অথরাইজেশন কী আপলোড করুন Firebase কনসোলে Apple অ্যাপে। APNS সার্টিফিকেট ব্যবহার করলে, আপনার প্রোডাকশন APNS সার্টিফিকেট আপলোড করা হয়েছে কিনা তা নিশ্চিত করুন।

  • Cloud Messaging-এর জন্য ক্লাউড অডিট লগিং চালু করার কথা বিবেচনা করুন যাতে আপনি অডিট লগ তৈরি করতে পারেন যা আপনার Google Cloud রিসোর্সের মধ্যে অ্যাডমিনিস্ট্রেটিভ ও অ্যাক্সেস অ্যাক্টিভিটি রেকর্ড করে।

  • নতুন ফিচার ও নিরাপত্তা আপডেট সম্পর্কে আপ-টু-ডেট থাকতে, SDK-এর নতুন ভার্সনে নিয়মিত আপডেট করতে ভুলবেন না।

  • আপনার অ্যাপ সার্ভারে Cloud Messaging রেজিস্ট্রেশন টোকেন ম্যানেজমেন্টের পেশাদার পদ্ধতি অনুসরণ করুন। টাইমস্ট্যাম্প সহ রেজিস্ট্রেশন টোকেন সেভ করুন, পরিবর্তন হলে সেগুলি আপডেট করুন এবং পুরনো টোকেন (এক মাসের বেশি সময় ধরে অ্যাক্টিভ নেই) সরিয়ে দিন, যাতে সঠিক ডেলিভারি রিপোর্টিং এবং মেসেজ টার্গেটিং নিশ্চিত করা যায়।

  • স্কেলে Cloud Messaging মেসেজ পাঠানোর সময় পেশাদার পদ্ধতি অনুসরণ করুন। HTTP v1 API ব্যবহার করুন অথবা Firebase Admin SDK, আবার চেষ্টা করার জন্য জিটার সহ এক্সপোনেনশিয়াল ব্যাকঅফ প্রয়োগ করুন এবং ট্রাফিক স্পাইক ও রেট লিমিট এড়াতে Retry-After হেডার মেনে চলুন।

Cloud Storage

  • অনিচ্ছাকৃত ডেটা অ্যাক্সেস আটকাতে আপনার Cloud Storage Security Rules কনফিগার করুন।

Crashlytics

  • প্রতিটি প্রযোজ্য প্রোজেক্ট মেম্বার (ওরফে "প্রিন্সিপাল") যাতে Crashlytics বা প্রোজেক্টের অবস্থা (যেমন বিলিং প্ল্যান পরিবর্তন বা কোটা সীমা) সম্পর্কে সতর্কতা পেতে তাদের পছন্দ সেট আপ করে তা নিশ্চিত করুন। Firebase সতর্কতা পান লিঙ্ক থেকে আরও জানুন।

  • BigQuery-এ Crashlytics ডেটা এক্সপোর্ট করার সুবিধা চালু করার কথা বিবেচনা করুন যাতে আপনি BigQuery SQL-এর মাধ্যমে আপনার ডেটা বিশ্লেষণ করতে পারেন অথবা আপনার নিজস্ব টুলের সাথে ব্যবহার করার জন্য ডেটা এক্সপোর্ট করতে পারেন।

  • (শুধুমাত্র নেটিভ Android ও iOS) ক্র্যাশ কেন হয়েছে এবং এই ব্যাপারে কী করতে হবে তা বুঝতে যাতে কম সময় লাগে, সেই জন্য Crashlytics-এ AI সহায়তা চালু করার কথা বিবেচনা করুন।

  • Crashlytics-এ ব্যবহার করার জন্য রিলিজ বিল্ডের dSYM ফাইল আপলোড করুন। Xcode যেন dSYMs অটোমেটিক প্রসেস করতে এবং ফাইল আপলোড করতে পারে তা নিশ্চিত করুন।

  • Crashlytics-এ ব্যবহারের জন্য ProGuard ম্যাপিং আপলোড করুন। Firebase CLI ব্যবহার করে আপলোড করা সম্ভব।

  • আপনার Android অ্যাপের স্বাস্থ্য সম্পর্কে আরও সমৃদ্ধ ভিউ পেতে Firebase-কে Google Play-এর সাথে লিঙ্ক করুন। যেমন, আপনি Google Play ট্র্যাকের মাধ্যমে আপনার অ্যাপের ক্র্যাশ রিপোর্ট ফিল্টার করতে পারেন, যা আপনাকে নির্দিষ্ট বিল্ডে আপনার ড্যাশবোর্ডকে আরও ভালোভাবে ফোকাস করতে দেয়।

  • Android-কে টার্গেট করে এবং IL2CPP ব্যবহার করে তৈরি করা বিল্ডের ক্ষেত্রে, নিশ্চিত করুন যে আপনি প্রতিটি স্বতন্ত্র বিল্ড রানের জন্য নেটিভ সিম্বল আপলোড করছেন যার জন্য আপনি কোড বা কনফিগারেশনে কোনও পরিবর্তন হয়েছে কিনা তা নির্বিশেষে সিম্বল পেতে চান।

Firebase ML

Performance Monitoring

  • প্রোজেক্টের প্রতিটি প্রযোজ্য মেম্বার (ওরফে "প্রিন্সিপাল") Performance Monitoring বা প্রোজেক্টের অবস্থা (যেমন বিলিং প্ল্যান পরিবর্তন বা কোটার সীমা) সম্পর্কে সতর্কতা পেতে তাদের পছন্দ সেট আপ করেছেন কিনা তা নিশ্চিত করুন। Firebase সতর্কতা পান লিঙ্ক থেকে আরও জানুন।

  • BigQuery-এ Performance Monitoring ডেটা এক্সপোর্ট করার সুবিধা চালু করার কথা বিবেচনা করুন যাতে আপনি BigQuery SQL-এর মাধ্যমে আপনার ডেটা বিশ্লেষণ করতে পারেন অথবা আপনার নিজস্ব টুলের সাথে ব্যবহার করার জন্য ডেটা এক্সপোর্ট করতে পারেন।

Realtime Database

Remote Config

  • পরীক্ষামূলক Remote Config নিয়ম যেন আপনার রিলিজ ব্যবহারকারীদের প্রভাবিত না করে এবং আপনার অ্যাপে যেন উপযুক্ত সার্ভার ও অ্যাপ-মধ্যস্থ ডিফল্ট ডিস্ট্রিবিউট করা হয় তা নিশ্চিত করুন।

  • বিবেচনা করুন Remote Config-এ minimum_version প্যারামিটার কনফিগার করার কথা যাতে আপনি ব্যবহারকারীদের তাদের অ্যাপ আপডেট করার জন্য প্রম্পট করতে বা বাধ্য করতে পারেন যদি আগের ভার্সনগুলি ইনকম্প্যাটিবল বা বাতিল হয়ে যায়।