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


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

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

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

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

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

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

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

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

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 अपडेट करें

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

# 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