আপনার প্রথম ইন-অ্যাপ মেসেজিং পরীক্ষা

1। পরিচিতি

গোল

এই কোডল্যাবে, আপনি ফ্লুটার এবং ক্লাউড ফায়ারস্টোর দ্বারা চালিত একটি মাল্টি-প্ল্যাটফর্ম মোবাইল রেস্তোরাঁর সুপারিশ অ্যাপের জন্য একটি ইন-অ্যাপ মেসেজিং পরীক্ষা চালাবেন।

একবার শেষ হয়ে গেলে, ন্যূনতম পরিমাণ কোড লেখার সময় আপনি যেকোন iOS বা Android অ্যাপের জন্য কার্যকরভাবে ব্যবহারকারীর ব্যস্ততা বাড়াতে অ্যাপ-মধ্যস্থ মেসেজিং পরীক্ষাগুলি ডিজাইন এবং প্রয়োগ করতে সক্ষম হবেন।

b284c40acc99b994.png

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

  • একটি ফ্লাটার অ্যাপে ফায়ারবেস ইন-অ্যাপ মেসেজিং (FIAM) কীভাবে ব্যবহার করবেন
  • আপনার অ্যাপ-মধ্যস্থ বার্তাগুলির চেহারা কীভাবে কাস্টমাইজ করবেন
  • কীভাবে একটি ইন-অ্যাপ মেসেজিং পরীক্ষা ডিজাইন করবেন এবং এটি আপনার অ্যাপে প্রয়োগ করবেন
  • একটি ইন-অ্যাপ মেসেজিং পরীক্ষার ফলাফলগুলি কীভাবে ব্যাখ্যা করবেন

আপনি এই কোডল্যাব থেকে কি শিখতে চান?

আমি এই বিষয়ে নতুন, এবং আমি একটি ভাল ওভারভিউ চাই। আমি এই বিষয় সম্পর্কে কিছু জানি, কিন্তু আমি একটি রিফ্রেশার চাই. আমি আমার প্রকল্পে ব্যবহার করার জন্য উদাহরণ কোড খুঁজছি। আমি নির্দিষ্ট কিছু একটি ব্যাখ্যা খুঁজছি.

ফায়ারবেস ইন-অ্যাপ মেসেজিং

ফায়ারবেস ইন-অ্যাপ মেসেজিং (FIAM) আপনাকে লক্ষ্যযুক্ত এবং প্রাসঙ্গিক বার্তা প্রেরণের মাধ্যমে সক্রিয়ভাবে আপনার অ্যাপ ব্যবহার করছেন এমন ব্যবহারকারীদের জড়িত করতে সাহায্য করে যা তাদের অ্যাপ-মধ্যস্থ অ্যাকশনগুলি সম্পূর্ণ করতে ধাক্কা দেয় - যেমন একটি গেমের স্তরকে মারধর করা, একটি আইটেম কেনা বা সামগ্রীতে সদস্যতা নেওয়া। .

ফায়ারবেস এ/বি টেস্টিং

Google অপ্টিমাইজ দ্বারা চালিত, Firebase A/B টেস্টিং (ABT) আপনাকে পণ্য ও বিপণন পরীক্ষা চালানো, বিশ্লেষণ এবং স্কেল করা সহজ করে আপনার অ্যাপের অভিজ্ঞতা অপ্টিমাইজ করতে সাহায্য করে। এটি আপনাকে আপনার অ্যাপের UI, বৈশিষ্ট্য বা এনগেজমেন্ট প্রচারাভিযানের পরিবর্তনগুলি পরীক্ষা করার ক্ষমতা দেয় যাতে আপনি সেগুলিকে ব্যাপকভাবে রোল আউট করার আগে আপনার মূল মেট্রিক্সে (যেমন রাজস্ব এবং ধারণ) আসলেই সুচ সরান কিনা।

তুমি কি চাও

আপনি যদি Flutter বা Firestore এর সাথে খুব বেশি পরিচিত না হন, তাহলে প্রথমে Flutter কোডল্যাবের জন্য Firebase সম্পূর্ণ করুন:

আপনি নিম্নলিখিত ডিভাইসগুলির যেকোনো একটি ব্যবহার করে এই কোডল্যাবটি চালাতে পারেন:

উপরের ছাড়াও, আপনারও প্রয়োজন হবে:

  • আপনার পছন্দের একটি ব্রাউজার, যেমন Chrome।
  • আপনার পছন্দের একটি IDE বা পাঠ্য সম্পাদক, যেমন অ্যান্ড্রয়েড স্টুডিও বা ভিএস কোড ডার্ট এবং ফ্লাটার প্লাগইনগুলির সাথে কনফিগার করা৷ VS কোড Flutter এর সাথে ব্যবহারের জন্য সুপারিশ করা হয়।
  • ফ্লটারের সর্বশেষ স্থিতিশীল সংস্করণ (অথবা বিটা যদি আপনি প্রান্তে থাকতে উপভোগ করেন)।
  • আপনার Firebase প্রোজেক্ট তৈরি এবং পরিচালনার জন্য একটি Google অ্যাকাউন্ট, যেমন একটি Gmail অ্যাকাউন্ট।
  • কোডল্যাবের নমুনা কোড। কোডটি কিভাবে পেতে হয় তার পরবর্তী ধাপ দেখুন।

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 অ্যাপ তৈরির কোড রয়েছে, যেমনটি মাল্টি-প্ল্যাটফর্ম ফায়ারস্টোর ফ্লাটার কোডল্যাবে দেখানো হয়েছে। এই কোডল্যাবের উদ্দেশ্যে, আমরা এই শাখায় ওয়েব ইন্টিগ্রেশন সরিয়ে দিয়েছি।

স্টার্টার অ্যাপ আমদানি করুন

আপনার পছন্দের IDE-তে codelab-fiam-abt ডিরেক্টরি খুলুন বা আমদানি করুন। এই ডিরেক্টরিতে কোডল্যাবের প্রারম্ভিক কোড রয়েছে যা একটি রেস্তোরাঁর সুপারিশ অ্যাপ নিয়ে গঠিত। এই কোডল্যাবের মাধ্যমে, আপনি এই অ্যাপের ব্যবহারকারীদের জন্য একটি ইন-অ্যাপ মেসেজিং পরীক্ষা চালাবেন।

একটি ফায়ারবেস প্রকল্প তৈরি করুন

  1. Firebase কনসোলে , প্রকল্প যোগ করুন ক্লিক করুন, এবং তারপর Firebase প্রকল্পের নাম দিন FriendlyEats । আপনার ফায়ারবেস প্রজেক্টের জন্য প্রজেক্ট আইডি মনে রাখুন (অথবা আপনার পছন্দের প্রোজেক্ট আইডি সেট করতে সম্পাদনা আইকনে ক্লিক করুন)।
  2. প্রজেক্টের জন্য Google Analytics সক্ষম করা আছে কিনা নিশ্চিত করুন, তারপর Continue-এ ক্লিক করুন।
  3. প্রকল্প তৈরি করুন ক্লিক করুন।

অভিনন্দন! আপনি এইমাত্র আপনার প্রথম ফায়ারবেস প্রকল্প তৈরি করেছেন। এখন, আপনি কনসোলে প্রবেশ করতে প্রকল্পের নামের উপর ক্লিক করতে পারেন।

এর পরে, আপনি Firebase কনসোল ব্যবহার করে প্রয়োজনীয় পরিষেবাগুলি কনফিগার এবং সক্ষম করার মাধ্যমে হাঁটবেন৷

বেনামী প্রমাণীকরণ সক্ষম করুন৷

যদিও প্রমাণীকরণ এই কোডল্যাবের ফোকাস নয়, আপনার অ্যাপে প্রমাণীকরণের কিছু ফর্ম থাকা গুরুত্বপূর্ণ। আপনি বেনামী লগইন ব্যবহার করবেন—অর্থাৎ ব্যবহারকারীকে অনুরোধ না করে নিঃশব্দে সাইন ইন করা হয়েছে।

বেনামী লগইন সক্ষম করতে:

  1. Firebase কনসোলে, বাম নেভিগেশন বারে প্রমাণীকরণ সনাক্ত করুন।
  2. প্রমাণীকরণ ক্লিক করুন, এবং তারপর শুরু করুন ক্লিক করুন এবং সাইন-ইন পদ্ধতি ট্যাব নির্বাচন করুন (বা সরাসরি Firebase কনসোলে যান )।
  3. বেনামী সাইন-ইন প্রদানকারী সক্ষম করুন এবং সংরক্ষণ করুন ক্লিক করুন।

fee6c3ebdf904459.png

বেনামী লগইন সক্ষম করার ফলে অ্যাপ্লিকেশনটিকে আপনার ব্যবহারকারীরা যখন অ্যাপ্লিকেশনটি অ্যাক্সেস করে তখন নীরবে সাইন ইন করতে দেয়৷ আরও জানতে, Android এবং iOS এর জন্য বেনামী প্রমাণীকরণ ডকুমেন্টেশন দেখুন।

ক্লাউড ফায়ারস্টোর সক্ষম করুন

অ্যাপটি রেস্তোরাঁর তথ্য এবং রেটিং সংরক্ষণ এবং গ্রহণ করতে ক্লাউড ফায়ারস্টোর ব্যবহার করে।

ক্লাউড ফায়ারস্টোর সক্ষম করতে:

  1. Firebase কনসোলের বাম নেভিগেশন বারে, Firestore এ ক্লিক করুন।
  2. ক্লাউড ফায়ারস্টোর ফলকে ডেটাবেস তৈরি করুন ক্লিক করুন।

57e83568e05c7710.png

  1. স্টার্ট ইন টেস্ট মোড বিকল্পটি নির্বাচন করুন এবং সুরক্ষা নিয়ম সম্পর্কে দাবিত্যাগ পড়ার পরে পরবর্তী ক্লিক করুন এবং তারপর সক্ষম করুন

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

daef1061fc25acc7.png

3. মোবাইল-নির্দিষ্ট ফায়ারবেস কনফিগারেশন

Firebase সমর্থন সক্ষম করার জন্য প্রয়োজনীয় বেশিরভাগ কোড পরিবর্তন ইতিমধ্যেই আপনি যে প্রকল্পে কাজ করছেন তাতে চেক করা হয়েছে। যাইহোক, মোবাইল প্ল্যাটফর্মের জন্য সমর্থন যোগ করার জন্য, আপনাকে এটি করতে হবে:

  • Firebase প্রকল্পে পছন্দসই প্ল্যাটফর্ম নিবন্ধন করুন৷
  • প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন ফাইলটি ডাউনলোড করুন এবং কোডে যোগ করুন।

আপনার Flutter অ্যাপের শীর্ষ-স্তরের ডিরেক্টরিতে, ios এবং android নামক সাব-ডিরেক্টরি রয়েছে। এই ডিরেক্টরিগুলি যথাক্রমে iOS এবং Android এর জন্য প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন ফাইল ধারণ করে।

a35458e5c0dd0acf.png iOS কনফিগার করুন

Firebase কনসোলে , বাম নেভিগেশন বারের শীর্ষে প্রজেক্ট সেটিংস নির্বাচন করুন এবং সাধারণ পৃষ্ঠায় আপনার অ্যাপের অধীনে iOS বোতামে ক্লিক করুন।

আপনি নিম্নলিখিত ডায়ালগ দেখতে হবে:

c42139f18fb9a2ee.png

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

9733e26be329f329.png

  1. Firebase ডায়ালগে ফিরে যান, কপি করা বান্ডেল আইডেন্টিফায়ারটিকে iOS বান্ডেল আইডি ফিল্ডে পেস্ট করুন এবং Register App এ ক্লিক করুন।
  1. Firebase-এ অবিরত, GoogleService-Info.plist কনফিগারেশন ফাইল ডাউনলোড করতে নির্দেশাবলী অনুসরণ করুন।
  2. Xcode-এ ফিরে যান। লক্ষ্য করুন যে রানারের একটি সাবফোল্ডার রয়েছে যাকে রানারও বলা হয় (পূর্ববর্তী ছবিতে দেখানো হয়েছে)।
  3. GoogleService-Info.plist ফাইলটি (যেটি আপনি এইমাত্র ডাউনলোড করেছেন) সেই রানার সাবফোল্ডারে টেনে আনুন।
  4. Xcode-এ প্রদর্শিত ডায়ালগে, Finish এ ক্লিক করুন।
  5. Firebase কনসোলে ফিরে যান। সেটআপ ধাপে, Next এ ক্লিক করুন, বাকি ধাপগুলো এড়িয়ে যান এবং Firebase কনসোলের মূল পৃষ্ঠায় ফিরে যান।

আপনি iOS এর জন্য আপনার Flutter অ্যাপ কনফিগার করে ফেলেছেন!

84e0b3199bef6d8a.png অ্যান্ড্রয়েড কনফিগার করুন

  1. ফায়ারবেস কনসোলে , বাম নেভিগেশন বারের শীর্ষে প্রজেক্ট সেটিংস নির্বাচন করুন এবং সাধারণ পৃষ্ঠায় আপনার অ্যাপের অধীনে অ্যান্ড্রয়েড বোতামে ক্লিক করুন।

আপনি নিম্নলিখিত ডায়ালগ দেখতে পাবেন: 8254fc299e82f528.png

  1. প্রদান করার জন্য গুরুত্বপূর্ণ মান হল Android প্যাকেজের নাম । আপনি যখন নিম্নলিখিত দুটি পদক্ষেপ সম্পাদন করেন তখন আপনি প্যাকেজের নাম পাবেন:
  1. আপনার Flutter অ্যাপ ডিরেক্টরিতে, android/app/src/main/AndroidManifest.xml ফাইলটি খুলুন।
  2. manifest এলিমেন্টে, package অ্যাট্রিবিউটের স্ট্রিং ভ্যালু খুঁজুন। এই মানটি Android প্যাকেজের নাম ( com.yourcompany.yourproject এর মত কিছু)। এই মান অনুলিপি করুন.
  3. Firebase ডায়ালগে, অনুলিপি করা প্যাকেজের নামটি Android প্যাকেজ নামের ক্ষেত্রে পেস্ট করুন।
  4. এই কোডল্যাবের জন্য আপনার ডিবাগ সাইনিং সার্টিফিকেট SHA-1 এর প্রয়োজন নেই৷ এই ফাঁকা ছেড়ে দিন.
  5. রেজিস্টার অ্যাপে ক্লিক করুন।
  6. Firebase এ অবিরত, google-services.json কনফিগারেশন ফাইলটি ডাউনলোড করতে নির্দেশাবলী অনুসরণ করুন।
  7. আপনার Flutter অ্যাপ ডিরেক্টরিতে যান এবং google-services.json ফাইলটি (যেটি আপনি এইমাত্র ডাউনলোড করেছেন) android/app ডিরেক্টরিতে নিয়ে যান।
  8. Firebase কনসোলে ফিরে, বাকি ধাপগুলি এড়িয়ে যান এবং Firebase কনসোলের মূল পৃষ্ঠায় ফিরে যান।
  9. সমস্ত Gradle কনফিগারেশন ইতিমধ্যেই চেক ইন করা হয়েছে৷ যদি আপনার অ্যাপটি এখনও চলমান থাকে, তাহলে gradle-কে নির্ভরতা ইনস্টল করার অনুমতি দিতে এটিকে বন্ধ করুন এবং পুনর্নির্মাণ করুন৷

আপনি অ্যান্ড্রয়েডের জন্য আপনার ফ্লটার অ্যাপ কনফিগার করে ফেলেছেন!

4. স্থানীয়ভাবে আপনার অ্যাপ চালান

আপনি আসলে আপনার অ্যাপে কাজ শুরু করতে প্রস্তুত! প্রথমে স্থানীয়ভাবে অ্যাপটি চালান। আপনি এখন যে কোনো প্ল্যাটফর্মে অ্যাপটি চালাতে পারেন যা আপনি কনফিগার করেছেন (এবং যার জন্য আপনার কাছে একটি ডিভাইস এবং এমুলেটর উপলব্ধ আছে)।

নিম্নলিখিত কমান্ডের সাথে উপলব্ধ ডিভাইসগুলি আবিষ্কার করুন:

flutter devices

কোন ডিভাইসগুলি উপলব্ধ তার উপর নির্ভর করে, পূর্ববর্তী কমান্ডের আউটপুটটি এরকম কিছু দেখায়:

7d44d7c0837b3e8e.png

এখন, নিম্নলিখিত কমান্ড দিয়ে স্থানীয়ভাবে অ্যাপটি চালান:

flutter run

এখন, আপনি আপনার Firebase প্রকল্পের সাথে সংযুক্ত FriendlyEats-এর আপনার অনুলিপি দেখতে পাবেন।

অ্যাপটি স্বয়ংক্রিয়ভাবে আপনার Firebase প্রোজেক্টের সাথে সংযোগ করে এবং নীরবে আপনাকে একজন বেনামী ব্যবহারকারী হিসেবে সাইন ইন করে।

5. আপনার প্রথম বার্তা তৈরি করুন এবং পরীক্ষা করুন

আপনার অ্যাপে ফায়ারবেস ইন-অ্যাপ মেসেজিং ইন্টিগ্রেট করুন

ইন-অ্যাপ মেসেজিং বেসিক ইন্টিগ্রেশন সম্পূর্ণ কোডহীন, আপনাকে যা করতে হবে তা হল নির্ভরতা যোগ করুন এবং আপনি যেতে প্রস্তুত! আপনার pubspec.yaml ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন

dependencies:
  # ...
  firebase_in_app_messaging: ^0.4.0
  # ...

Firebase কনসোলে একটি বার্তা রচনা করুন

এখন যেহেতু আপনি আপনার অ্যাপে FIAM যোগ করেছেন, আপনার অ্যাপটি প্রথম খোলা হলে ট্রিগার হবে এমন একটি বার্তা রচনা করতে দিন।

আপনার প্রথম বার্তা রচনা করতে:

  1. Firebase কনসোলের এনগেজ বিভাগে, ইন-অ্যাপ মেসেজিং-এ ক্লিক করুন।
  2. ইন-অ্যাপ মেসেজিং প্যানে আপনার প্রথম প্রচারাভিযান তৈরি করুন ক্লিক করুন।

4fec02395f89f2a8.png

ইন্টিগ্রেশন কাজ করছে তা নিশ্চিত করতে একটি মৌলিক মডেল বার্তা রচনা করা যাক। আপনি যে কোনো উপায়ে বার্তাটি কাস্টমাইজ করতে বিনা দ্বিধায় – আপনি ছবি, বোতাম যোগ করতে পারেন বা রং পরিবর্তন করতে পারেন।

59845004afc26847.png

আপনি যে অ্যাপটির সাথে পরীক্ষা করতে চান তা লক্ষ্য করুন, আপনি কোন ইন্টিগ্রেশন পাথ অনুসরণ করছেন তার উপর নির্ভর করে আপনার কাছে iOS, Android বা উভয়ই থাকতে পারে।

3f1eb7a327a50265.png

আমরা নিশ্চিত করতে চাই যে অ্যাপটি খোলার সময় বার্তা ট্রিগার আছে, তাই ডিফল্ট সময়সূচী কনফিগারেশন এখানে কাজ করবে।

8dc5cea0a4c79008.png

একবার শিডিউল করা হয়ে গেলে আমরা বার্তাটি প্রকাশ করতে পারি। "পর্যালোচনা" ক্লিক করুন এবং আপনি নিম্নলিখিত মত কিছু দেখতে হবে

5bbc987bf63d1f48.png

আপনার অ্যাপে বার্তাটি দেখুন

এখন, আপনার অ্যাপ আনইনস্টল করুন এবং পুনরায় ইনস্টল করুন এবং খোলার পরে আপনি যে বার্তাটি তৈরি করেছেন তা দেখতে হবে। অভিনন্দন, আপনি এইমাত্র আপনার প্রথম অ্যাপ-মধ্যস্থ বার্তা পাঠিয়েছেন! পরবর্তী ধাপে, আপনি শিখবেন কিভাবে একটি অ্যানালিটিক্স ইভেন্ট যোগ করতে হয়, যাতে আপনার ব্যবহারকারীরা অ্যাপে গৃহীত পদক্ষেপের উপর ভিত্তি করে একটি অ্যাপ-মধ্যস্থ বার্তা ট্রিগার করতে পারে।

6. উন্নত বার্তা ট্রিগার করার জন্য Firebase বিশ্লেষণকে একীভূত করুন

আপনার অ্যাপে Firebase অ্যানালিটিক্সকে একীভূত করুন

ব্যবহারকারীরা কীভাবে আমাদের অ্যাপের সাথে ইন্টারঅ্যাক্ট করছে তা বোঝার জন্য এবং তাদের ক্রিয়াকলাপের উপর ভিত্তি করে একটি অ্যাপ-মধ্যস্থ বার্তা ট্রিগার করার জন্য, আমরা এখন একটি অ্যানালিটিক্স ইভেন্ট যোগ করব যখন একজন ব্যবহারকারী একটি রেস্তোরাঁয় ক্লিক করেন।

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

বিশ্লেষণ ইভেন্টে ট্রিগার করতে আপনার বার্তা সম্পাদনা করুন

এখন যেহেতু আমাদের একটি ইভেন্ট "click_restaurant" আছে ব্যবহারকারী যখন অ্যাপটি খোলে তার পরিবর্তে এর উপর ভিত্তি করে আমাদের অ্যাপ-মধ্যস্থ বার্তা ট্রিগার করি।

Firebase কনসোলে ইন-অ্যাপ মেসেজে ফিরে যান এবং আপনার বিদ্যমান প্রচারাভিযান সম্পাদনা করুন

d1fdc539dfcc6375.png

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

8e12d8f1f8f166dd.png

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

4f7d6bd2960b3ef7.png

অ্যাপে আপনার ট্রিগার পরীক্ষা করুন

এই মুহুর্তে আপনি আপনার অ্যাপটি চালাতে সক্ষম হবেন

flutter run

এবং যখন আপনি একটি রেস্তোরাঁতে ক্লিক করেন তখন আপনার অ্যাপ-মধ্যস্থ বার্তাটি দেখতে হবে

a11febda5526263.png

7. একটি FIAM+ABT প্রচারাভিযান তৈরি করুন৷

একটি লক্ষ্য দিয়ে শুরু করুন

আমাদের Friendlyeats অ্যাপটি ইতিমধ্যেই দুর্দান্ত দেখাচ্ছে, তবে এটি কার্যকর হওয়ার জন্য আমাদের কিছু পর্যালোচনা থাকতে হবে। এগুলি Friendlyeats ব্যবহারকারীদের কাছ থেকে নেওয়া হবে, তাই আসুন ব্যবহারকারীদের পর্যালোচনা করতে উত্সাহিত করার কিছু উপায় খুঁজে বের করি৷

প্রথমে আমাদের রূপান্তর ইভেন্ট সংজ্ঞায়িত করা যাক

যেহেতু আমরা দেখতে চাই যে ব্যবহারকারীরা রেস্তোরাঁ পর্যালোচনা করছে কিনা এই আচরণ পরিমাপ করার জন্য একটি বিশ্লেষণ ইভেন্ট যোগ করতে দেয়।

  1. আগের মতই ফায়ারবেস অ্যানালিটিক্স আমদানি করুন এবং restaurant_page.dart এ রেস্টুরেন্টপেজে অ্যানালিটিক্সের একটি উদাহরণ যোগ করুন
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);
}
  1. এখন _onCreateReviewPressed এ একটি ইভেন্ট ট্রিগার করা যাক যখন আমরা restaurant_page.dart এ একটি পর্যালোচনা সংরক্ষণ করি
 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 কনসোলের মাধ্যমে করা যেতে পারে, কোনো কোডের প্রয়োজন নেই!

আপনার প্রথম ইন-অ্যাপ মেসেজিং পরীক্ষা রচনা করতে:

  1. Firebase কনসোলের Engage বিভাগে, A/B টেস্টিং-এ ক্লিক করুন।
  2. পরীক্ষা তৈরি করুন ক্লিক করুন, এবং নির্বাচন করুন যে আপনি ইন-অ্যাপ মেসেজিং নিয়ে পরীক্ষা করতে চান। এটি আপনাকে নীচে দেখানো এক্সপেরিমেন্ট কম্পোজারে নিয়ে আসবে।

a792dfd4f82fee9c.png

আপনার পরীক্ষার একটি নাম এবং একটি ঐচ্ছিক বিবরণ দিন।

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

50e3eb946c56501a.png

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

bed9182080bebb41.png

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

bd96bf5798d227f1.png

  1. এর পরে, আপনি পরীক্ষার জন্য কিছু লক্ষ্য নির্ধারণ করবেন। এটি আমরা পরিমাপ করতে চাই সেই পরীক্ষার ফলাফল। আমরা এটিকে পূর্ববর্তী বিভাগে সংজ্ঞায়িত করা review_success বিশ্লেষণ ইভেন্ট হিসাবে সেট করব, কারণ আমরা দেখতে চাই যে আমাদের বিভিন্ন অ্যাপ-মধ্যস্থ বার্তাগুলি রেস্তোরাঁর পর্যালোচনাগুলি ছেড়ে যাওয়া ব্যবহারকারীদের উপর কী প্রভাব ফেলে৷ eb89d3b9f89ab43b.png
  2. সময়সূচীর জন্য, আমরা অবিলম্বে প্রচারাভিযান শুরু করতে দেব, এবং click_restaurant ট্রিগারিং কন্ডিশন হিসেবে সেট করব, যাতে ব্যবহারকারীরা যখন কোনো রেস্তোরাঁয় ক্লিক করেন তখন তারা দুটি অ্যাপ-মধ্যস্থ বার্তাগুলির মধ্যে একটি দেখতে পায়।

c57be430d41bfcad.png

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

566af8bace30c67.png

রিয়েল টাইমে ডেটা সংগ্রহ দেখুন

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

8fa8a0edcd8a8ad4.png

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

8. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে তৈরি করেছেন এবং আপনার প্রথম ইন-অ্যাপ মেসেজিং পরীক্ষা চালান৷ এখন আপনি আপনার নিজের অ্যাপে একটি পরীক্ষা চালাতে পারেন এবং আপনার ইন-অ্যাপ মেসেজিং প্রচারাভিযানগুলিকে আরও কার্যকর করতে ফলাফলগুলি ব্যবহার করতে পারেন৷

এরপর কি?

এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...

আরও পড়া

ফায়ারবেস ইন-অ্যাপ মেসেজিং এবং ফায়ারবেস এ/বি টেস্টিং-এর মাধ্যমে কী করা যেতে পারে তার সারফেস আমরা শুধু স্ক্র্যাচ করেছি। আপনি যদি আরও জানতে চান তবে এইগুলি দেখুন...

রেফারেন্স ডক্স