इन-ऐप्लिकेशन मैसेज का आपका पहला एक्सपेरिमेंट

1. शुरुआती जानकारी

लक्ष्य

इस कोडलैब में, आपको Flutter और Cloud Firestore की मदद से काम करने वाले, रेस्टोरेंट के सुझाव देने वाले मल्टी-प्लैटफ़ॉर्म मोबाइल ऐप्लिकेशन के लिए, इन-ऐप्लिकेशन मैसेजिंग एक्सपेरिमेंट को इंस्ट्रूमेंट करना होगा.

यह प्रोसेस पूरी होने के बाद, आपके पास इन-ऐप्लिकेशन मैसेजिंग एक्सपेरिमेंट को डिज़ाइन और लागू करने का विकल्प होगा. इससे, किसी भी iOS या Android ऐप्लिकेशन के लिए, कम से कम कोड लिखकर उपयोगकर्ता ऐक्टिविटी को असरदार तरीके से बढ़ाया जा सकेगा.

b284c40acc99b994.png

आपको इनके बारे में जानकारी मिलेगी

  • Flutter ऐप्लिकेशन में Firebase इन-ऐप्लिकेशन मैसेजिंग (FIAM) का इस्तेमाल करने का तरीका
  • इन-ऐप्लिकेशन मैसेज के दिखने का तरीका पसंद के मुताबिक बनाने का तरीका
  • इन-ऐप्लिकेशन मैसेजिंग एक्सपेरिमेंट को डिज़ाइन करने और उसे अपने ऐप्लिकेशन में लागू करने का तरीका
  • इन-ऐप्लिकेशन मैसेजिंग एक्सपेरिमेंट के नतीजों को समझने का तरीका

आपको इस कोडलैब से क्या सीखना है?

मैं इस विषय के बारे में नहीं जानता/जानती. मुझे इसकी खास जानकारी चाहिए. मुझे इस विषय के बारे में कुछ पता है, लेकिन मुझे इस बारे में फिर से जानना है. मुझे अपने प्रोजेक्ट में इस्तेमाल करने के लिए, उदाहरण के तौर पर दिया गया कोड चाहिए. मुझे किसी खास चीज़ के बारे में जानकारी चाहिए.

Firebase इन-ऐप्लिकेशन मैसेजिंग

Firebase इन-ऐप्लिकेशन मैसेजिंग (FIAM) की मदद से, उन उपयोगकर्ताओं की दिलचस्पी बनाए रखी जा सकती है जो आपके ऐप्लिकेशन का लगातार इस्तेमाल करते हैं. इसके लिए, उन्हें टारगेट किए गए और काम के मैसेज भेजे जाते हैं. इन मैसेज में, उन्हें ऐप्लिकेशन में जाकर कोई कार्रवाई करने के लिए कहा जाता है. जैसे, गेम में किसी लेवल को पार करना, कोई आइटम खरीदना या कॉन्टेंट की सदस्यता लेना.

Firebase A/B टेस्टिंग

Google Optimize की मदद से काम करने वाली Firebase A/B टेस्टिंग (ABT) की मदद से, ऐप्लिकेशन के इस्तेमाल के अनुभव को ऑप्टिमाइज़ किया जा सकता है. ऐसा करने के लिए Firebase A/B टेस्टिंग, ऐप्लिकेशन चलाना, उसका विश्लेषण करना, और प्रॉडक्ट और मार्केटिंग एक्सपेरिमेंट में बढ़ोतरी करना आसान बनाती है. इसकी मदद से, अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई), फ़ीचर या दर्शकों को जोड़ने वाले कैंपेन में किए गए बदलावों की जांच की जा सकती है. इससे, आपको यह पता चलता है कि इन बदलावों को बड़े पैमाने पर रोल आउट करने से पहले, वे आपकी मुख्य मेट्रिक (जैसे, आय और उपयोगकर्ता बनाए रखना) पर असर डालते हैं या नहीं.

आपको क्या करना होगा

अगर आपको Flutter या Firestore के बारे में ज़्यादा जानकारी नहीं है, तो पहले Firebase for Flutter कोडलैब पूरा करें:

इस कोडलैब को इनमें से किसी भी डिवाइस पर चलाया जा सकता है:

  • आपके कंप्यूटर से कनेक्ट किया गया कोई फ़िज़िकल डिवाइस (Android या iOS), जो डेवलपर मोड पर सेट हो.
  • iOS सिम्युलेटर. (इसके लिए, Xcode टूल इंस्टॉल करना ज़रूरी है).
  • Android एम्युलेटर. (इसके लिए, Android Studio में सेटअप करना ज़रूरी है).

ऊपर बताई गई शर्तों के अलावा, आपको इनकी भी ज़रूरत होगी:

  • Chrome जैसा कोई ब्राउज़र.
  • आपकी पसंद का आईडीई या टेक्स्ट एडिटर, जैसे कि Android Studio या VS Code. इनमें Dart और Flutter प्लग इन कॉन्फ़िगर किए गए होने चाहिए. हमारा सुझाव है कि Flutter के साथ VS Code का इस्तेमाल करें.
  • Flutter का सबसे नया स्टैबल वर्शन या बीटा वर्शन (अगर आपको नए वर्शन को आज़माना है).
  • Firebase प्रोजेक्ट बनाने और उसे मैनेज करने के लिए, Gmail खाते जैसा कोई Google खाता.
  • कोडलैब का सैंपल कोड. कोड पाने का तरीका जानने के लिए, अगला चरण देखें.

2. सेट अप करना

कोड पाना

कमांड लाइन से GitHub के डेटा स्टोर करने की जगह को क्लोन करें:

git clone https://github.com/FirebaseExtended/codelab-friendlyeats-flutter.git friendlyeats-flutter

सैंपल कोड को friendlyeats-flutter डायरेक्ट्री में क्लोन कर दिया जाएगा. अब से, पक्का करें कि आप इस डायरेक्ट्री से कमांड चलाएं:

cd friendlyeats-flutter

इसके बाद, codelab डायरेक्ट्री में जाएं और fiam-abt शाखा को देखें:

git checkout fiam-abt

इस शाखा में, इस कोडलैब के लिए ज़रूरी सारा कोड मौजूद है. इसमें done फ़ोल्डर में पूरा वर्शन भी शामिल है. इस रिपॉज़िटरी की अन्य शाखाओं में, FriendlyEats ऐप्लिकेशन बनाने के लिए कोड मौजूद है. इस बारे में मल्टी-प्लैटफ़ॉर्म Firestore Flutter कोडलैब में बताया गया है. इस कोडलैब के लिए, हमने इस शाखा से वेब इंटिग्रेशन हटा दिया है.

स्टार्टर ऐप्लिकेशन इंपोर्ट करना

codelab-fiam-abt डायरेक्ट्री को अपने पसंदीदा आईडीई में खोलें या इंपोर्ट करें. इस डायरेक्ट्री में, कोडलैब का शुरुआती कोड है. इसमें रेस्टोरेंट के सुझाव देने वाला ऐप्लिकेशन है. इस कोडलैब की मदद से, आपको इस ऐप्लिकेशन के उपयोगकर्ताओं के लिए, इन-ऐप्लिकेशन मैसेजिंग एक्सपेरिमेंट को इंस्ट्रूमेंट करना होगा.

Firebase प्रोजेक्ट बनाना

  1. Firebase कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें. इसके बाद, Firebase प्रोजेक्ट को FriendlyEats नाम दें. अपने Firebase प्रोजेक्ट का प्रोजेक्ट आईडी याद रखें या अपना पसंदीदा प्रोजेक्ट आईडी सेट करने के लिए, बदलाव करें आइकॉन पर क्लिक करें.
  2. पक्का करें कि प्रोजेक्ट के लिए Google Analytics चालू हो. इसके बाद, जारी रखें पर क्लिक करें.
  3. प्रोजेक्ट बनाएं पर क्लिक करें.

बधाई हो! आपने अभी-अभी अपना पहला Firebase प्रोजेक्ट बनाया है. अब, कंसोल में जाने के लिए प्रोजेक्ट के नाम पर क्लिक करें.

इसके बाद, Firebase कंसोल का इस्तेमाल करके ज़रूरी सेवाओं को कॉन्फ़िगर और चालू करने का तरीका बताया गया है.

पहचान छिपाकर पुष्टि करने की सुविधा चालू करना

इस कोडलैब में पुष्टि करने की सुविधा पर फ़ोकस नहीं किया गया है. हालांकि, आपके ऐप्लिकेशन में पुष्टि करने की कोई सुविधा होना ज़रूरी है. इसमें बिना नाम वाले लॉगिन का इस्तेमाल किया जाएगा. इसका मतलब है कि उपयोगकर्ता को कोई अनुरोध किए बिना साइन इन कर दिया जाएगा.

पहचान छिपाकर लॉगिन करने की सुविधा चालू करने के लिए:

  1. Firebase कंसोल में, बाईं ओर मौजूद नेविगेशन बार में पुष्टि ढूंढें.
  2. पुष्टि करें पर क्लिक करें. इसके बाद, शुरू करें पर क्लिक करें और साइन इन करने का तरीका टैब चुनें. इसके अलावा, सीधे Firebase कंसोल पर जाएं.
  3. बिना पहचान ज़ाहिर किए साइन-इन करने की सुविधा देने वाली सेवा को चालू करें और सेव करें पर क्लिक करें.

fee6c3ebdf904459.png

बिना पहचान ज़ाहिर किए लॉगिन की सुविधा चालू करने पर, ऐप्लिकेशन को उपयोगकर्ताओं के ऐप्लिकेशन ऐक्सेस करने पर, बिना किसी सूचना के साइन इन करने की अनुमति मिलती है. ज़्यादा जानने के लिए, Android और iOS के लिए, बिना पहचान ज़ाहिर किए पुष्टि करने से जुड़ा दस्तावेज़ देखें.

Cloud Firestore सेट अप करना

रेस्टोरेंट की जानकारी और रेटिंग सेव करने और पाने के लिए, ऐप्लिकेशन Cloud Firestore का इस्तेमाल करता है.

अपने Firebase प्रोजेक्ट में Cloud Firestore सेट अप करने का तरीका यहां बताया गया है:

  1. Firebase कंसोल के बाएं पैनल में, बिल्ड करें को बड़ा करें. इसके बाद, Firestore डेटाबेस चुनें.
  2. डेटाबेस बनाएं पर क्लिक करें.
  3. डेटाबेस आईडी को (default) पर सेट रहने दें.
  4. अपने डेटाबेस के लिए कोई जगह चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
    असल ऐप्लिकेशन के लिए, आपको ऐसी जगह चुननी होगी जो आपके उपयोगकर्ताओं के आस-पास हो.
  5. टेस्ट मोड में शुरू करें पर क्लिक करें. सुरक्षा नियमों के बारे में डिसक्लेमर पढ़ें.
    इस कोडलैब में आगे, आपको अपने डेटा को सुरक्षित रखने के लिए सुरक्षा नियम जोड़ने होंगे. अपने डेटाबेस के लिए सुरक्षा नियम जोड़े बिना, ऐप्लिकेशन को सार्वजनिक तौर पर डिस्ट्रिब्यूट या एक्सपोज़ करें.
  6. बनाएं पर क्लिक करें.

3. मोबाइल के लिए Firebase कॉन्फ़िगरेशन

Firebase सहायता को चालू करने के लिए, कोड में किए जाने वाले ज़्यादातर बदलावों की जांच, उस प्रोजेक्ट में पहले ही की जा चुकी है जिस पर आप काम कर रहे हैं. हालांकि, मोबाइल प्लैटफ़ॉर्म के लिए सहायता जोड़ने के लिए, आपको ये काम करने होंगे:

  • Firebase प्रोजेक्ट पर अपना पसंदीदा प्लैटफ़ॉर्म रजिस्टर करना
  • प्लैटफ़ॉर्म के हिसाब से कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें और उसे कोड में जोड़ें.

आपके Flutter ऐप्लिकेशन की टॉप-लेवल डायरेक्ट्री में, ios और android नाम की सबडायरेक्ट्री होती हैं. इन डायरेक्ट्री में, iOS और Android के लिए प्लैटफ़ॉर्म के हिसाब से कॉन्फ़िगरेशन फ़ाइलें होती हैं.

a35458e5c0dd0acf.png iOS को कॉन्फ़िगर करना

Firebase कंसोल में, बाईं ओर मौजूद नेविगेशन बार में सबसे ऊपर, प्रोजेक्ट सेटिंग चुनें. इसके बाद, सामान्य पेज पर आपके ऐप्लिकेशन में जाकर, iOS बटन पर क्लिक करें.

आपको यह डायलॉग दिखेगा:

c42139f18fb9a2ee.png

  1. iOS बंडल आईडी की वैल्यू देना ज़रूरी है. अगले तीन चरणों को पूरा करके, आपको बंडल आईडी मिल जाएगा.
  1. कमांड-लाइन टूल में, अपने Flutter ऐप्लिकेशन की टॉप-लेवल डायरेक्ट्री पर जाएं.
  2. Xcode खोलने के लिए, open ios/Runner.xcworkspace कमांड चलाएं.
  1. Xcode में, बाईं ओर मौजूद पैनल में सबसे ऊपर मौजूद Runner पर क्लिक करें. ऐसा करने पर, दाईं ओर मौजूद पैनल में सामान्य टैब दिखेगा. बंडल आइडेंटिफ़ायर की वैल्यू कॉपी करें.

9733e26be329f329.png

  1. Firebase डायलॉग पर वापस जाएं. इसके बाद, कॉपी किए गए बंडल आइडेंटिफ़ायर को iOS बंडल आईडी फ़ील्ड में चिपकाएं और ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
  1. Firebase में जाकर, कॉन्फ़िगरेशन फ़ाइल GoogleService-Info.plist डाउनलोड करने के लिए निर्देशों का पालन करें.
  2. Xcode पर वापस जाएं. ध्यान दें कि Runner का एक सब-फ़ोल्डर भी है, जिसे Runner कहा जाता है. यह सब-फ़ोल्डर, ऊपर दी गई इमेज में दिखाया गया है.
  3. GoogleService-Info.plist फ़ाइल (जिसे आपने अभी डाउनलोड किया है) को Runner सब-फ़ोल्डर में खींचें और छोड़ें.
  4. Xcode में दिखने वाले डायलॉग बॉक्स में, पूरा करें पर क्लिक करें.
  5. Firebase कंसोल पर वापस जाएं. सेटअप के चरण में, आगे बढ़ें पर क्लिक करें. इसके बाद, बाकी चरण छोड़कर Firebase कंसोल के मुख्य पेज पर वापस जाएं.

आपने iOS के लिए, Flutter ऐप्लिकेशन को कॉन्फ़िगर कर लिया है!

84e0b3199bef6d8a.pngAndroid को कॉन्फ़िगर करना

  1. Firebase कंसोल में, बाईं ओर मौजूद नेविगेशन बार में सबसे ऊपर, प्रोजेक्ट सेटिंग चुनें. इसके बाद, सामान्य पेज पर, आपके ऐप्लिकेशन में जाकर Android बटन पर क्लिक करें.

आपको यह डायलॉग दिखेगा : 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, डिपेंडेंसी इंस्टॉल कर पाएगा.

आपने Android के लिए Flutter ऐप्लिकेशन को कॉन्फ़िगर कर लिया है!

4. अपने ऐप्लिकेशन को स्थानीय तौर पर चलाना

अब आपके पास अपने ऐप्लिकेशन पर काम शुरू करने का विकल्प है! सबसे पहले, ऐप्लिकेशन को लोकल तौर पर चलाएं. अब आपके पास उस प्लैटफ़ॉर्म पर ऐप्लिकेशन चलाने का विकल्प है जिसे आपने कॉन्फ़िगर किया है. इसके लिए, आपके पास डिवाइस और एमुलेटर होना चाहिए.

इस निर्देश का इस्तेमाल करके, यह पता लगाएं कि कौनसे डिवाइस उपलब्ध हैं:

flutter devices

उपलब्ध डिवाइसों के आधार पर, पिछले निर्देश का आउटपुट कुछ ऐसा दिखता है:

7d44d7c0837b3e8e.png

अब, यहां दिए गए कमांड का इस्तेमाल करके ऐप्लिकेशन को स्थानीय तौर पर चलाएं:

flutter run

अब आपको अपने Firebase प्रोजेक्ट से कनेक्ट की गई, FriendlyEats की कॉपी दिखेगी.

यह ऐप्लिकेशन आपके Firebase प्रोजेक्ट से अपने-आप कनेक्ट हो जाता है और बिना किसी सूचना के, आपको किसी अनजान उपयोगकर्ता के तौर पर साइन इन कर देता है.

5. अपना पहला मैसेज बनाना और उसे टेस्ट करना

अपने ऐप्लिकेशन में Firebase इन-ऐप्लिकेशन मैसेजिंग को इंटिग्रेट करना

इन-ऐप्लिकेशन मैसेजिंग का बुनियादी इंटिग्रेशन, बिना कोड के किया जा सकता है. इसके लिए, आपको सिर्फ़ डिपेंडेंसी जोड़नी होगी! अपनी 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 Analytics को इंटिग्रेट करना

अपने ऐप्लिकेशन में Firebase Analytics को इंटिग्रेट करना

हम अब एक Analytics इवेंट जोड़ेंगे. इससे हमें यह समझने में मदद मिलेगी कि उपयोगकर्ता हमारे ऐप्लिकेशन के साथ कैसे इंटरैक्ट कर रहे हैं. साथ ही, उनकी कार्रवाइयों के आधार पर इन-ऐप्लिकेशन मैसेज को ट्रिगर किया जा सकेगा. यह इवेंट तब ट्रिगर होगा, जब कोई उपयोगकर्ता किसी रेस्टोरेंट पर क्लिक करेगा.

  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 में HomePage क्लास में 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 में रेस्टोरेंट कार्ड पर क्लिक करता है, तब Analytics इवेंट ट्रिगर करना
onRestaurantPressed: (id) async {
  await HomePage.analytics.logEvent(name: 'click_restaurant');
  Navigator.pushNamed(context,
                      RestaurantPage.route,
                      arguments: RestaurantPageArguments(id: id));
})

Analytics इवेंट पर ट्रिगर करने के लिए, अपने मैसेज में बदलाव करना

अब हमारे पास "click_restaurant" इवेंट है. इसलिए, उपयोगकर्ता के ऐप्लिकेशन खोलने के बजाय, उस इवेंट के आधार पर अपने इन-ऐप्लिकेशन मैसेज को ट्रिगर करें.

Firebase कंसोल में, इन-ऐप्लिकेशन मैसेज पर वापस जाएं और अपने मौजूदा कैंपेन में बदलाव करें

d1fdc539dfcc6375.png

अब नए इवेंट से मैसेज ट्रिगर करने के लिए, शेड्यूलिंग सेक्शन बदलें

8e12d8f1f8f166dd.png

यहां से, "समीक्षा करें" बटन पर क्लिक करके, अपने बदलावों को पब्लिश किया जा सकता है

4f7d6bd2960b3ef7.png

ऐप्लिकेशन में अपने ट्रिगर की जांच करना

अब आपको अपने ऐप्लिकेशन को

flutter run

साथ ही, किसी रेस्टोरेंट पर क्लिक करने पर, आपको अपना इन-ऐप्लिकेशन मैसेज दिखेगा

a11febda5526263.png

7. FIAM+ABT कैंपेन बनाना

लक्ष्य से शुरुआत करना

हमारा Friendlyeats ऐप्लिकेशन पहले से ही शानदार दिख रहा है. हालांकि, इसे काम का बनाने के लिए, हमें कुछ समीक्षाएं चाहिए. ये समीक्षाएं, Friendlyeats के उपयोगकर्ताओं से ली जाएंगी. इसलिए, आइए हम उपयोगकर्ताओं को समीक्षा करने के लिए बढ़ावा देने का कोई तरीका ढूंढें.

सबसे पहले, अपना कन्वर्ज़न इवेंट तय करें

हमें यह देखना है कि उपयोगकर्ता रेस्टोरेंट की समीक्षा कर रहे हैं या नहीं. इसलिए, इस व्यवहार को मेज़र करने के लिए, आंकड़े वाला इवेंट जोड़ें.

  1. पहले की तरह ही 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);
}
  1. अब 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);
 }

Firebase कंसोल में A/B टेस्ट कॉन्फ़िगर करना

अब जब हमें इन-ऐप्लिकेशन मैसेजिंग कैंपेन बनाने का तरीका पता है, तो यह तय करने का समय आ गया है कि इन कैंपेन की मदद से, हमें अपने ऐप्लिकेशन में किस तरह के व्यवहार को बढ़ावा देना है. हम चाहते हैं कि ज़्यादा से ज़्यादा लोग FriendlyEats के लिए समीक्षाएं करें. इससे ऐप्लिकेशन ज़्यादा काम का बनेगा! इन-ऐप्लिकेशन मैसेज का इस्तेमाल करके, लोगों को ऐसा करने के लिए बढ़ावा देने के कुछ तरीके यहां दिए गए हैं. पहला तरीका, ऐप्लिकेशन में एक आसान मैसेज भेजना है. इसमें उपयोगकर्ता को बताया जाता है कि उसे रेस्टोरेंट की समीक्षा करनी चाहिए, ताकि FriendlyEats ऐप्लिकेशन को बेहतर बनाया जा सके. दूसरा तरीका, ऐप्लिकेशन में एक मैसेज भेजना है. इसमें उपयोगकर्ता को समीक्षा करने के लिए कुछ इंसेंटिव ऑफ़र किए जाते हैं. जैसे, किसी रेस्टोरेंट के लिए कूपन या छूट का कोड.

दोनों तरीकों से, उपयोगकर्ताओं के रेस्टोरेंट की समीक्षा करने की संख्या बढ़ सकती है. ऐसा लगता है कि इस मामले में कूपन देने का असर ज़्यादा हो सकता है. हालांकि, इस कूपन की मदद से, उपयोगकर्ताओं की समीक्षा लिखने की संभावना कितनी बढ़ेगी? क्या कूपन की कीमत सही है? यह पता लगाने के लिए, हम इन-ऐप्लिकेशन मैसेजिंग का एक एक्सपेरिमेंट चलाएंगे! हम Firebase A/B टेस्टिंग का इस्तेमाल करके, उपयोगकर्ताओं को अपने इन-ऐप्लिकेशन मैसेज में से किसी एक को रैंडम तौर पर दिखा सकते हैं. साथ ही, क्लिनिकल ट्रायल की तरह, यह भी मेज़र कर सकते हैं कि इसका उपयोगकर्ता के व्यवहार पर क्या असर पड़ा. सबसे अच्छी बात यह है कि इसे Firebase कंसोल से पूरी तरह से किया जा सकता है. इसके लिए, किसी कोड की ज़रूरत नहीं है!

इन-ऐप्लिकेशन मैसेजिंग का पहला प्रयोग बनाने के लिए:

  1. Firebase कंसोल के यूज़र ऐक्टिविटी सेक्शन में, A/B टेस्टिंग पर क्लिक करें.
  2. एक्सपेरिमेंट बनाएं पर क्लिक करें. इसके बाद, चुनें कि आपको इन-ऐप्लिकेशन मैसेजिंग के साथ एक्सपेरिमेंट करना है. ऐसा करने पर, आपको एक्सपेरिमेंट कंपोजर पर ले जाया जाएगा.

a792dfd4f82fee9c.png

अपने एक्सपेरिमेंट को नाम दें और उससे जुड़ी जानकारी दें. हालांकि, ऐसा करना ज़रूरी नहीं है.

  1. अगले चरण में, आपको अलग-अलग इन-ऐप्लिकेशन मैसेज लिखने होंगे. ये मैसेज, प्रयोग में शामिल उपयोगकर्ताओं को भेजे जाएंगे. हम पहला इन-ऐप्लिकेशन मैसेज "बेसलाइन" या अपने एक्सपेरिमेंट का कंट्रोल के तौर पर लिखेंगे. हम इसे "कृपया समीक्षा करें" वाले आसान मैसेज में बदल सकते हैं:

50e3eb946c56501a.png

  1. अब हमारे पास बेसलाइन है. इसलिए, हम एक वैरिएंट बनाएंगे. यह एक इन-ऐप्लिकेशन मैसेज होगा, जिसमें उपयोगकर्ताओं को समीक्षा करने के लिए बढ़ावा देने के मकसद से कूपन कोड दिया जाएगा. नीचे दी गई झलक में यह पूरी तरह से नहीं दिख रहा है, लेकिन मैसेज का टाइटल "कूपन पाएं, समीक्षा करें!" है. साथ ही, मैसेज का मुख्य हिस्सा "अगली बार Burrito Cafe में जाकर, अपने ऑर्डर पर 15% की छूट पाने के लिए चेकआउट के समय कूपन कोड FRIENDLYEATS-15 का इस्तेमाल करें. और इसके बाद समीक्षा करना न भूलें!". उम्मीद है कि इससे कुछ लोगों को Burrito Cafe की जानकारी मिलेगी!

bed9182080bebb41.png

अगले चरण में, हम अपने ऐप्लिकेशन को टारगेट करेंगे और एक्सपोज़र सेट करेंगे. यह उन उपयोगकर्ताओं का प्रतिशत है जिन्हें एक्सपेरिमेंट में शामिल किया जाएगा. ये ऐसे उपयोगकर्ता होते हैं जो टारगेटिंग/ट्रिगर करने की शर्तों को पूरा करते हैं. इस उदाहरण के लिए, हम इसे सिर्फ़ 100% पर सेट कर सकते हैं, क्योंकि हम चाहते हैं कि सभी उपयोगकर्ताओं को बेसलाइन या हमारा कूपन वैरिएंट दिखे. अगर आपको कोई ऐसा कंट्रोल ग्रुप बनाना है जिसे कोई इन-ऐप्लिकेशन मैसेज न दिखाया जाए, तो एक्सपोज़र के इस प्रतिशत को कम किया जा सकता है.

bd96bf5798d227f1.png

  1. इसके बाद, आपको एक्सपेरिमेंट के लिए कुछ लक्ष्य तय करने होंगे. यह एक्सपेरिमेंट का नतीजा है, जिसे हमें मेज़र करना है. हम इसे review_success ऐसे आंकड़ों वाले इवेंट के तौर पर सेट करेंगे जिन्हें हमने पिछले सेक्शन में बताया था. ऐसा इसलिए, क्योंकि हमें यह देखना है कि रेस्टोरेंट की समीक्षा करने वाले उपयोगकर्ताओं पर, ऐप्लिकेशन में दिखने वाले अलग-अलग मैसेज का क्या असर पड़ता है. eb89d3b9f89ab43b.png
  2. शेड्यूल करने के लिए, हम कैंपेन को तुरंत शुरू कर देंगे और ट्रिगर करने की शर्त के तौर पर click_restaurant सेट कर देंगे. इससे, उपयोगकर्ताओं को किसी रेस्टोरेंट पर क्लिक करने पर, इन-ऐप्लिकेशन मैसेज में से कोई एक दिखेगा.

c57be430d41bfcad.png

  1. अब बस अपने एक्सपेरिमेंट की समीक्षा करें और एक्सपेरिमेंट शुरू करें पर क्लिक करें. इसके बाद, हम आराम से बैठकर अपने एक्सपेरिमेंट से मिलने वाले डेटा का इंतज़ार कर सकते हैं!

566af8bace30c67.png

रीयल टाइम में डेटा कलेक्शन देखना

हमने एक्सपेरिमेंट शुरू कर दिया है. अब जब भी कोई उपयोगकर्ता किसी रेस्टोरेंट पर क्लिक करेगा, तो उसे इन-ऐप्लिकेशन मैसेज के तौर पर, बेसलाइन मैसेज या वैरिएंट मैसेज में से कोई एक मैसेज दिखेगा. इससे हमारे उपयोगकर्ताओं को दो ग्रुप में बांटा जाएगा. यह बांटने का आधार यह होगा कि उन्हें कौनसा मैसेज दिखेगा. इसके बाद, दोनों ग्रुप के लाइव आंकड़ों के डेटा की तुलना करने के लिए, Firebase कंसोल में जाकर A/B टेस्टिंग सेक्शन में फिर से देखा जा सकता है. डेटा आने में कुछ समय लगेगा, क्योंकि हमें उपयोगकर्ताओं के इन-ऐप्लिकेशन मैसेज देखने और उसके हिसाब से कार्रवाई करने का इंतज़ार करना होगा. ज़रूरत के मुताबिक डेटा इकट्ठा होने के बाद, आपके नतीजे इस तरह दिख सकते हैं:

8fa8a0edcd8a8ad4.png

इस मामले में, वैरिएंट की परफ़ॉर्मेंस बेसलाइन की तुलना में काफ़ी बेहतर रही. इसलिए, हमने वैरिएंट को रोल आउट करें विकल्प चुना. इसके बाद, सभी उपयोगकर्ताओं को कूपन के साथ इन-ऐप्लिकेशन मैसेज रोल आउट किया गया.

8. बधाई

बधाई हो, आपने ऐप्लिकेशन में मैसेज करने की सुविधा का पहला एक्सपेरिमेंट बनाकर चला लिया है. अब अपने ऐप्लिकेशन में एक्सपेरिमेंट चलाया जा सकता है. साथ ही, इन-ऐप्लिकेशन मैसेजिंग कैंपेन को ज़्यादा असरदार बनाने के लिए, नतीजों का इस्तेमाल किया जा सकता है.

आगे क्या करना है?

इनमें से कुछ कोडलैब देखें...

इसके बारे में और पढ़ें

हमने Firebase इन-ऐप्लिकेशन मैसेजिंग और Firebase A/B टेस्टिंग की मदद से किए जा सकने वाले कामों के बारे में सिर्फ़ जानकारी दी है. अगर आपको ज़्यादा जानकारी चाहिए, तो ये लेख पढ़ें...

रेफ़रंस दस्तावेज़