एक्सपो एसडीके बेसिक इंटीग्रेशन गाइड
इस सेक्शन में यह जानकारी दी गई है कि आप अपने एप्लिकेशन में पुशवूश एक्सपो एसडीके को कैसे इंटीग्रेट कर सकते हैं।
पूर्वापेक्षाएँ
Anchor link toअपने ऐप में पुशवूश एक्सपो एसडीके को इंटीग्रेट करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:
इंटीग्रेशन के चरण
Anchor link to1. प्लगइन इंस्टॉल करें
Anchor link toएक्सपो सीएलआई का उपयोग करके पुशवूश एक्सपो प्लगइन इंस्टॉल करें
expo install pushwoosh-expo-pluginपुशवूश रिएक्ट नेटिव एसडीके इंस्टॉल करें
npm install pushwoosh-react-native-plugin --save2. प्लगइन प्रॉपर्टीज़ सेट करें
Anchor link toआवश्यक प्रॉपर्टीज़ के साथ प्लगइन को प्लगइन ऐरे के सामने जोड़ें:
{ "expo": { "plugins": [ [ "pushwoosh-expo-plugin", { "mode": "development", "ios": { "PW_API_TOKEN": "__YOUR_DEVICE_API_TOKEN__" }, "android": { "apiToken": "__YOUR_DEVICE_API_TOKEN__" } } ] ] }}जहाँ:
modeका उपयोग APNs एनवायरनमेंट एंटाइटलमेंट को कॉन्फ़िगर करने के लिए किया जाता है। “Development” या “production” मान उपलब्ध हैं।PW_API_TOKEN,apiTokenआपका Pushwoosh Device API Token है।
3. पुशवूश को इनिशियलाइज़ करें
Anchor link toआपके एप्लिकेशन के रूट कंपोनेंट में:
pushwoosh-react-native-pluginप्लगइन को इम्पोर्ट करें।- पुशवूश एसडीके को इनिशियलाइज़ करें।
- पुश नोटिफिकेशन के लिए रजिस्टर करने के लिए अपनी इनिशियलाइज़ेशन लॉजिक में
register()को कॉल करें।
import Pushwoosh from 'pushwoosh-react-native-plugin';
Pushwoosh.init({ "pw_appid": "__YOUR_APP_ID__"});
Pushwoosh.register();जहाँ:
__YOUR_APP_ID__पुशवूश कंट्रोल पैनल से एप्लिकेशन कोड है।
4. एंड्रॉइड नेटिव सेटअप
Anchor link toफायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें:
- अपनी
google-services.jsonफ़ाइल को प्रोजेक्ट की रूट डायरेक्टरी में कॉपी करें। googleServicesFileप्रॉपर्टी को अपनीgoogle-services.jsonके पाथ पर सेट करें औरpackageप्रॉपर्टी निर्दिष्ट करें:
"expo": { "name": "sample", "android": { "package": "com.pushwoosh.sample", "googleServicesFile": "./google-services.json" }, "plugins": [ [ "pushwoosh-expo-plugin", { "mode": "development", "ios": { "PW_API_TOKEN": "__YOUR_DEVICE_API_TOKEN__" }, "android": { "apiToken": "__YOUR_DEVICE_API_TOKEN__" } } ] ]}5. आईओएस नेटिव सेटअप
Anchor link tobundleIdentifier प्रॉपर्टी को ios ऑब्जेक्ट पर सेट करें:
"expo": { "name": "sample", "ios": { "bundleIdentifier": "com.pushwoosh.sample" }, "plugins": [ [ "pushwoosh-expo-plugin", { "mode": "development", "ios": { "PW_API_TOKEN": "__YOUR_DEVICE_API_TOKEN__" }, "android": { "apiToken": "__YOUR_DEVICE_API_TOKEN__" } } ] ]}6. ऐप को प्रीबिल्ड करें
Anchor link toनेटिव कोड जेनरेट करें और प्रीबिल्ड चलाकर प्रत्येक प्लेटफ़ॉर्म के लिए डिपेंडेंसी को कॉन्फ़िगर करें:
npx expo prebuild7. प्रोजेक्ट चलाएँ
Anchor link to- प्रोजेक्ट को बिल्ड और रन करें:
npx expo run:androidnpx expo run:ios- पुशवूश कंट्रोल पैनल पर जाएँ और एक पुश नोटिफिकेशन भेजें।
- आपको ऐप में नोटिफिकेशन दिखना चाहिए।
एक्सटेंडेड इंटीग्रेशन
Anchor link toइस स्तर पर, आपने पहले ही एसडीके को इंटीग्रेट कर लिया है और पुश नोटिफिकेशन भेज और प्राप्त कर सकते हैं। अब, आइए मुख्य कार्यक्षमता का पता लगाएँ
पुश नोटिफिकेशन इवेंट लिसनर्स
Anchor link toपुशवूश एसडीके में दो इवेंट लिसनर्स हैं, जो पुश नोटिफिकेशन को संभालने के लिए डिज़ाइन किए गए हैं:
onPushReceivedइवेंट तब ट्रिगर होता है, जब कोई पुश नोटिफिकेशन प्राप्त होता हैonPushAcceptedइवेंट तब ट्रिगर होता है, जब कोई यूज़र नोटिफिकेशन खोलता है
आपको एप्लिकेशन के स्टार्ट अप पर एसडीके के इनिशियलाइज़ेशन के ठीक बाद इन इवेंट लिसनर्स को सेटअप करना चाहिए:
import { DeviceEventEmitter } from 'react-native';import Pushwoosh from 'pushwoosh-react-native-plugin';
class PushwooshNotificationHandler { setupPushListeners(): void {
DeviceEventEmitter.addListener("pushReceived", (e) => { console.warn("Push received: " + JSON.stringify(e)); });
DeviceEventEmitter.addListener("pushOpened", (e) => { console.warn("Push opened:" + JSON.stringify(e)); });
}}यूज़र कॉन्फ़िगरेशन
Anchor link toव्यक्तिगत यूज़र के व्यवहार और वरीयताओं पर ध्यान केंद्रित करके, आप व्यक्तिगत सामग्री प्रदान कर सकते हैं, जिससे यूज़र की संतुष्टि और वफादारी में वृद्धि होती है
import Pushwoosh from 'pushwoosh-react-native-plugin';
class Registration { afterUserLogin(user: User): void {
// यूज़र आईडी सेट करें Pushwoosh.setUserId(user.getId());
// यूज़र ईमेल सेट करें Pushwoosh.setEmails(user.getEmailList());
// पुशवूश के लिए टैग के रूप में अतिरिक्त यूज़र जानकारी सेट करना Pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}टैग्स
Anchor link toटैग यूज़र्स या डिवाइस को असाइन किए गए की-वैल्यू पेयर होते हैं, जो वरीयताओं या व्यवहार जैसे गुणों के आधार पर सेगमेंटेशन की अनुमति देते हैं, जिससे लक्षित मैसेजिंग सक्षम होती है।
import Pushwoosh from 'pushwoosh-react-native-plugin';
class UpdateUser { afterUserUpdateProfile(user: User): void {
// पसंदीदा श्रेणियों की सूची सेट करें Pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// भुगतान जानकारी सेट करें Pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}इवेंट्स
Anchor link toइवेंट्स ऐप के भीतर विशिष्ट यूज़र एक्शन या घटनाएँ हैं जिन्हें व्यवहार का विश्लेषण करने और संबंधित संदेशों या कार्यों को ट्रिगर करने के लिए ट्रैक किया जा सकता है
import Pushwoosh from 'pushwoosh-react-native-plugin';
class Registration {
// लॉगिन इवेंट को ट्रैक करें afterUserLogin(user: User): void { Pushwoosh.postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
// खरीद इवेंट को ट्रैक करें afterUserPurchase(product: Product): void { Pushwoosh.postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}आईओएस के लिए मैसेज डिलीवरी ट्रैकिंग
Anchor link toआपको अपने प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ना होगा। यह सटीक डिलीवरी ट्रैकिंग और आईओएस पर रिच मीडिया जैसी सुविधाओं के लिए आवश्यक है।
एक्सटेंशन टारगेट और उसके भीतर आवश्यक पुशवूश कोड जोड़ने के लिए नेटिव गाइड के चरणों का पालन करें।
अतिरिक्त प्लगइन प्रॉपर्टीज़
Anchor link to| प्रॉपर्टी | डिफ़ॉल्ट | विवरण |
|---|---|---|
| आईओएस प्रॉपर्टीज़ | ||
Pushwoosh_LOG_LEVEL | INFO | आईओएस के लिए लॉग लेवल। संभावित मान: NONE, ERROR, WARN, INFO, DEBUG, NOISE |
| एंड्रॉइड प्रॉपर्टीज़ | ||
logLevel | INFO | एंड्रॉइड के लिए लॉग लेवल। इनमें से एक: NONE, ERROR, WARN, INFO, DEBUG, NOISE |
multiNotificationMode | true | यदि आप यूज़र के लिए केवल अंतिम नोटिफिकेशन प्रदर्शित करना चाहते हैं तो इसे false में बदला जा सकता है |
icon | - | एंड्रॉइड के लिए कस्टम नोटिफिकेशन आइकन का पाथ |
समस्या निवारण
Anchor link toयदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो कृपया समर्थन और समुदाय सेक्शन देखें।
FCM रजिस्ट्रेशन त्रुटि: टोकन प्राप्त करने में विफल। क्या फायरबेस सही ढंग से कॉन्फ़िगर किया गया है?
Anchor link toसुनिश्चित करें कि आपकी फायरबेस googleServicesFile प्रॉपर्टी एक्सपो कॉन्फ़िगरेशन फ़ाइल में सेट है और google-services.json फ़ाइल आपके प्रोजेक्ट की रूट डायरेक्टरी में जोड़ी गई है:
"expo": { "name": "sample", "android": { "package": "com.pushwoosh.sample", "googleServicesFile": "./google-services.json" }, "plugins": [ [ "pushwoosh-expo-plugin", { "mode": "development", "ios": { "PW_API_TOKEN": "__YOUR_DEVICE_API_TOKEN__" }, "android": { "apiToken": "__YOUR_DEVICE_API_TOKEN__" } } ] ]}TypeError: Cannot read property ‘init’ of null
Anchor link toडिवाइस पर ऐप चलाने का प्रयास करते समय आपको यह त्रुटि मिल सकती है।
समस्या को हल करने के लिए, सुनिश्चित करें कि आपने प्रीबिल्ड चरण पूरा कर लिया है। यह नेटिव कोड जेनरेट करता है और प्रत्येक प्लेटफ़ॉर्म के लिए डिपेंडेंसी को कॉन्फ़िगर करता है।
npx expo prebuild