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 কী শুধুমাত্র সেইসব API-তে সীমাবদ্ধ করুন যেগুলি কী-এর 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-এর মাধ্যমে আপনার ডেটা বিশ্লেষণ করতে পারেন অথবা আপনার নিজস্ব টুলের সাথে ব্যবহার করার জন্য ডেটা এক্সপোর্ট করতে পারেন।

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

Cloud Storage

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

Crashlytics

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

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

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

  • রিলিজ বিল্ডের জন্য dSYM ফাইল আপলোড করুন যা Crashlytics-এ ব্যবহার করা হবে। 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

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

  • আপনি স্কেল করার জন্য প্রস্তুত কিনা তা নিশ্চিত করুন। Realtime Database-এর ডিফল্ট কোটা আছে যা বেশিরভাগ অ্যাপ্লিকেশনের জন্য যথেষ্ট বড়, তবে কিছু অ্যাপের অতিরিক্ত ক্ষমতা প্রয়োজন হতে পারে।

  • আপনার proguard নিয়ম কনফিগার করুন যাতে Realtime Database-এর সাথে কাজ করে।

Remote Config

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

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