1. ভূমিকা
লক্ষ্য
এই কোডল্যাবে, আপনি Flutter এবং Cloud Firestore দ্বারা চালিত একটি মাল্টি-প্ল্যাটফর্ম মোবাইল রেস্তোরাঁ সুপারিশ অ্যাপের জন্য একটি ইন-অ্যাপ মেসেজিং পরীক্ষা চালাবেন।
একবার শেষ হয়ে গেলে, আপনি ন্যূনতম পরিমাণে কোড লেখার সময় যেকোনো iOS বা Android অ্যাপের জন্য ব্যবহারকারীর ব্যস্ততা কার্যকরভাবে বৃদ্ধি করার জন্য ইন-অ্যাপ মেসেজিং পরীক্ষাগুলি ডিজাইন এবং বাস্তবায়ন করতে সক্ষম হবেন।

তুমি কি শিখবে
- ফ্লাটার অ্যাপে ফায়ারবেস ইন-অ্যাপ মেসেজিং (FIAM) কীভাবে ব্যবহার করবেন
- আপনার অ্যাপ-মধ্যস্থ বার্তাগুলির চেহারা কীভাবে কাস্টমাইজ করবেন
- কীভাবে একটি ইন-অ্যাপ মেসেজিং পরীক্ষা ডিজাইন করবেন এবং আপনার অ্যাপে এটি বাস্তবায়ন করবেন
- অ্যাপ-মধ্যস্থ মেসেজিং পরীক্ষার ফলাফল কীভাবে ব্যাখ্যা করবেন
এই কোডল্যাব থেকে আপনি কী শিখতে চান?
ফায়ারবেস ইন-অ্যাপ মেসেজিং
ফায়ারবেস ইন-অ্যাপ মেসেজিং (FIAM) আপনাকে আপনার অ্যাপটি সক্রিয়ভাবে ব্যবহার করছেন এমন ব্যবহারকারীদের সাথে যুক্ত করতে সাহায্য করে, তাদের লক্ষ্যবস্তু এবং প্রাসঙ্গিক বার্তা পাঠিয়ে যা তাদের অ্যাপের মধ্যে গুরুত্বপূর্ণ কাজগুলি সম্পূর্ণ করতে উৎসাহিত করে - যেমন গেমের স্তর অতিক্রম করা, কোনও আইটেম কেনা, বা সামগ্রীতে সাবস্ক্রাইব করা।
ফায়ারবেস এ/বি টেস্টিং
গুগল অপ্টিমাইজ দ্বারা পরিচালিত, ফায়ারবেস এ/বি টেস্টিং (এবিটি) আপনাকে পণ্য এবং বিপণন পরীক্ষা চালানো, বিশ্লেষণ এবং স্কেল করা সহজ করে আপনার অ্যাপ অভিজ্ঞতা অপ্টিমাইজ করতে সাহায্য করে। এটি আপনাকে আপনার অ্যাপের UI, বৈশিষ্ট্য বা এনগেজমেন্ট ক্যাম্পেইনগুলিতে পরিবর্তনগুলি পরীক্ষা করার ক্ষমতা দেয় যাতে আপনি সেগুলি ব্যাপকভাবে চালু করার আগে আপনার মূল মেট্রিক্সগুলিতে (যেমন রাজস্ব এবং ধরে রাখার) আসলেই প্রভাব ফেলে কিনা তা পরীক্ষা করে দেখতে পারেন।
তোমার যা দরকার
যদি আপনি Flutter বা Firestore এর সাথে খুব বেশি পরিচিত না হন, তাহলে প্রথমে Flutter codelab এর জন্য Firebase সম্পূর্ণ করুন:
আপনি নিম্নলিখিত যেকোনো ডিভাইস ব্যবহার করে এই কোডল্যাবটি চালাতে পারেন:
- একটি বাস্তব ডিভাইস (Android বা iOS) আপনার কম্পিউটারের সাথে সংযুক্ত এবং ডেভেলপার মোডে সেট করা।
- iOS সিমুলেটর। ( Xcode টুল ইনস্টল করতে হবে)।
- অ্যান্ড্রয়েড এমুলেটর। ( অ্যান্ড্রয়েড স্টুডিওতে সেটআপ প্রয়োজন)।
উপরেরগুলি ছাড়াও, আপনার আরও প্রয়োজন হবে:
- আপনার পছন্দের একটি ব্রাউজার, যেমন Chrome।
- আপনার পছন্দের একটি IDE অথবা টেক্সট এডিটর, যেমন Android Studio অথবা VS Code যা Dart and Flutter প্লাগইন দিয়ে কনফিগার করা আছে। Flutter এর সাথে ব্যবহারের জন্য VS Code সুপারিশ করা হয়।
- Flutter- এর সর্বশেষ স্থিতিশীল সংস্করণ (অথবা যদি আপনি প্রান্তে বসবাস উপভোগ করেন তবে বিটা)।
- আপনার ফায়ারবেস প্রকল্প তৈরি এবং পরিচালনা করার জন্য একটি গুগল অ্যাকাউন্ট, যেমন একটি জিমেইল অ্যাকাউন্ট।
- কোডল্যাবের নমুনা কোড। কোডটি কীভাবে পাবেন তার জন্য পরবর্তী ধাপটি দেখুন।
2. সেট আপ করুন
কোডটি পান
কমান্ড লাইন থেকে GitHub রিপোজিটরি ক্লোন করুন:
git clone https://github.com/FirebaseExtended/codelab-friendlyeats-flutter.git friendlyeats-flutter
নমুনা কোডটি friendlyeats-flutter ডিরেক্টরিতে ক্লোন করা হবে। এখন থেকে, এই ডিরেক্টরি থেকে কমান্ডগুলি চালাতে ভুলবেন না:
cd friendlyeats-flutter
তারপর কোডল্যাব ডিরেক্টরিতে যান এবং fiam-abt শাখাটি দেখুন:
git checkout fiam-abt
এই শাখায় এই কোডল্যাবের জন্য প্রয়োজনীয় সমস্ত কোড রয়েছে, যার মধ্যে done ফোল্ডারে একটি সম্পূর্ণ সংস্করণও রয়েছে। এই সংগ্রহস্থলের অন্যান্য শাখাগুলিতে FriendlyEats অ্যাপ তৈরির জন্য কোড রয়েছে, যেমনটি মাল্টি-প্ল্যাটফর্ম Firestore Flutter codelab- এ দেখানো হয়েছে। এই কোডল্যাবের উদ্দেশ্যে, আমরা এই শাখা থেকে ওয়েব ইন্টিগ্রেশন সরিয়ে ফেলেছি।
স্টার্টার অ্যাপটি আমদানি করুন
আপনার পছন্দের IDE-তে codelab-fiam-abt ডিরেক্টরিটি খুলুন বা আমদানি করুন। এই ডিরেক্টরিতে কোডল্যাবের জন্য শুরুর কোড রয়েছে যার মধ্যে একটি রেস্তোরাঁ সুপারিশ অ্যাপ রয়েছে। এই কোডল্যাবের মাধ্যমে, আপনি এই অ্যাপের ব্যবহারকারীদের জন্য একটি ইন-অ্যাপ মেসেজিং পরীক্ষা চালাবেন।
একটি ফায়ারবেস প্রকল্প তৈরি করুন
- আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেস কনসোলে সাইন ইন করুন।
- একটি নতুন প্রকল্প তৈরি করতে বোতামটি ক্লিক করুন, এবং তারপর একটি প্রকল্পের নাম লিখুন (উদাহরণস্বরূপ,
FriendlyEats)। - চালিয়ে যান ক্লিক করুন।
- যদি অনুরোধ করা হয়, তাহলে Firebase শর্তাবলী পর্যালোচনা করুন এবং গ্রহণ করুন, এবং তারপর Continue এ ক্লিক করুন।
- (ঐচ্ছিক) Firebase কনসোলে ("Gemini in Firebase" নামে পরিচিত) AI সহায়তা সক্ষম করুন।
- এই কোডল্যাবের জন্য, Firebase পণ্যগুলি সর্বোত্তমভাবে ব্যবহার করার জন্য আপনার Google Analytics প্রয়োজন, তাই Google Analytics বিকল্পের জন্য টগল চালু রাখুন। Google Analytics সেট আপ করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
- Create project এ ক্লিক করুন, আপনার province করার জন্য অপেক্ষা করুন, এবং তারপর Continue এ ক্লিক করুন।
অভিনন্দন! আপনি আপনার প্রথম Firebase প্রকল্প তৈরি করেছেন।
এরপর, আপনি Firebase কনসোল ব্যবহার করে প্রয়োজনীয় পরিষেবাগুলি কনফিগার এবং সক্ষম করার কাজটি সম্পন্ন করবেন।
বেনামী প্রমাণীকরণ সক্ষম করুন
যদিও এই কোডল্যাবের মূল বিষয়বস্তু প্রমাণীকরণ নয়, তবুও আপনার অ্যাপে কিছু ধরণের প্রমাণীকরণ থাকা গুরুত্বপূর্ণ। আপনি অ্যানোনিমাস লগইন ব্যবহার করবেন — যার অর্থ ব্যবহারকারীকে কোনও অনুরোধ ছাড়াই নীরবে সাইন ইন করা হবে।
বেনামী লগইন সক্ষম করতে:
- Firebase কনসোলে, বাম নেভিগেশন বারে Authentication খুঁজুন।
- Authentication এ ক্লিক করুন, এবং তারপর Get started এ ক্লিক করুন এবং Sign-in method ট্যাবটি নির্বাচন করুন (অথবা সরাসরি Firebase কনসোলে যান )।
- বেনামী সাইন-ইন প্রদানকারী সক্ষম করুন, এবং সংরক্ষণ করুন এ ক্লিক করুন।

অ্যানোনিমাস লগইন সক্ষম করলে অ্যাপ্লিকেশনটি আপনার ব্যবহারকারীরা অ্যাপটি অ্যাক্সেস করার সময় নীরবে সাইন ইন করতে পারবে। আরও জানতে, অ্যান্ড্রয়েড এবং iOS এর জন্য অ্যানোনিমাস প্রমাণীকরণ ডকুমেন্টেশন দেখুন।
ক্লাউড ফায়ারস্টোর সেট আপ করুন
অ্যাপটি রেস্তোরাঁর তথ্য এবং রেটিং সংরক্ষণ এবং গ্রহণের জন্য ক্লাউড ফায়ারস্টোর ব্যবহার করে।
আপনার Firebase প্রকল্পে Cloud Firestore কীভাবে সেট আপ করবেন তা এখানে দেওয়া হল:
- Firebase কনসোলের বাম প্যানেলে, Build প্রসারিত করুন এবং তারপর Firestore database নির্বাচন করুন।
- ডাটাবেস তৈরি করুন ক্লিক করুন।
- ডাটাবেস আইডি
(default)এ সেট করে রাখুন। - আপনার ডাটাবেসের জন্য একটি অবস্থান নির্বাচন করুন, তারপর পরবর্তী ক্লিক করুন।
একটি আসল অ্যাপের জন্য, আপনাকে এমন একটি অবস্থান বেছে নিতে হবে যা আপনার ব্যবহারকারীদের কাছাকাছি। - পরীক্ষা মোডে শুরু করুন ক্লিক করুন। নিরাপত্তা নিয়ম সম্পর্কে দাবিত্যাগ পড়ুন।
এই কোডল্যাবে পরে, আপনার ডেটা সুরক্ষিত করার জন্য আপনি সুরক্ষা নিয়ম যোগ করবেন। আপনার ডাটাবেসের জন্য সুরক্ষা নিয়ম যোগ না করে কোনও অ্যাপ সর্বজনীনভাবে বিতরণ বা প্রকাশ করবেন না । - তৈরি করুন ক্লিক করুন।
৩. মোবাইল-নির্দিষ্ট ফায়ারবেস কনফিগারেশন
Firebase সাপোর্ট সক্ষম করার জন্য প্রয়োজনীয় বেশিরভাগ কোড পরিবর্তন ইতিমধ্যেই আপনার কাজ করা প্রকল্পে চেক করা হয়েছে। তবে, মোবাইল প্ল্যাটফর্মের জন্য সাপোর্ট যোগ করার জন্য, আপনাকে যা করতে হবে:
- Firebase প্রকল্পে পছন্দসই প্ল্যাটফর্মটি নিবন্ধন করুন
- প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন ফাইলটি ডাউনলোড করুন এবং কোডে এটি যুক্ত করুন।
আপনার Flutter অ্যাপের শীর্ষ-স্তরের ডিরেক্টরিতে, ios এবং android নামক সাবডিরেক্টরি রয়েছে। এই ডিরেক্টরিগুলিতে যথাক্রমে iOS এবং Android এর জন্য প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন ফাইলগুলি থাকে।
iOS কনফিগার করুন
Firebase কনসোলে , বাম নেভিগেশন বারের উপরে Project Settings নির্বাচন করুন এবং General পৃষ্ঠায় Your apps এর অধীনে iOS বোতামে ক্লিক করুন।
আপনার নিম্নলিখিত ডায়ালগটি দেখতে হবে:

- গুরুত্বপূর্ণ মান হল iOS বান্ডেল আইডি। পরবর্তী তিনটি ধাপ অনুসরণ করলে আপনি বান্ডেল আইডি পাবেন।
- কমান্ড-লাইন টুলে, আপনার Flutter অ্যাপের শীর্ষ-স্তরের ডিরেক্টরিতে যান।
- Xcode খুলতে
open ios/Runner.xcworkspaceকমান্ডটি চালান।
- Xcode-এ, বাম দিকের প্যানে শীর্ষ-স্তরের রানার- এ ক্লিক করুন, ডান দিকের প্যানে জেনারেল ট্যাবটি দেখানোর জন্য, যেমনটি দেখানো হয়েছে। Bundle Identifier মানটি অনুলিপি করুন।

- Firebase ডায়ালগে ফিরে যান, কপি করা Bundle Identifier iOS bundle ID ফিল্ডে পেস্ট করুন এবং Register App এ ক্লিক করুন।
- Firebase-এ চালিয়ে যান,
GoogleService-Info.plistকনফিগারেশন ফাইলটি ডাউনলোড করার জন্য নির্দেশাবলী অনুসরণ করুন। - Xcode-এ ফিরে যান। লক্ষ্য করুন যে Runner-এর একটি সাবফোল্ডার আছে যা Runner নামেও পরিচিত (পূর্ববর্তী ছবিতে দেখানো হয়েছে)।
-
GoogleService-Info.plistফাইলটি (যেটি আপনি সবেমাত্র ডাউনলোড করেছেন) সেই Runner সাবফোল্ডারে টেনে আনুন। - Xcode-এ প্রদর্শিত ডায়ালগে, Finish এ ক্লিক করুন।
- Firebase কনসোলে ফিরে যান। সেটআপ ধাপে, Next এ ক্লিক করুন, বাকি ধাপগুলি এড়িয়ে যান এবং Firebase কনসোলের মূল পৃষ্ঠায় ফিরে যান।
iOS এর জন্য আপনার Flutter অ্যাপটি কনফিগার করা শেষ!
অ্যান্ড্রয়েড কনফিগার করুন
- Firebase Console- এ, বাম নেভিগেশন বারের উপরে Project Settings নির্বাচন করুন এবং General পৃষ্ঠায় Your apps-এর অধীনে Android বোতামে ক্লিক করুন।
আপনি নিম্নলিখিত ডায়ালগটি দেখতে পাবেন: 
- গুরুত্বপূর্ণ মান হল Android প্যাকেজের নাম । নিম্নলিখিত দুটি ধাপ সম্পাদন করলে আপনি প্যাকেজের নাম পাবেন:
- আপনার Flutter অ্যাপ ডিরেক্টরিতে,
android/app/src/main/AndroidManifest.xmlফাইলটি খুলুন। -
manifestএলিমেন্টে,packageঅ্যাট্রিবিউটের স্ট্রিং মান খুঁজুন। এই মানটি অ্যান্ড্রয়েড প্যাকেজের নাম (com.yourcompany.yourprojectএর মতো কিছু)। এই মানটি কপি করুন। - ফায়ারবেস ডায়ালগে, কপি করা প্যাকেজের নামটি অ্যান্ড্রয়েড প্যাকেজের নাম ক্ষেত্রে পেস্ট করুন।
- এই কোডল্যাবের জন্য আপনার ডিবাগ সাইনিং সার্টিফিকেট SHA-1 এর প্রয়োজন নেই। এটি খালি রাখুন।
- অ্যাপ নিবন্ধন করুন এ ক্লিক করুন।
- Firebase-এ চালিয়ে যান,
google-services.jsonকনফিগারেশন ফাইলটি ডাউনলোড করার জন্য নির্দেশাবলী অনুসরণ করুন। - আপনার Flutter অ্যাপ ডিরেক্টরিতে যান এবং
google-services.jsonফাইলটি (যেটি আপনি সবেমাত্র ডাউনলোড করেছেন)android/appডিরেক্টরিতে সরান। - ফায়ারবেস কনসোলে ফিরে যান, বাকি ধাপগুলি এড়িয়ে যান এবং ফায়ারবেস কনসোলের মূল পৃষ্ঠায় ফিরে যান।
- সমস্ত Gradle কনফিগারেশন ইতিমধ্যেই চেক ইন করা আছে। যদি আপনার অ্যাপটি এখনও চলমান থাকে, তাহলে এটি বন্ধ করে পুনর্নির্মাণ করুন, যাতে gradle নির্ভরতা ইনস্টল করতে পারে।
অ্যান্ড্রয়েডের জন্য আপনার ফ্লটার অ্যাপটি কনফিগার করা শেষ!
৪. আপনার অ্যাপটি স্থানীয়ভাবে চালান
তুমি তোমার অ্যাপে কাজ শুরু করার জন্য প্রস্তুত! প্রথমে, স্থানীয়ভাবে অ্যাপটি চালাও। এখন তুমি যে কোনও প্ল্যাটফর্মে অ্যাপটি চালাতে পারো যা তুমি কনফিগার করেছো (এবং যার জন্য তোমার একটি ডিভাইস এবং এমুলেটর উপলব্ধ আছে)।
নিম্নলিখিত কমান্ডের সাহায্যে কোন ডিভাইসগুলি উপলব্ধ তা আবিষ্কার করুন:
flutter devices
কোন ডিভাইসগুলি উপলব্ধ তার উপর নির্ভর করে, পূর্ববর্তী কমান্ডের আউটপুটটি এরকম দেখাবে:

এখন, নিম্নলিখিত কমান্ডটি ব্যবহার করে স্থানীয়ভাবে অ্যাপটি চালান:
flutter run
এখন, আপনার FriendlyEats এর কপিটি আপনার Firebase প্রকল্পের সাথে সংযুক্ত দেখতে পাবেন।
অ্যাপটি স্বয়ংক্রিয়ভাবে আপনার Firebase প্রকল্পের সাথে সংযুক্ত হয় এবং নীরবে আপনাকে একজন বেনামী ব্যবহারকারী হিসেবে সাইন ইন করে।
৫. আপনার প্রথম বার্তা তৈরি করুন এবং পরীক্ষা করুন
আপনার অ্যাপে Firebase ইন-অ্যাপ মেসেজিং ইন্টিগ্রেট করুন
ইন-অ্যাপ মেসেজিং বেসিক ইন্টিগ্রেশন সম্পূর্ণ কোডলেস, আপনাকে যা করতে হবে তা হল নির্ভরতা যোগ করুন এবং আপনি যেতে প্রস্তুত! আপনার pubspec.yaml ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন।
dependencies:
# ...
firebase_in_app_messaging: ^0.4.0
# ...
Firebase কনসোলে একটি বার্তা রচনা করুন
এখন যেহেতু আপনি আপনার অ্যাপে FIAM যোগ করেছেন, আসুন একটি বার্তা তৈরি করি যা আপনার অ্যাপটি প্রথম খোলার সাথে সাথে ট্রিগার হবে।
আপনার প্রথম বার্তাটি রচনা করতে:
- Firebase কনসোলের Engage বিভাগে, In-App Messaging এ ক্লিক করুন।
- ইন-অ্যাপ মেসেজিং প্যানে আপনার প্রথম প্রচারণা তৈরি করুন ক্লিক করুন।

ইন্টিগ্রেশনটি কাজ করছে কিনা তা নিশ্চিত করার জন্য একটি মৌলিক মোডাল বার্তা তৈরি করা যাক। আপনার ইচ্ছামত বার্তাটি কাস্টমাইজ করতে দ্বিধা করবেন না - আপনি ছবি, বোতাম যোগ করতে পারেন, অথবা রঙ পরিবর্তন করতে পারেন।
আপনি যে ইন্টিগ্রেশন পথ অনুসরণ করছেন তার উপর নির্ভর করে, আপনার iOS, Android, অথবা উভয়ই থাকতে পারে, সেই অ্যাপটিকে লক্ষ্য করে পরীক্ষা করতে ভুলবেন না।

আমরা নিশ্চিত করতে চাই যে অ্যাপটি খোলার সময় বার্তাটি ট্রিগার করা হোক, যাতে ডিফল্ট সময়সূচী কনফিগারেশন এখানে কাজ করে।
সময়সূচী সম্পন্ন হলে আমরা বার্তাটি প্রকাশ করতে পারব। "পর্যালোচনা" এ ক্লিক করুন এবং আপনি নিম্নলিখিতটির মতো কিছু দেখতে পাবেন।
আপনার অ্যাপে বার্তাটি দেখুন
এখন, আপনার অ্যাপটি আনইনস্টল করে পুনরায় ইনস্টল করুন, এবং খোলার সময় আপনার তৈরি করা বার্তাটি প্রদর্শিত হবে। অভিনন্দন, আপনি আপনার প্রথম ইন-অ্যাপ বার্তাটি পাঠিয়েছেন! পরবর্তী ধাপে, আপনি শিখবেন কিভাবে একটি অ্যানালিটিক্স ইভেন্ট যোগ করতে হয়, যাতে আপনার ব্যবহারকারীরা অ্যাপে কী কী পদক্ষেপ নেয় তার উপর ভিত্তি করে একটি ইন-অ্যাপ বার্তা ট্রিগার করতে পারেন।
৬. উন্নত বার্তা ট্রিগারের জন্য ফায়ারবেস অ্যানালিটিক্স একীভূত করুন
আপনার অ্যাপে Firebase Analytics একীভূত করুন
ব্যবহারকারীরা আমাদের অ্যাপের সাথে কীভাবে ইন্টারঅ্যাক্ট করছে তা বোঝার জন্য এবং তাদের ক্রিয়াকলাপের উপর ভিত্তি করে একটি ইন-অ্যাপ বার্তা ট্রিগার করার জন্য, আমরা এখন কোনও ব্যবহারকারী যখন কোনও রেস্তোরাঁয় ক্লিক করেন তখন তার জন্য একটি Analytics ইভেন্ট যুক্ত করব।
-
pubspec.yamlএ Flutter-এ Firebase Analytics নির্ভরতা যোগ করুন।
dependencies:
# ...
firebase_analytics: ^1.0.1
# ...
-
home_page.dartএ বিশ্লেষণ আমদানি করুন
import 'package:firebase_analytics/firebase_analytics.dart';
-
home_page.dartএ HomePage ক্লাসে Firebase Analytics-এর একটি উদাহরণ যোগ করুন।
class HomePage extends StatefulWidget {
static const route = '/';
static FirebaseAnalytics analytics = FirebaseAnalytics();
HomePage({Key key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
- ব্যবহারকারী যখন
home_page.dartএ একটি রেস্তোরাঁ কার্ডে ক্লিক করেন তখন একটি বিশ্লেষণ ইভেন্ট চালু করুন।
onRestaurantPressed: (id) async {
await HomePage.analytics.logEvent(name: 'click_restaurant');
Navigator.pushNamed(context,
RestaurantPage.route,
arguments: RestaurantPageArguments(id: id));
})
অ্যানালিটিক্স ইভেন্ট চালু করতে আপনার বার্তা সম্পাদনা করুন।
এখন যেহেতু আমাদের একটি "click_restaurant" ইভেন্ট আছে, আসুন ব্যবহারকারী যখন অ্যাপটি খোলেন তখন নয় বরং তার উপর ভিত্তি করে আমাদের ইন-অ্যাপ বার্তাটি ট্রিগার করি।
ফায়ারবেস কনসোলে ইন-অ্যাপ মেসেজে ফিরে যান এবং আপনার বিদ্যমান প্রচারণা সম্পাদনা করুন

নতুন ইভেন্ট থেকে বার্তাটি ট্রিগার করতে এখন সময়সূচী বিভাগটি পরিবর্তন করুন।

সেখান থেকে আমরা "পর্যালোচনা" বোতামে ক্লিক করে আমাদের পরিবর্তনগুলি প্রকাশ করতে পারি।

অ্যাপে আপনার ট্রিগারটি পরীক্ষা করে দেখুন
এই মুহুর্তে আপনি আপনার অ্যাপটি চালাতে সক্ষম হবেন
flutter run
এবং যখন আপনি কোনও রেস্তোরাঁয় ক্লিক করবেন তখন আপনার ইন-অ্যাপ বার্তাটি দেখতে পাবেন

৭. একটি FIAM+ABT ক্যাম্পেইন তৈরি করুন
একটি লক্ষ্য দিয়ে শুরু করুন
আমাদের Friendlyeats অ্যাপটি ইতিমধ্যেই দুর্দান্ত দেখাচ্ছে, কিন্তু এটি কার্যকর হওয়ার জন্য আমাদের কিছু পর্যালোচনা থাকা প্রয়োজন। এগুলি Friendlyeats ব্যবহারকারীদের কাছ থেকে নেওয়া হবে, তাই আসুন ব্যবহারকারীদের পর্যালোচনা দেওয়ার জন্য উৎসাহিত করার কিছু উপায় খুঁজে বের করি।
প্রথমে আমাদের রূপান্তর ঘটনাটি সংজ্ঞায়িত করা যাক
যেহেতু আমরা দেখতে চাই যে ব্যবহারকারীরা রেস্তোরাঁ পর্যালোচনা করছেন কিনা, তাই এই আচরণ পরিমাপ করার জন্য একটি বিশ্লেষণ ইভেন্ট যোগ করুন।
- আগের মতোই Firebase Analytics আমদানি করুন এবং
restaurant_page.dartএ RestaurantPage-এ Analytics-এর একটি উদাহরণ যোগ করুন।
class RestaurantPage extends StatefulWidget {
static const route = '/restaurant';
static FirebaseAnalytics analytics = FirebaseAnalytics();
final String _restaurantId;
RestaurantPage({Key key, @required String restaurantId})
: _restaurantId = restaurantId,
super(key: key);
@override
_RestaurantPageState createState() =>
_RestaurantPageState(restaurantId: _restaurantId);
}
- এখন
restaurant_page.dartএ একটি রিভিউ সংরক্ষণ করার সময়_onCreateReviewPressedএ একটি ইভেন্ট ট্রিগার করা যাক।
if (newReview != null) {
// Log successful review
await RestaurantPage.analytics.logEvent(name: 'review_success');
// Save the review
return data.addReview(restaurantId: _restaurant.id, review: newReview);
}
ফায়ারবেস কনসোলে A/B পরীক্ষা কনফিগার করুন
এখন যেহেতু আমরা জানি কিভাবে ইন-অ্যাপ মেসেজিং ক্যাম্পেইন তৈরি করতে হয়, তাই এখনই বিবেচনা করার সময় এসেছে যে এই ক্যাম্পেইনগুলির মাধ্যমে আমরা আমাদের অ্যাপে কী ধরণের আচরণ উৎসাহিত করতে চাই। FriendlyEats-এর জন্য, আমরা চাই আরও বেশি লোক পর্যালোচনা করুক, যা অ্যাপটিকে আরও কার্যকর করে তুলবে! অ্যাপ-মধ্যস্থ বার্তা ব্যবহার করে আমরা এটিকে উৎসাহিত করতে পারি এমন কয়েকটি উপায় রয়েছে। একটি হল একটি সহজ ইন-অ্যাপ মেসেজের মাধ্যমে যা ব্যবহারকারীকে কেবল বলে যে তাদের FriendlyEats অ্যাপ উন্নত করতে সাহায্য করার জন্য রেস্তোরাঁটিকে একটি পর্যালোচনা দেওয়া উচিত। আরেকটি উপায় হল একটি ইন-অ্যাপ মেসেজ ব্যবহার করে পর্যালোচনা প্রদানের জন্য কিছু ধরণের প্রণোদনা প্রদান করা, যেমন একটি নির্দিষ্ট রেস্তোরাঁয় কুপন বা ডিসকাউন্ট কোড।
উভয় পদ্ধতিই FriendlyEats-এ রেস্তোরাঁর জন্য ব্যবহারকারীদের পর্যালোচনা প্রদানের সংখ্যা বৃদ্ধি করতে পারে, এবং মনে হচ্ছে এই ক্ষেত্রে একটি কুপন প্রদান আরও শক্তিশালী প্রভাব ফেলতে পারে। কিন্তু, এই কুপন প্রদান করলে ব্যবহারকারীদের পর্যালোচনা লেখার সম্ভাবনা কতটা বেশি হবে? প্রথমেই কি কুপনের খরচের মূল্য আছে? এটি নির্ধারণ করার জন্য, আমরা একটি ইন-অ্যাপ মেসেজিং পরীক্ষা চালাব! আমরা Firebase A/B টেস্টিং ব্যবহার করে ব্যবহারকারীদের কাছে আমাদের ইন-অ্যাপ বার্তাগুলির একটি এলোমেলোভাবে প্রদর্শন করতে পারি এবং ব্যবহারকারীর আচরণের উপর এর প্রভাব পরিমাপ করতে পারি, অনেকটা ক্লিনিকাল ট্রায়ালের মতো। সবচেয়ে ভালো কথা, এটি সম্পূর্ণরূপে Firebase কনসোলের মাধ্যমে করা যেতে পারে, কোনও কোডের প্রয়োজন নেই!
আপনার প্রথম ইন-অ্যাপ মেসেজিং পরীক্ষা রচনা করতে:
- Firebase কনসোলের Engage বিভাগে, A/B Testing এ ক্লিক করুন।
- Create experiment এ ক্লিক করুন, এবং আপনি In-App Messaging এর সাথে কোনটি পরীক্ষা করতে চান তা নির্বাচন করুন। এটি আপনাকে নীচে দেখানো experiment composer এ নিয়ে যাবে।

তোমার পরীক্ষার একটি নাম এবং একটি ঐচ্ছিক বিবরণ দাও।
- পরবর্তী ধাপ হল যেখানে আপনি আপনার পরীক্ষায় ব্যবহারকারীদের পাঠানো বিভিন্ন ইন-অ্যাপ বার্তাগুলি রচনা করবেন। আমরা প্রথম যে ইন-অ্যাপ বার্তাটি রচনা করব তা হল "বেসলাইন", অথবা আমাদের পরীক্ষার নিয়ন্ত্রণ। আমরা এটিকে আমাদের সহজ "দয়া করে পর্যালোচনা করুন" বার্তা হিসাবে তৈরি করতে পারি:

- এখন যেহেতু আমাদের একটি বেসলাইন আছে, আমরা এখন একটি ভেরিয়েন্ট তৈরি করব, অ্যাপ-মধ্যস্থ বার্তা যা ব্যবহারকারীদের একটি কুপন কোড প্রদান করে যাতে তারা একটি পর্যালোচনা লিখতে উৎসাহিত হয়। এটি নীচের প্রিভিউতে সম্পূর্ণরূপে দৃশ্যমান নয়, তবে বার্তার শিরোনাম হল "একটি কুপন নিন, একটি পর্যালোচনা দিন!", এবং বার্তার মূল অংশ হল "পরের বার যখন আপনি বুরিটো ক্যাফেতে আসবেন, চেকআউটের সময় FRIENDLYEATS-15 কুপন কোড ব্যবহার করুন যাতে আপনার অর্ডারে 15% ছাড় পান। এবং পরে একটি পর্যালোচনা দিতে ভুলবেন না!"। আশা করি এটি কিছু ব্যবহারকারীকে বুরিটো ক্যাফে দেখতে অনুপ্রাণিত করবে!

পরবর্তী ধাপে, আমরা আমাদের অ্যাপটিকে টার্গেট করব এবং এক্সপোজার সেট করব। এটি হল যোগ্য ব্যবহারকারীদের (যারা টার্গেটিং/ট্রিগারিং শর্ত পূরণ করছে) শতাংশ যারা পরীক্ষায় একটি বার্তা দেখতে পাবে। এই উদাহরণের জন্য আমরা এটিকে 100% এ সেট করতে পারি, কারণ আমরা চাই যে সমস্ত ব্যবহারকারী বেসলাইন অথবা আমাদের কুপন ভেরিয়েন্টটি দেখতে পান। যদি আপনি এমন একটি নিয়ন্ত্রণ গোষ্ঠী চান যেখানে কোনও ইন-অ্যাপ বার্তা দেখানো না হয়, তাহলে আপনি এই এক্সপোজার শতাংশ কমাতে পারেন।
- এরপর, আপনি পরীক্ষার জন্য কিছু লক্ষ্য নির্ধারণ করবেন। এটি হল সেই পরীক্ষার ফলাফল যা আমরা পরিমাপ করতে চাই। আমরা এটিকে পূর্ববর্তী বিভাগে সংজ্ঞায়িত
review_successবিশ্লেষণ ইভেন্ট হিসাবে সেট করব, কারণ আমরা দেখতে চাই যে আমাদের বিভিন্ন ইন-অ্যাপ বার্তাগুলি রেস্তোরাঁর পর্যালোচনা দেওয়া ব্যবহারকারীদের উপর কী প্রভাব ফেলে।
- সময়সূচী নির্ধারণের জন্য, আমরা অবিলম্বে প্রচারণা শুরু করতে দেব এবং ট্রিগারিং শর্ত হিসেবে
click_restaurantসেট করব, যাতে ব্যবহারকারীরা কোনও রেস্তোরাঁয় ক্লিক করার সময় দুটি ইন-অ্যাপ বার্তার মধ্যে একটি দেখতে পান।

- এখন, আমাদের পরীক্ষা পর্যালোচনা করা এবং পরীক্ষা শুরু করা বাটনে ক্লিক করা বাকি আছে। তারপর আমরা বসে আমাদের পরীক্ষা থেকে তথ্য আসার জন্য অপেক্ষা করতে পারি!

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

এই ক্ষেত্রে, ভেরিয়েন্টটি বেসলাইনের তুলনায় উল্লেখযোগ্যভাবে উন্নত হয়েছে, তাই আমরা রোল আউট ভেরিয়েন্ট নির্বাচন করতে পারি, যা পরবর্তীতে সমস্ত ব্যবহারকারীর কাছে কুপন সহ ইন-অ্যাপ বার্তাটি রোল আউট করবে।
৮. অভিনন্দন
অভিনন্দন, আপনি আপনার প্রথম ইন-অ্যাপ মেসেজিং পরীক্ষাটি সফলভাবে তৈরি এবং চালাতে পেরেছেন। এখন আপনি আপনার নিজের অ্যাপে একটি পরীক্ষা চালাতে পারেন এবং ফলাফলগুলি ব্যবহার করে আপনার ইন-অ্যাপ মেসেজিং প্রচারণাগুলিকে আরও কার্যকর করতে পারেন।
এরপর কী?
এই কোডল্যাবগুলির কিছু দেখুন...
- মাল্টি-প্ল্যাটফর্ম ফায়ারস্টোর ফ্লাটার
- একটি অ্যান্ড্রয়েড অ্যাপে একটি Firebase রিমোট কনফিগ পরীক্ষা যোগ করুন
আরও পড়া
আমরা Firebase ইন-অ্যাপ মেসেজিং এবং Firebase A/B টেস্টিং দিয়ে কী করা যেতে পারে তার উপরিভাগটি খতিয়ে দেখেছি। আরও জানতে চাইলে এগুলি দেখুন...
- A/B পরীক্ষার মাধ্যমে মেসেজিং পরীক্ষা তৈরি করুন
- A/B পরীক্ষার মাধ্যমে রিমোট কনফিগ পরীক্ষা তৈরি করুন
- ফায়ারবেস ইন-অ্যাপ মেসেজিংয়ের ব্যবহারের ঘটনাগুলি অন্বেষণ করুন
- আপনার Firebase ইন-অ্যাপ মেসেজিং বার্তাগুলি কাস্টমাইজ করুন



