अपने Firebase इन-ऐप्लिकेशन मैसेज को पसंद के मुताबिक बनाएं


Firebase की इन-ऐप्लिकेशन मैसेज सुविधा, पहले से कॉन्फ़िगर किए गए व्यवहारों और मैसेज टाइप का एक उपयोगी सेट उपलब्ध कराता है. इसमें डिफ़ॉल्ट लुक और फ़ील होता है. हालांकि, कुछ मामलों में आपको व्यवहारों और मैसेज के कॉन्टेंट को बढ़ाना पड़ सकता है. इन-ऐप्लिकेशन मैसेजिंग की सुविधा की मदद से, मैसेज में कार्रवाइयां जोड़ी जा सकती हैं. साथ ही, मैसेज के लुक और फ़ील को पसंद के मुताबिक बनाया जा सकता है.

अपने मैसेज में कोई कार्रवाई जोड़ना

कार्रवाइयों की मदद से, ऐप्लिकेशन में दिखने वाले मैसेज का इस्तेमाल करके उपयोगकर्ताओं को किसी वेबसाइट या ऐप्लिकेशन की किसी खास स्क्रीन पर भेजा जा सकता है.

Firebase In-App Messaging, कार्रवाइयों को प्रोसेस करने के लिए लिंक हैंडलर का इस्तेमाल करता है. एसडीके कई हैंडलर का इस्तेमाल कर सकता है. इसलिए, अगर आपके ऐप्लिकेशन में पहले से कोई हैंडलर मौजूद है, तो Firebase In-App Messaging उसका इस्तेमाल बिना किसी सेटअप के कर सकता है. अगर आपके पास अब तक कोई हैंडलर नहीं है, तो Firebase Dynamic Links का इस्तेमाल किया जा सकता है. ज़्यादा जानने के लिए, iOS पर डाइनैमिक लिंक बनाना लेख पढ़ें.

Firebase कंसोल का इस्तेमाल करके, अपने मैसेज में कार्रवाई जोड़ना

ऐप्लिकेशन में लिंक हैंडलर होने के बाद, कार्रवाई के साथ कैंपेन बनाया जा सकता है.

  1. Firebase console में, DevOps & Engagement > Messaging पर जाएं.

  2. नया कैंपेन सेट अप करने के लिए, वर्कफ़्लो लॉन्च करें:

    • अगर यह आपका पहला कैंपेन है, तो:

      1. अपना पहला कैंपेन बनाएं पर क्लिक करें.
      2. Firebase इन-ऐप्लिकेशन मैसेज को चुनें. इसके बाद, बनाएं पर क्लिक करें.
    • अगर आपने पहले कैंपेन बनाए हैं, तो:

      1. कैंपेन टैब पर, नया कैंपेन पर क्लिक करें.
      2. ऐप्लिकेशन में दिखने वाले मैसेज को चुनें.
  3. कैंपेन सेट अप करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.

  4. कार्ड, बटन का टेक्स्ट, और बटन का ऐक्शन, इमेज का ऐक्शन या बैनर का ऐक्शन दें. इनमें ऐक्शन, काम का डीप लिंक होना चाहिए.

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

मैसेज के लुक और फ़ील में बदलाव करना

Firebase In-App Messaging की मदद से, मैसेज डिसप्ले को अपनी पसंद के मुताबिक बनाया जा सकता है. इससे आपके ऐप्लिकेशन में मैसेज के लेआउट, फ़ॉन्ट स्टाइल, बटन के आकार, और अन्य जानकारी को रेंडर करने का तरीका बदल जाता है. मैसेज डिसप्ले में बदलाव करने के दो तरीके हैं: डिफ़ॉल्ट Firebase In-App Messaging डिसप्ले में बदलाव करना या शुरू से अपनी मैसेज डिसप्ले लाइब्रेरी बनाना.

ध्यान दें: यह प्रॉडक्ट, macOS, Mac Catalyst, App Clip या watchOS टारगेट पर उपलब्ध नहीं है.

डिफ़ॉल्ट डिसप्ले में बदलाव करना

मैसेज को अपनी पसंद के मुताबिक बनाने का सबसे आसान तरीका यह है कि Firebase In-App Messaging के डिफ़ॉल्ट मैसेज डिसप्ले कोड का इस्तेमाल किया जाए.

firebase-ios-sdk रिपो का क्लोन बनाएं

शुरू करने के लिए, firebase-ios-sdk repo की नई रिलीज़ क्लोन करें और InAppMessaging डायरेक्ट्री खोलें.

बदलाव करने के लिए मैसेज टाइप चुनना

रेपो क्लोन करने के बाद, Firebase In-App Messaging मैसेज टाइप में से किसी एक या सभी में बदलाव किया जा सकता है: Card, Modal, Banner, और ImageOnly. हर टाइप, Firebase In-App Messaging कैंपेन बनाने के फ़्लो में मौजूद मैसेज लेआउट से मेल खाता है.

इसलिए, हर टाइप के पास डेटा के अलग-अलग सेट का ऐक्सेस होता है. यह Firebase कंसोल में कैंपेन को पसंद के मुताबिक बनाने के विकल्पों से तय होता है:

टाइप titleText bodyText textColor backgroundColor imageData actionButton secondaryActionButton
कार्ड
मोडल
बैनर
ImageOnly

मैसेज डिसप्ले रेंडरिंग कोड में बदलाव करना

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

मैसेज डिसप्ले में बदलाव करते समय, इन दो बातों का ध्यान रखना ज़रूरी है:

  • मैसेज टाइप डायरेक्ट्री: हर मैसेज टाइप के लिए एक अलग डायरेक्ट्री होती है. इसमें ऐसी फ़ाइलें होती हैं जो उस टाइप के लॉजिक को तय करती हैं:
  • स्टोरीबोर्ड: InAppMessaging लाइब्रेरी में एक .storyboard फ़ाइल भी होती है. इससे तीनों मैसेज टाइप के लिए यूज़र इंटरफ़ेस (यूआई) तय करने में मदद मिलती है:

अपनी पसंद के मैसेज टाइप की डायरेक्ट्री और .storyboard के संबंधित सेक्शन में मौजूद फ़ाइलों में बदलाव करके, कस्टम मैसेज डिसप्ले बनाएं.

बदले गए InAppMessaging कोड का इस्तेमाल करने के लिए, अपनी podfile अपडेट करें

Firebase In-App Messaging को डिफ़ॉल्ट डिसप्ले के बजाय, बदले गए मैसेज डिसप्ले का इस्तेमाल करने के लिए, अपनी पॉडफ़ाइल अपडेट करें, ताकि वह आपकी पसंद के मुताबिक बनाई गई InAppMessaging लाइब्रेरी का इस्तेमाल कर सके:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'YourProject' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for YourProject
pod 'Firebase'

# Remove the default InAppMessaging pod:
# pod 'Firebase/InAppMessaging'

# Overwrite it with a version that points to your local copy:
pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/'

end
इसके बाद, अपने पॉड अपडेट किए जा सकते हैं, ऐप्लिकेशन को फिर से बनाया जा सकता है, और अपने नए, पसंद के मुताबिक बनाए गए मैसेज देखे जा सकते हैं.

मैसेज डिसप्ले लाइब्रेरी बनाना

मैसेज दिखाने के लिए यूज़र इंटरफ़ेस (यूआई) बनाने के लिए, आपको InAppMessaging लाइब्रेरी से काम करने की ज़रूरत नहीं है. आपके पास स्क्रैच से अपना कोड लिखने का विकल्प भी है.

InAppMessagingDisplay प्रोटोकॉल को लागू करने वाली क्लास बनाना

Firebase In-App Messaging, InAppMessaging क्लास का इस्तेमाल करता है, ताकि Firebase सर्वर और आपके ऐप्लिकेशन के बीच कम्यूनिकेशन किया जा सके. यह क्लास, बदले में InAppMessagingDisplay प्रोटोकॉल का इस्तेमाल करके, मिले हुए मैसेज दिखाती है. अपनी डिसप्ले लाइब्रेरी बनाने के लिए, एक ऐसी क्लास लिखें जो प्रोटोकॉल को लागू करती हो.

प्रोटोकॉल की परिभाषा और इसके मुताबिक काम करने का तरीका बताने वाला दस्तावेज़, InAppMessaging लाइब्रेरी की FIRInAppMessagingDisplay.h फ़ाइल में मौजूद है.

मैसेज डिसप्ले लाइब्रेरी का इस्तेमाल करने के लिए, messageDisplayComponent को सेट करें

InAppMessaging, मैसेज दिखाते समय किस ऑब्जेक्ट का इस्तेमाल करना है, यह तय करने के लिए अपनी messageDisplayComponent प्रॉपर्टी का इस्तेमाल करता है. उस प्रॉपर्टी को अपने कस्टम मैसेज डिसप्ले क्लास के ऑब्जेक्ट पर सेट करें, ताकि Firebase In-App Messaging को पता चले कि मैसेज रेंडर करने के लिए आपकी लाइब्रेरी का इस्तेमाल करना है:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance