अपने 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 टेक्स्ट का रंग बैकग्राउंड का रंग इमेज डेटा कार्रवाई बटन secondaryActionButton
कार्ड
मोडल
बैनर
सिर्फ़ इमेज

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

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

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

  • मैसेज टाइप की डायरेक्ट्री: हर तरह के मैसेज की एक अलग डायरेक्ट्री होती है उन फ़ाइलों के साथ जो उस टाइप का लॉजिक तय करती हैं:
  • स्टोरीबोर्ड: 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