अपने 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's के डिफ़ॉल्ट मैसेज डिसप्ले कोड का इस्तेमाल किया जाए.

firebase-ios-sdk रेपो क्लोन करना

शुरू करने के लिए, सबसे नया वर्शन firebase-ios-sdk रेपो का क्लोन करें. इसके बाद, InAppMessaging डायरेक्ट्री खोलें.

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

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

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

टाइप titleText bodyText textColor backgroundColor imageData actionButton secondaryActionButton
कार्ड
मोडल
बैनर
सिर्फ़ इमेज

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

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

मैसेज के डिसप्ले में बदलाव करते समय, दो मुख्य बातों का ध्यान रखना चाहिए:

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

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

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

Firebase इन-ऐप्लिकेशन मैसेज की सुविधा के डिफ़ॉल्ट डिसप्ले के बजाय, बदलाव किए गए मैसेज के डिसप्ले का इस्तेमाल करने के लिए, अपनी पॉडफ़ाइल को अपडेट करें. इसके लिए, पसंद के मुताबिक बनाई गई 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 Firebase सर्वर और आपके ऐप्लिकेशन के बीच होने वाले कम्यूनिकेशन को मैनेज करने के लिए, InAppMessaging क्लास का इस्तेमाल करता है. यह क्लास, मिले हुए मैसेज दिखाने के लिए, InAppMessagingDisplay प्रोटोकॉल का इस्तेमाल करती है. डिसप्ले की अपनी लाइब्रेरी बनाने के लिए, एक ऐसी क्लास लिखें जो प्रोटोकॉल को लागू करती हो.

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

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

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

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance