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

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

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

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

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

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

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

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

मैसेज के रंग-रूप में बदलाव करें

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

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

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

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

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

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

चुनें कि आपको किस तरह के मैसेज में बदलाव करना है

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

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

टाइप टाइटल टेक्स्ट मुख्य हिस्सा टेक्स्ट का रंग बैकग्राउंड का रंग इमेज डेटा कार्रवाई बटन सेकंडरी एक्शन बटन
कार्ड
मोडल
बैनर
सिर्फ़ इमेज

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

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

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

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

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

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

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

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

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

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

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance