सामग्री पर जाएं

एक्सपो एसडीके बेसिक इंटीग्रेशन गाइड

इस सेक्शन में यह जानकारी दी गई है कि आप अपने एप्लिकेशन में पुशवूश एक्सपो एसडीके को कैसे इंटीग्रेट कर सकते हैं।

पूर्वापेक्षाएँ

Anchor link to

अपने ऐप में पुशवूश एक्सपो एसडीके को इंटीग्रेट करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:

इंटीग्रेशन के चरण

Anchor link to

1. प्लगइन इंस्टॉल करें

Anchor link to

एक्सपो सीएलआई का उपयोग करके पुशवूश एक्सपो प्लगइन इंस्टॉल करें

Terminal window
expo install pushwoosh-expo-plugin

पुशवूश रिएक्ट नेटिव एसडीके इंस्टॉल करें

Terminal window
npm install pushwoosh-react-native-plugin --save

2. प्लगइन प्रॉपर्टीज़ सेट करें

Anchor link to

आवश्यक प्रॉपर्टीज़ के साथ प्लगइन को प्लगइन ऐरे के सामने जोड़ें:

app.json/app.config.js
{
"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() को कॉल करें।
index.tsx
import Pushwoosh from 'pushwoosh-react-native-plugin';
Pushwoosh.init({
"pw_appid": "__YOUR_APP_ID__"
});
Pushwoosh.register();

जहाँ:

  • __YOUR_APP_ID__ पुशवूश कंट्रोल पैनल से एप्लिकेशन कोड है।

4. एंड्रॉइड नेटिव सेटअप

Anchor link to

फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें:

  1. अपनी google-services.json फ़ाइल को प्रोजेक्ट की रूट डायरेक्टरी में कॉपी करें।
  2. googleServicesFile प्रॉपर्टी को अपनी google-services.json के पाथ पर सेट करें और package प्रॉपर्टी निर्दिष्ट करें:
app.json/app.config.js
"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 to

bundleIdentifier प्रॉपर्टी को ios ऑब्जेक्ट पर सेट करें:

app.json/app.config.js
"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

नेटिव कोड जेनरेट करें और प्रीबिल्ड चलाकर प्रत्येक प्लेटफ़ॉर्म के लिए डिपेंडेंसी को कॉन्फ़िगर करें:

Terminal window
npx expo prebuild

7. प्रोजेक्ट चलाएँ

Anchor link to
  1. प्रोजेक्ट को बिल्ड और रन करें:
Terminal window
npx expo run:android
  1. पुशवूश कंट्रोल पैनल पर जाएँ और एक पुश नोटिफिकेशन भेजें
  2. आपको ऐप में नोटिफिकेशन दिखना चाहिए।

एक्सटेंडेड इंटीग्रेशन

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_LEVELINFOआईओएस के लिए लॉग लेवल। संभावित मान: NONE, ERROR, WARN, INFO, DEBUG, NOISE
एंड्रॉइड प्रॉपर्टीज़
logLevelINFOएंड्रॉइड के लिए लॉग लेवल। इनमें से एक: NONE, ERROR, WARN, INFO, DEBUG, NOISE
multiNotificationModetrueयदि आप यूज़र के लिए केवल अंतिम नोटिफिकेशन प्रदर्शित करना चाहते हैं तो इसे false में बदला जा सकता है
icon-एंड्रॉइड के लिए कस्टम नोटिफिकेशन आइकन का पाथ

समस्या निवारण

Anchor link to

यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो कृपया समर्थन और समुदाय सेक्शन देखें।

FCM रजिस्ट्रेशन त्रुटि: टोकन प्राप्त करने में विफल। क्या फायरबेस सही ढंग से कॉन्फ़िगर किया गया है?
Anchor link to

सुनिश्चित करें कि आपकी फायरबेस googleServicesFile प्रॉपर्टी एक्सपो कॉन्फ़िगरेशन फ़ाइल में सेट है और google-services.json फ़ाइल आपके प्रोजेक्ट की रूट डायरेक्टरी में जोड़ी गई है:

app.json/app.config.js
"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

डिवाइस पर ऐप चलाने का प्रयास करते समय आपको यह त्रुटि मिल सकती है।
समस्या को हल करने के लिए, सुनिश्चित करें कि आपने प्रीबिल्ड चरण पूरा कर लिया है। यह नेटिव कोड जेनरेट करता है और प्रत्येक प्लेटफ़ॉर्म के लिए डिपेंडेंसी को कॉन्फ़िगर करता है।

Terminal window
npx expo prebuild