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

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

इस सेक्शन में यह जानकारी दी गई है कि Pushwoosh कैपेसिटर SDK को अपने एप्लीकेशन में कैसे इंटीग्रेट करें।

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

Anchor link to

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

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

Anchor link to

1. Pushwoosh कैपेसिटर SDK डिपेंडेंसी जोड़ें

Anchor link to

अपने प्रोजेक्ट में Pushwoosh कैपेसिटर SDK डिपेंडेंसी जोड़ें:

Terminal window
npm install pushwoosh-capacitor-plugin

कैपेसिटर कॉन्फ़िगरेशन को सिंक करें:

Terminal window
npx cap sync

2. कैपेसिटर SDK इनिशियलाइज़ेशन

Anchor link to

अपनी मुख्य JavaScript फ़ाइल में, Pushwoosh SDK को इम्पोर्ट और इनिशियलाइज़ करें:

index.js
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Initialize the SDK
Pushwoosh.onDeviceReady({
appid: "__YOUR_APP_CODE__",
projectid: "__YOUR_FCM_SENDER_ID__"
});
// Register for push notifications
Pushwoosh.registerDevice()
.then(result => {
console.log("Push token:", result.pushToken);
// Handle successful registration
})
.catch(error => {
console.error("Failed to register device:", error);
// Handle registration error
});

जहाँ:

  • __YOUR_APP_ID__ Pushwoosh कंट्रोल पैनल से एप्लीकेशन कोड है।
  • __YOUR_FCM_SENDER_ID__ Firebase कंसोल से Firebase प्रोजेक्ट नंबर है।

3. iOS नेटिव सेटअप

Anchor link to

3.1 कैपेबिलिटीज़

Anchor link to

अपने प्रोजेक्ट में पुश नोटिफिकेशन को सक्षम करने के लिए, आपको कुछ कैपेबिलिटीज़ जोड़ने की आवश्यकता है।

Signing & Capabilities सेक्शन में, निम्नलिखित कैपेबिलिटीज़ जोड़ें:

  • Push Notifications
  • Background Modes। इस कैपेबिलिटी को जोड़ने के बाद, Remote notifications के लिए बॉक्स को चेक करें।

यदि आप टाइम सेंसिटिव नोटिफिकेशन (iOS 15+) का उपयोग करना चाहते हैं, तो Time Sensitive Notifications कैपेबिलिटी भी जोड़ें।

3.2 Info.plist

Anchor link to

अपने Runner/Info.plist में __PUSHWOOSH_DEVICE_API_TOKEN__ की को Pushwoosh डिवाइस API टोकन पर सेट करें:

info.plist
<key>Pushwoosh_API_TOKEN</key>
<string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>

3.3 मैसेज डिलीवरी ट्रैकिंग

Anchor link to

आपको अपने प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ना होगा। यह iOS पर सटीक डिलीवरी ट्रैकिंग और रिच मीडिया जैसी सुविधाओं के लिए आवश्यक है।

एक्सटेंशन टारगेट और उसके भीतर आवश्यक Pushwoosh कोड जोड़ने के लिए नेटिव गाइड के चरणों का पालन करें।

4. Android नेटिव सेटअप

Anchor link to

4.1 डिपेंडेंसी इंस्टॉल करें

Anchor link to

सुनिश्चित करें कि आवश्यक डिपेंडेंसी और प्लगइन्स आपके Gradle स्क्रिप्ट में जोड़े गए हैं:

Google Services Gradle प्लगइन को अपने प्रोजेक्ट-लेवल build.gradle डिपेंडेंसी में जोड़ें:

android/build.gradle
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
}
}

प्लगइन को अपनी ऐप-लेवल build.gradle फ़ाइल में लागू करें:

app/build.gradle
apply plugin: 'com.google.gms.google-services'

4.2 Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ें

Anchor link to

google-services.json फ़ाइल को अपने प्रोजेक्ट डायरेक्टरी में android/app फ़ोल्डर में रखें।

4.3 Pushwoosh मेटाडेटा जोड़ें

Anchor link to

अपने main/AndroidManifest.xml में <application> टैग के अंदर Pushwoosh डिवाइस API टोकन जोड़ें:

AndroidManifest.xml
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />

महत्वपूर्ण: सुनिश्चित करें कि आप अपने Pushwoosh कंट्रोल पैनल में टोकन को सही ऐप का एक्सेस दें। और जानें

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

Anchor link to
  1. प्रोजेक्ट को बिल्ड और रन करें।
  2. Pushwoosh कंट्रोल पैनल पर जाएँ और एक पुश नोटिफिकेशन भेजें
  3. आपको ऐप में नोटिफिकेशन दिखना चाहिए।

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

Anchor link to

इस स्तर पर, आपने पहले ही SDK को इंटीग्रेट कर लिया है और पुश नोटिफिकेशन भेज और प्राप्त कर सकते हैं। अब, आइए मुख्य कार्यक्षमता का पता लगाएँ।

पुश नोटिफिकेशन इवेंट लिसनर्स

Anchor link to

Pushwoosh कैपेसिटर SDK में पुश नोटिफिकेशन को हैंडल करने के लिए दो कॉलबैक मेथड हैं:

  • pushReceivedCallback तब ट्रिगर होता है जब एक पुश नोटिफिकेशन प्राप्त होता है
  • pushOpenedCallback तब ट्रिगर होता है जब कोई यूज़र नोटिफिकेशन खोलता है

आपको SDK के इनिशियलाइज़ेशन के ठीक बाद इन कॉलबैक को सेट अप करना चाहिए:

index.js
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Set up push received callback
await Pushwoosh.pushReceivedCallback((notification, err) => {
if (err) {
console.error("Failed to process received notification:", err);
} else {
console.log("Push received:", JSON.stringify(notification));
// Handle the received notification
}
});
// Set up push opened callback
await Pushwoosh.pushOpenedCallback((notification, err) => {
if (err) {
console.error("Failed to process opened notification:", err);
} else {
console.log("Push opened:", JSON.stringify(notification));
// Handle the opened notification
}
});

यूज़र कॉन्फ़िगरेशन

Anchor link to

व्यक्तिगत यूज़र के व्यवहार और प्राथमिकताओं पर ध्यान केंद्रित करके, आप व्यक्तिगत कंटेंट दे सकते हैं, जिससे यूज़र की संतुष्टि और वफादारी में वृद्धि होती है।

import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class Registration {
async afterUserLogin(user) {
// Set user ID
Pushwoosh.setUserId(user.getId);
// Setting additional user information as tags for Pushwoosh
await Pushwoosh.setTags({
"age": user.getAge(),
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
}

टैग यूज़र्स या डिवाइस को असाइन किए गए की-वैल्यू पेयर होते हैं, जो प्राथमिकताओं या व्यवहार जैसे एट्रिब्यूट्स के आधार पर सेगमेंटेशन की अनुमति देते हैं, जिससे लक्षित मैसेजिंग संभव होती है।

import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class UpdateUser {
async afterUserUpdateProfile(user) {
// Set list of favorite categories
await Pushwoosh.setTags({
"favorite_categories": user.getFavoriteCategoriesList()
});
// Set payment information
await Pushwoosh.setTags({
"is_subscribed": user.isSubscribed(),
"payment_status": user.getPaymentStatus(),
"billing_address": user.getBillingAddress()
});
}
}

इवेंट्स

Anchor link to

इवेंट्स ऐप के भीतर विशिष्ट यूज़र एक्शन या घटनाएँ होती हैं जिन्हें व्यवहार का विश्लेषण करने और संबंधित मैसेज या एक्शन को ट्रिगर करने के लिए ट्रैक किया जा सकता है।

import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class Registration {
// Track login event
afterUserLogin(user) {
Pushwoosh.postEvent("login", {
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
// Track purchase event
afterUserPurchase(product) {
Pushwoosh.postEvent("purchase", {
"product_id": product.getId(),
"product_name": product.getName(),
"price": product.getPrice(),
"quantity": product.getQuantity()
});
}
}

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

Anchor link to

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