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

वेब पुश SDK 3.0

एकीकरण

Anchor link to

GitHub पर एकीकरण का नमूना

Pushwoosh वेब पुश SDK प्राप्त करें और इसे अनज़िप करें। आपके पास निम्नलिखित फाइलें होनी चाहिए:

Anchor link to
  • pushwoosh-service-worker.js

इन सभी फाइलों को अपनी वेबसाइट डायरेक्टरी के टॉप-लेवल रूट में रखें।

Anchor link to

SDK को प्रारंभ करें:

Anchor link to
  1. हमारे CDN से SDK को असिंक्रोनस रूप से शामिल करें।
<script type="text/javascript" src="//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js" async></script>
  1. वेब पुश SDK को प्रारंभ करें और सुनिश्चित करें कि SDK पूरी तरह से लोड होने तक प्रारंभ को कतार में रखें।
<script type="text/javascript">
var Pushwoosh = Pushwoosh || [];
Pushwoosh.push(['init', {
logLevel: 'info', // संभावित मान: error, info, debug
applicationCode: 'XXXXX-XXXXX', // Pushwoosh कंट्रोल पैनल से आपका एप्लिकेशन कोड
apiToken: 'XXXXXXX', // डिवाइस API टोकन
safariWebsitePushID: 'web.com.example.domain', // अद्वितीय रिवर्स-डोमेन स्ट्रिंग, जो आपके Apple डेवलपर पोर्टल में प्राप्त होती है। केवल तभी उपयोग होता है जब आपके एप्लिकेशन में Safari Configuration सेक्शन हो (ऊपर आवश्यक शर्तें देखें)
defaultNotificationTitle: 'Pushwoosh', // पुश सूचनाओं के लिए एक डिफ़ॉल्ट शीर्षक सेट करता है
defaultNotificationImage: 'https://yoursite.com/img/logo-medium.png', // कस्टम सूचना छवि का URL
autoSubscribe: false, // या true। यदि true है, तो SDK प्रारंभ होने पर उपयोगकर्ता को पुश के लिए सदस्यता लेने के लिए प्रेरित करता है
subscribeWidget: {
enable: true
},
userId: 'user_id', // वैकल्पिक, कस्टम उपयोगकर्ता आईडी सेट करें
tags: {
'Name': 'John Smith' // वैकल्पिक, कस्टम टैग सेट करें
}
}]);
</script>

वेब पॉपअप

Anchor link to

वेब पॉपअप अभियान डिफ़ॉल्ट रूप से लोड होते हैं — आपके init ऑब्जेक्ट में किसी webPopups प्रविष्टि की आवश्यकता नहीं है। ऑप्ट आउट करने या डिफ़ॉल्ट बदलने के लिए केवल एक जोड़ें:

webPopups: {
// enable: false, // वैकल्पिक, पूरी तरह से ऑप्ट आउट करें: बंडल कभी लोड नहीं होता है
autoShow: true, // वैकल्पिक, पॉपअप को स्वचालित रूप से प्रदर्शित किए बिना लोड करने के लिए false पर सेट करें — नीचे WebPopups विधियां देखें
colorScheme: 'auto', // वैकल्पिक, 'auto' (डिफ़ॉल्ट) | 'light' | 'dark'
},

वेब पॉपअप अभियान आपके द्वारा कंट्रोल पैनल में कॉन्फ़िगर किए गए ओवरले प्रदर्शित करते हैं जैसे प्रोमो, घोषणाएं, या लीड कैप्चर फ़ॉर्म। कस्टम सब्सक्रिप्शन पॉपअप (subscribePopup) के विपरीत, जो केवल वेब पुश ऑप्ट-इन को संभालता है, वेब पॉपअप अभियान आपके द्वारा कॉन्फ़िगर की गई किसी भी सामग्री को प्रदर्शित कर सकते हैं। कंट्रोल पैनल में सेटअप के लिए, वेब पॉपअप को समझना देखें।

colorScheme यह चुनता है कि डार्क मोड के साथ कॉन्फ़िगर किया गया पॉपअप किस पैलेट के साथ रेंडर होगा:

  • 'auto' (डिफ़ॉल्ट): आगंतुक की OS-स्तरीय रंग योजना (prefers-color-scheme) का पालन करता है।
  • 'light' या 'dark': हमेशा उस पैलेट को रेंडर करता है, चाहे आगंतुक की OS सेटिंग कुछ भी हो।

संपादक में डार्क मोड के बिना कॉन्फ़िगर किया गया पॉपअप हमेशा लाइट रेंडर होता है — colorScheme का इस पर कोई प्रभाव नहीं पड़ता है।

प्रोग्रामेटिक नियंत्रण के लिए, WebPopups विधियां और वेब पॉपअप इवेंट्स देखें।

पुश सब्सक्रिप्शन बटन

Anchor link to

अपने उपयोगकर्ताओं को पुश सूचनाओं के लिए सदस्यता लेने के लिए प्रेरित करने के लिए, हम आपकी वेबसाइट पर पुश सब्सक्रिप्शन बटन लागू करने की सलाह देते हैं। उपयोगकर्ता अनुभव को बढ़ाएं और अधिक ग्राहक प्राप्त करें!

कॉन्फ़िगरेशन

Anchor link to

अपनी वेबसाइट में पुश सूचनाओं को लागू करना समाप्त करने के लिए, आपको हमारे चरण-दर-चरण गाइड का पालन करते हुए अपने Pushwoosh कंट्रोल पैनल में वेब प्लेटफॉर्म को कॉन्फ़िगर करना होगा:

उसी कॉन्फ़िगरेशन स्क्रीन में एक Web SDK configuration कार्ड भी शामिल है।

सर्विस वर्कर को एक अलग स्कोप में पंजीकृत करना

Anchor link to

कभी-कभी आप सर्विस वर्कर फ़ाइल को वेबसाइट की रूट डायरेक्टरी में नहीं बल्कि एक सबडायरेक्टरी में रख सकते हैं।

इस मामले में, एक पैरामीटर जोड़कर कॉन्फ़िगरेशन (चरण 4.3) को संशोधित करें

serviceWorkerUrl: “/push-notifications/pushwoosh-service-worker.js”

जहां /push-notifications/pushwoosh-service-worker.js pushwoosh-service-worker.js फ़ाइल का पथ है।

इवेंट हैंडलर

Anchor link to

Pushwoosh वेब SDK 3.0 में आप कुछ इवेंट्स को ट्रैक करने के लिए उनकी सदस्यता ले सकते हैं**,** या यदि आपको अब उन्हें ट्रैक करने की आवश्यकता नहीं है तो इवेंट्स से सदस्यता समाप्त कर सकते हैं।

वेब SDK 3.0 लोड को ट्रैक करने के लिए, onLoad इवेंट को इस प्रकार फायर करें:

// Load Event
Pushwoosh.push(['onLoad', (api) => {
console.log('Pushwoosh load!');
}]);

सही वेब SDK प्रारंभ को ट्रैक करने के लिए, onReady इवेंट को फायर करें:

// Ready Event
Pushwoosh.push((api) => {
console.log('Pushwoosh ready!');
});

किसी भी SDK इवेंट की सदस्यता लेने या सदस्यता समाप्त करने के लिए, SDK लोड होने के बाद हैंडलर का उपयोग करें:

Pushwoosh.push(['onLoad', (api) => {
function onEventNameHandler() {
console.log('Triggered event: event-name!');
}
// To subscribe to an event:
Pushwoosh.addEventHandler('event-name', onEventNameHandler)
// To unsubscribe from an event:
Pushwoosh.removeEventHandler('event-name', onEventNameHandler)
}]);

SDK इवेंट्स

Anchor link to

सब्सक्राइब इवेंट

Anchor link to

उपयोगकर्ता द्वारा पुश सूचनाएं प्राप्त करने के लिए सहमत होने के बाद निष्पादित होता है।

Pushwoosh.push(['onLoad', (api) => {
Pushwoosh.addEventHandler('subscribe', (payload) => {
console.log('Triggered event: subscribe');
});
}]);

अनसब्सक्राइब इवेंट

Anchor link to

डिवाइस के सूचनाओं से अपंजीकृत होने के बाद निष्पादित होता है।

Pushwoosh.push(['onLoad', (api) => {
Pushwoosh.addEventHandler('unsubscribe', (payload) => {
console.log('Triggered event: unsubscribe');
});
}]);

सब्सक्रिप्शन विजेट इवेंट्स

Anchor link to

सब्सक्रिप्शन प्रॉम्प्ट विजेट के प्रदर्शन को ट्रैक करें।

Pushwoosh.push(['onLoad', (api) => {
// Executed on displaying of the Subscription Prompt widget
Pushwoosh.addEventHandler('show-subscription-widget', (payload) => {
console.log('Triggered event: show-subscription-widget');
});
// Executed on hiding of the Subscription Prompt widget
Pushwoosh.addEventHandler('hide-subscription-widget', (payload) => {
console.log('Triggered event: hide-subscription-widget');
});
}]);

सूचना अनुमति संवाद इवेंट्स

Anchor link to

देशी सदस्यता संवाद के प्रदर्शन को ट्रैक करें।

Pushwoosh.push(['onLoad', function (api) {
// Executed on permission dialog displaying
Pushwoosh.addEventHandler('show-notification-permission-dialog', (payload) => {
console.log('Triggered event: show-notification-permission-dialog');
});
// Executed on hiding the permission dialog with one of three possible statuses:
// 1. default - the dialog is closed
// 2. granted - permission is granted
// 3. denied - permission is denied
Pushwoosh.addEventHandler('hide-notification-permission-dialog', (payload) => {
console.log('Triggered event: hide-notification-permission-dialog', payload.permission);
});
}]);

अनुमति इवेंट्स

Anchor link to

SDK प्रारंभ पर पुश सूचनाओं की अनुमति की स्थिति की जांच करें; जब भी यह स्थिति अपडेट होती है तो उसे ट्रैक करें।

Pushwoosh.push(['onLoad', (api) => {
// Executed during the SDK initialization if 'autoSubscribe: false' or/and if a user ignores a push notification prompt.
Pushwoosh.addEventHandler('permission-default', (payload) => {
console.log('Triggered event: permission-default');
});
// Executed during the SDK initialization if notifications are blocked or once a user blocks push notifications.
Pushwoosh.addEventHandler('permission-denied', (payload) => {
console.log('Triggered event: permission-denied');
});
// Executed during the SDK initialization if notifications are allowed or once a user allows push notifications.
Pushwoosh.addEventHandler('permission-granted', (payload) => {
console.log('Triggered event: permission-granted');
});
}]);

पुश प्राप्त इवेंट

Anchor link to

डिवाइस पर पुश डिलीवरी को ट्रैक करें।

Pushwoosh.push(['onLoad', (api) => {
// Executed when a push notification is displayed.
Pushwoosh.addEventHandler('receive-push', (payload) => {
console.log('Triggered event: receive-push', payload.notification);
});
}]);

सूचना इवेंट्स

Anchor link to

ट्रैक करें कि क्या कोई पुश सूचना उपयोगकर्ता द्वारा खोली या बंद की गई है।

Pushwoosh.push(['onLoad', (api) => {
// Executed when a user clicks on notification.
Pushwoosh.addEventHandler('open-notification', (payload) => {
console.log('Triggered event: open-notification', payload.notification);
});
// Executed when a user closes a push notification.
Pushwoosh.addEventHandler('hide-notification', (payload) => {
console.log('Triggered event: hide-notification', payload.notification);
});
}]);

इनबॉक्स इवेंट्स

Anchor link to

इनबॉक्स में भेजी गई सूचनाओं को ट्रैक करें।

Pushwoosh.push(['onLoad', (api) => {
// Executed by ServiceWorker after the Inbox Message is received and saved to indexedDB.
Pushwoosh.addEventHandler('receive-inbox-message', (payload) => {
console.log('Triggered event: receive-inbox-message', payload.message);
});
// Executed after the Inbox is updated automatically while the page is loading.
Pushwoosh.addEventHandler('update-inbox-messages', (payload) => {
console.log('Triggered event: receive-inbox-message', payload.messages);
});
}]);

कस्टम सब्सक्रिप्शन पॉपअप इवेंट्स

Anchor link to

कस्टम सब्सक्रिप्शन पॉपअप इवेंट्स को संभालने के बारे में विवरण के लिए, कृपया कस्टम सब्सक्रिप्शन पॉपअप इवेंट्स गाइड देखें।

वेब पॉपअप इवेंट्स

Anchor link to
Pushwoosh.push(['onLoad', (api) => {
// Executed once web popups have loaded and the automatic display pipeline has run for the current page
Pushwoosh.addEventHandler('web-popups-ready', () => {
console.log('Triggered event: web-popups-ready');
});
// Executed when a web popup is shown, automatically or via webPopups.show()
Pushwoosh.addEventHandler('show-web-popup', (payload) => {
console.log('Triggered event: show-web-popup', payload.code, payload.trigger); // trigger: 'auto' | 'api'
});
// Executed when a web popup is hidden
Pushwoosh.addEventHandler('hide-web-popup', (payload) => {
console.log('Triggered event: hide-web-popup', payload.code, payload.reason); // reason: 'user' | 'api' | 'preempted'
});
}]);

वेब पुश SDK के प्रारंभ होने के बाद, आप Pushwoosh API पर निम्नलिखित कॉल कर सकते हैं। सभी विधियाँ Promise ऑब्जेक्ट लौटाती हैं।

Pushwoosh.push((api) => {
// उपयोगकर्ता के लिए टैग सेट करें
api.setTags({
'Tag Name 1': 'value1',
'Tag Name 2': 'value2'
});
// सर्वर से उपयोगकर्ता के लिए टैग प्राप्त करें
api.getTags();
// उपयोगकर्ता आईडी पंजीकृत करें
api.registerUser('user123');
// उपयोगकर्ता ईमेल पंजीकृत करें
api.registerEmail('user@example.com');
// SMS नंबर पंजीकृत करें
api.registerSmsNumber('+15551234567');
// WhatsApp नंबर पंजीकृत करें
api.registerWhatsappNumber('+1234567890');
// एक इवेंट पोस्ट करें
api.postEvent('myEventName', {attributeName: 'attributeValue'});
// सूचनाओं से अपंजीकृत करें
api.unregisterDevice();
// डिवाइस की भाषा सेट करें ("भाषा" टैग में मान को ओवरराइड करता है)
api.setLanguage('es');
// वैकल्पिक रूप से उपकरणों और चैनलों के साथ उपयोगकर्ता को बहु-पंजीकृत करें
api.multiRegisterDevice({
user_id: 'user123',
email: 'user@example.com',
sms_phone_number: '+1234567890',
tags: {
'UserType': { operation: TTagOperationSet, value: 'Premium' },
'Interests': { operation: TTagOperationAppend, values: ['sports', 'technology'] }
}
});
});

multiRegisterDevice

Anchor link to

उन्नत पंजीकरण विधि जो एक ही API कॉल में कई उपकरणों और मैसेजिंग चैनलों के साथ एक उपयोगकर्ता प्रोफ़ाइल को पंजीकृत करने की अनुमति देती है। यह विधि विशेष रूप से क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों के लिए या ओमनीचैनल मैसेजिंग रणनीतियों को लागू करते समय उपयोगी है।

Pushwoosh.push((api) => {
api.multiRegisterDevice({
user_id: 'user123', // वैकल्पिक: उपयोगकर्ता पहचानकर्ता
email: 'user@example.com', // वैकल्पिक: ईमेल मैसेजिंग के लिए ईमेल
sms_phone_number: '+1234567890', // वैकल्पिक: SMS फ़ोन नंबर (E.164 प्रारूप)
whatsapp_phone_number: '+1234567890', // वैकल्पिक: WhatsApp नंबर (E.164 प्रारूप)
kakao_phone_number: '+1234567890', // वैकल्पिक: KakaoTalk नंबर (E.164 प्रारूप)
language: 'en', // वैकल्पिक: भाषा कोड (ISO 639-1)
timezone: 'America/New_York', // वैकल्पिक: समय क्षेत्र पहचानकर्ता
city: 'New York', // वैकल्पिक: लक्ष्यीकरण के लिए शहर
country: 'US', // वैकल्पिक: लक्ष्यीकरण के लिए देश
state: 'NY', // वैकल्पिक: लक्ष्यीकरण के लिए राज्य
tags: { // वैकल्पिक: संचालन के साथ टैग मान
'UserType': {
operation: TTagOperationSet, // टैग मान सेट करें (0)
value: 'Premium'
},
'Interests': {
operation: TTagOperationAppend, // टैग मान में जोड़ें (1)
values: ['sports', 'technology']
},
'LoginCount': {
operation: TTagOperationIncrement, // टैग मान बढ़ाएँ (3)
value: '1'
}
},
push_devices: [ // वैकल्पिक: पुश उपकरणों की सरणी
{
hwid: 'web-device-456',
platform: TPlatformChrome, // Chrome प्लेटफ़ॉर्म (11)
push_token: 'fcm-token-here',
app_version: '2.1.0',
platformData: {
public_key: 'web-push-public-key',
auth_token: 'web-push-auth-token',
browser: 'chrome'
}
}
]
})
.then((response) => {
console.log('Multi-registration successful:', response);
})
.catch((error) => {
console.error('Multi-registration failed:', error);
});
});

प्लेटफ़ॉर्म प्रकार:

  • TPlatformSafari (10): Safari प्लेटफ़ॉर्म। सफारी कॉन्फ़िगरेशन सेक्शन के बिना एप्लिकेशन Safari डिवाइसों को TPlatformChrome (11) के रूप में रजिस्टर करते हैं।
  • TPlatformChrome (11): Chrome प्लेटफ़ॉर्म
  • TPlatformFirefox (12): Firefox प्लेटफ़ॉर्म

टैग ऑपरेशन प्रकार:

  • TTagOperationSet (0): टैग मान सेट करें (मौजूदा मान को बदलें)
  • TTagOperationAppend (1): टैग मान में जोड़ें (सूची में जोड़ें)
  • TTagOperationRemove (2): टैग मान हटाएं (सूची से हटाएं)
  • TTagOperationIncrement (3): टैग मान बढ़ाएँ (संख्यात्मक वृद्धि)

लाभ:

  • एकल API कॉल: एक साथ कई डिवाइस और चैनल पंजीकृत करें
  • परमाणु संचालन: सभी पंजीकरण एक साथ सफल या विफल होते हैं
  • उपयोगकर्ता-केंद्रित: सभी उपकरणों को एक ही उपयोगकर्ता प्रोफ़ाइल से जोड़ता है
  • उन्नत टैगिंग: जटिल टैग संचालन का समर्थन करता है
  • क्रॉस-प्लेटफ़ॉर्म: एक साथ कई प्लेटफ़ॉर्म संभालें

Pushwoosh को टैग भेजने का उदाहरण:

Pushwoosh.push((api) => {
var myCustomTags = {
'Tag 1': 123,
'Tag 2': 'some string'
};
api.setTags(myCustomTags)
.then((res) => {
var skipped = res && res.skipped || [];
if (!skipped.length) {
console.log('success');
}
else {
console.warn('skipped tags:', skipped);
}
})
.catch((err) => {
console.error('setTags error:', err);
});
});

टैग मान बढ़ाएँ

Anchor link to

किसी नंबर टैग के मान को बढ़ाने के लिए, operation पैरामीटर का उपयोग ‘increment’ मान के साथ इस प्रकार करें:

Pushwoosh.push((api) => {
api.setTags({
'Tag 1': {
operation: 'increment',
value: 1
}
})
});

टैग मान जोड़ें

Anchor link to

मौजूदा सूची टैग में नए मान जोड़ने के लिए, operation पैरामीटर का उपयोग ‘append’ मान के साथ इस प्रकार करें:

Pushwoosh.push((api) => {
api.setTags({
'Tag 3': {
operation: 'append',
value: ['Value3']
}
})
});

टैग मान हटाएं

Anchor link to

किसी सूची टैग से मान हटाने के लिए, operation पैरामीटर का उपयोग ‘remove’ मान के साथ इस प्रकार करें:

Pushwoosh.push((api) =>{
api.setTags({
'Tag 3': {
operation: 'remove',
value: ['Value2']
}
})
});

सार्वजनिक विधियाँ

Anchor link to

Pushwoosh.subscribe()

इस विधि का उपयोग उपयोगकर्ता से पुश सूचनाओं के लिए अनुमति का अनुरोध करने के लिए किया जाता है। यदि कोई उपयोगकर्ता पहले से ही सब्सक्राइब है, तो विधि निष्पादित होना बंद कर देगी।

यदि किसी उपयोगकर्ता ने अभी तक पुश के लिए सदस्यता नहीं ली है:

1. पुश सूचनाओं के लिए अनुमति का अनुरोध किया जाता है।

2. यदि कोई उपयोगकर्ता सूचनाओं की अनुमति देता है, तो onSubscribe इवेंट ट्रिगर होता है।

यदि SDK प्रारंभ के दौरान autoSubscribe: true सेट है तो Pushwoosh.subscribe() स्वचालित रूप से निष्पादित होता है।

यदि आपने प्रारंभ के दौरान autoSubscribe: false पैरामीटर का उपयोग करके उपयोगकर्ता को पुश के लिए सदस्यता लेने के लिए मैन्युअल रूप से प्रेरित करने का विकल्प चुना है तो इस विधि को कॉल करें:

<button onclick="Pushwoosh.subscribe()">Subscribe</button>
<script>
Pushwoosh.push(['onSubscribe', (api) => {
console.log('User successfully subscribed');
}]);
</script>

Pushwoosh.unsubscribe()

  1. /unregisterDevice विधि निष्पादित होती है।
  2. onUnsubscribe इवेंट ट्रिगर होता है।
<button onclick="Pushwoosh.unsubscribe()">Unsubscribe</button>
<script type="text/javascript">
Pushwoosh.push(['onUnsubscribe', (api) => {
console.log('User successfully unsubscribed');
}]);
</script>

Pushwoosh.isSubscribed()

जांचता है कि क्या कोई उपयोगकर्ता सब्सक्राइब है और true/false फ्लैग लौटाता है।

Pushwoosh.isSubscribed().then((isSubscribed) => {
console.log('isSubscribed', isSubscribed);
});

Pushwoosh.getHWID()

Pushwoosh HWID लौटाता है।

Pushwoosh.getHWID().then((hwid) => {
console.log('hwid:', hwid);
});

Pushwoosh.getPushToken()

यदि उपलब्ध हो तो पुश टोकन लौटाता है।

Pushwoosh.getPushToken().then((pushToken) => {
console.log('pushToken:', pushToken);
});

Pushwoosh.getUserId()

यदि उपलब्ध हो तो उपयोगकर्ता आईडी लौटाता है।

Pushwoosh.getUserId().then((userId) => {
console.log('userId:', userId);
});

Pushwoosh.getParams()

निम्नलिखित मापदंडों की एक सूची लौटाता है:

Pushwoosh.getParams().then((params) => {
params = params || {};
var hwid = params.hwid;
var pushToken = params.pushToken;
var userId = params.userId;
});

Pushwoosh.isAvailableNotifications()

जांचता है कि क्या कोई ब्राउज़र Pushwoosh WebSDK 3.0 का समर्थन करता है, ‘true’ या ‘false’ लौटाता है।

Pushwoosh.isAvailableNotifications() // true/false

इनबॉक्स संदेश विधियाँ

Anchor link to

messagesWithNoActionPerformedCount(): Promise<number>

खोले गए संदेशों की संख्या लौटाता है।

Pushwoosh.pwinbox.messagesWithNoActionPerformedCount()
.then((count) => {
console.log(`${count} messages opened`);
});

unreadMessagesCount()

अपठित संदेशों की संख्या लौटाता है।

Pushwoosh.pwinbox.unreadMessagesCount()
.then((count) => {
console.log(`${count} messages unread`);
});

messagesCount(): Promise<number>

संदेशों की कुल संख्या लौटाता है।

Pushwoosh.pwinbox.messagesCount()
.then((count) => {
console.log(`${count} messages`);
});

loadMessages(): Promise<Array>

न हटाए गए संदेशों की सूची लोड करता है।

Pushwoosh.pwinbox.loadMessages()
.then(() => {
console.log('Messages have been loaded');
});

readMessagesWithCodes(codes: Array<string>): Promise<void>

Inbox_Ids द्वारा संदेशों को पढ़ा हुआ चिह्नित करता है।

Pushwoosh.pwinbox.readMessagesWithCodes(codes)
.then(() => {
console.log('Messages have been read');
});

performActionForMessageWithCode(code: string): Promise<void>

किसी संदेश को सौंपी गई कार्रवाई करता है और संदेश को पढ़ा हुआ चिह्नित करता है।

Pushwoosh.pwinbox.performActionForMessageWithCode(code)
.then(() => {
console.log('Action has been performed');
});

deleteMessagesWithCodes(codes: Array<string>): Promise<void>

संदेशों को हटाए गए के रूप में चिह्नित करता है।

Pushwoosh.pwinbox.deleteMessagesWithCodes([code])
.then(() => {
console.log('Messages have been deleted');
});

syncMessages(): Promise<void>

सर्वर के साथ संदेशों को सिंक्रनाइज़ करता है।

Pushwoosh.pwinbox.syncMessages()
.then(() => {
console.log('Messages have been synchronized');
});

वेबपॉपअप विधियाँ

Anchor link to

प्रोग्रामेटिक वेब पॉपअप API जब भी विजेट लोड होता है, उपलब्ध होता है, जो डिफ़ॉल्ट है (ऊपर देखें)। web-popups-ready इवेंट फायर होने के बाद इसे Pushwoosh.moduleRegistry.webPopups के माध्यम से एक्सेस करें।

show(code: string): Promise<boolean>

एक पॉपअप तुरंत दिखाता है, हर प्रदर्शन शर्त (देरी, पेज नियम, डिवाइस/आगंतुक प्रकार, आवृत्ति कैपिंग, ट्रिगर प्रकार) को दरकिनार करते हुए। जगह बनाने के लिए पहले से दिखाई देने वाले पॉपअप को बंद कर देता है। जब पॉपअप नहीं दिखाया जा सकता है तो अस्वीकार करने के बजाय false हल करता है।

Pushwoosh.moduleRegistry.webPopups.show('popup_code')
.then((shown) => console.log('Popup shown:', shown));

hide(code?: string): boolean

दिखाई देने वाले पॉपअप को छिपाता है। यदि code पास किया जाता है, तो केवल तभी छिपाता है जब यह दिखाई देने वाले पॉपअप से मेल खाता है। यदि कुछ भी नहीं छिपाया गया था तो false लौटाता है।

Pushwoosh.moduleRegistry.webPopups.hide();

hideAll(): boolean

दिखाई देने वाले पॉपअप को छिपाता है और वर्तमान पेज लोड के लिए अभी भी लंबित सब कुछ खारिज कर देता है। show() बाद में काम करता रहता है।

Pushwoosh.moduleRegistry.webPopups.hideAll();

isVisible(code?: string): boolean

जांचता है कि क्या कोई पॉपअप वर्तमान में दिखाई दे रहा है। code के बिना, जांचता है कि क्या कोई पॉपअप दिखाई दे रहा है।

Pushwoosh.moduleRegistry.webPopups.isVisible('popup_code');

getVisibleCode(): string | null

वर्तमान में स्क्रीन पर मौजूद पॉपअप का कोड लौटाता है, या यदि कोई भी दिखाई नहीं दे रहा है तो null लौटाता है।

Pushwoosh.moduleRegistry.webPopups.getVisibleCode();

getAvailableCodes(): Array<string>

इस डिवाइस के लिए सर्वर द्वारा लौटाए गए प्रत्येक पॉपअप के कोड लौटाता है।

Pushwoosh.moduleRegistry.webPopups.getAvailableCodes();

getState(): object

वेब पॉपअप की स्थिति का एक स्नैपशॉट लौटाता है: visible (स्क्रीन पर कोड, या null), queued (डिस्प्ले स्लॉट की प्रतीक्षा कर रहे कोड), waiting (सशस्त्र विलंब टाइमर वाले कोड), और available (सर्वर द्वारा लौटाया गया हर कोड)।

Pushwoosh.moduleRegistry.webPopups.getState();

प्रोग्रेसिव वेब ऐप समर्थन

Anchor link to

Pushwoosh को अपने प्रोग्रेसिव वेब एप्लिकेशन (PWA) में एकीकृत करने के लिए, नीचे वर्णित चरणों का पालन करें।

1. अपनी सर्विस वर्कर फ़ाइल का पथ कॉपी करें:

if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js') // <- your service worker url
});
}

फिर, WebSDK को प्रारंभ करते समय serviceWorkerUrl पैरामीटर का उपयोग इस प्रकार करें:

var Pushwoosh = Pushwoosh || [];
Pushwoosh.push(['init', {
logLevel: 'error',
applicationCode: 'XXXXX-XXXXX',
safariWebsitePushID: 'web.com.example.domain',
defaultNotificationTitle: 'Pushwoosh',
defaultNotificationImage: 'https://yoursite.com/img/logo-medium.png',
serviceWorkerUrl: '/service-worker.js', // <- your service worker url
}]);

WebSDK नए सर्विस वर्कर को तुरंत पंजीकृत नहीं करता है; एक सर्विस वर्कर तब पंजीकृत होता है जब इसकी आवश्यकता होती है:

  • जब कोई डिवाइस पुश टोकन प्राप्त करता है (डिवाइस पंजीकरण या पुनः सदस्यता पर),
  • जब कोई पुश टोकन हटा दिया जाता है (उपयोगकर्ता आधार से डिवाइस हटाने पर)।

यह सर्वर अनुरोधों की संख्या को कम करके आपके पृष्ठों की लोडिंग को गति देता है।

ब्राउज़र एक ही समय में दो अलग-अलग सर्विस वर्करों को पंजीकृत करने की अनुमति नहीं देते हैं (और पढ़ें: https://github.com/w3c/ServiceWorker/issues/921), इसलिए आपके PWA को सही ढंग से काम करने के लिए, आपके कोडबेस और Pushwoosh कोडबेस के लिए एक सामान्य सर्विस वर्कर पंजीकृत होना चाहिए।

2. अपने सर्विस वर्कर में निम्नलिखित स्ट्रिंग जोड़ें (शुरुआत में या अंत में, इससे कोई फर्क नहीं पड़ता):

importScripts('https://cdn.pushwoosh.com/webpush/v3/pushwoosh-service-worker.js' + self.location.search);

इस प्रकार आप अपने सर्विस वर्कर के लिए Pushwoosh सेवाओं के माध्यम से भेजी गई पुश सूचनाओं को प्राप्त करने और संसाधित करने में सक्षम बनाते हैं।

Google Tag Manager से इंस्टॉल करना

Anchor link to

Pushwoosh SDK को प्रारंभ करने के लिए अपने Google Tag Manager में निम्नलिखित कोड का उपयोग करें। एक कस्टम HTML टैग बनाएं और नीचे दिए गए कोड को पेस्ट करें। सुनिश्चित करें कि आप अपना Pushwoosh एप्लिकेशन कोड, Safari वेबसाइट आईडी, और डिफ़ॉल्ट सूचना छवि URL बदल दें।
इसके अलावा उच्च टैग फायरिंग प्राथमिकता (उदा: 100) सेट करें और इसे सभी पृष्ठों पर ट्रिगर करें। स्क्रीनशॉट के लिए नीचे देखें। कॉपी करें

<script type="text/javascript" src="//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js" async></script>
<script type="text/javascript">
var Pushwoosh = Pushwoosh || [];
Pushwoosh.push(['init', {
logLevel: 'error',
applicationCode: 'XXXXX-XXXXX',
safariWebsitePushID: 'web.com.example.domain',
defaultNotificationTitle: 'Pushwoosh',
defaultNotificationImage: 'https://yoursite.com/img/logo-medium.png',
autoSubscribe: true,
subscribeWidget: {
enable: false
},
userId: 'user_id'
}]);
</script>