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


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

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

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

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

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

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

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

मैसेज के लुक और स्टाइल में बदलाव करना

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

ध्यान दें: यह प्रॉडक्ट, macOS, Mac Catalyst, ऐप्लिकेशन क्लिप या 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 लाइब्रेरी का इस्तेमाल करने के लिए अपनी podfile अपडेट करें:

# 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