বিষয়বস্তুতে যান

ওয়েব পুশ 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', // possible values: error, info, debug
applicationCode: 'XXXXX-XXXXX', // you application code from Pushwoosh Control Panel
apiToken: 'XXXXXXX', // Device API Token
safariWebsitePushID: 'web.com.example.domain', // unique reverse-domain string, obtained in you Apple Developer Portal. Only needed if you send push notifications to Safari browser
defaultNotificationTitle: 'Pushwoosh', // sets a default title for push notifications
defaultNotificationImage: 'https://yoursite.com/img/logo-medium.png', // URL to custom custom notification image
autoSubscribe: false, // or true. If true, prompts a user to subscribe for pushes upon SDK initialization
subscribeWidget: {
enable: true
},
userId: 'user_id', // optional, set custom user ID
tags: {
'Name': 'John Smith' // optional, set custom Tags
}
}]);
</script>

কনফিগারেশন

Anchor link to

আপনার ওয়েবসাইটে পুশ নোটিফিকেশন প্রয়োগ করা শেষ করতে, আপনাকে আমাদের ধাপে ধাপে নির্দেশিকা অনুসরণ করে আপনার Pushwoosh কন্ট্রোল প্যানেলে ওয়েব প্ল্যাটফর্মগুলি কনফিগার করতে হবে:

একটি ভিন্ন স্কোপে সার্ভিস ওয়ার্কার রেজিস্টার করা

Anchor link to

কখনও কখনও আপনি সার্ভিস ওয়ার্কার ফাইলটি ওয়েবসাইটের রুট ডিরেক্টরিতে না রেখে একটি সাবডিরেক্টরিতে রাখতে পারেন।

এই ক্ষেত্রে, একটি প্যারামিটার যোগ করে কনফিগারেশনটি পরিবর্তন করুন (ধাপ ৪.৩):

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

কাস্টম সাবস্ক্রিপশন পপআপ ইভেন্ট হ্যান্ডলিং সম্পর্কে বিস্তারিত জানতে, অনুগ্রহ করে কাস্টম সাবস্ক্রিপশন পপআপ ইভেন্টস গাইড দেখুন।

ওয়েব পুশ SDK ইনিশিয়ালাইজ হওয়ার পরে, আপনি Pushwoosh API-তে নিম্নলিখিত কলগুলি করতে পারেন। সমস্ত মেথড Promise অবজেক্ট রিটার্ন করে।

Pushwoosh.push((api) => {
// Set tags for a user
api.setTags({
'Tag Name 1': 'value1',
'Tag Name 2': 'value2'
});
// Get tags for a user from server
api.getTags();
// Register user ID
api.registerUser('user123');
// Register user email
api.registerEmail('user@example.com');
// Register SMS number
api.registerSmsNumber('+15551234567');
// Register WhatsApp number
api.registerWhatsappNumber('+1234567890');
// Post an Event
api.postEvent('myEventName', {attributeName: 'attributeValue'});
//Unregister from notifications
api.unregisterDevice();
// Alternatively Multi-register user with devices and channels
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', // Optional: User identifier
email: 'user@example.com', // Optional: Email for email messaging
sms_phone_number: '+1234567890', // Optional: SMS phone number (E.164 format)
whatsapp_phone_number: '+1234567890', // Optional: WhatsApp number (E.164 format)
kakao_phone_number: '+1234567890', // Optional: KakaoTalk number (E.164 format)
language: 'en', // Optional: Language code (ISO 639-1)
timezone: 'America/New_York', // Optional: Timezone identifier
city: 'New York', // Optional: City for targeting
country: 'US', // Optional: Country for targeting
state: 'NY', // Optional: State for targeting
tags: { // Optional: Tag values with operations
'UserType': {
operation: TTagOperationSet, // Set tag value (0)
value: 'Premium'
},
'Interests': {
operation: TTagOperationAppend, // Append to tag value (1)
values: ['sports', 'technology']
},
'LoginCount': {
operation: TTagOperationIncrement, // Increment tag value (3)
value: '1'
}
},
push_devices: [ // Optional: Array of push devices
{
hwid: 'web-device-456',
platform: TPlatformChrome, // Chrome platform (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 প্ল্যাটফর্ম
  • 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()

এই মেথডটি ব্যবহারকারীর কাছ থেকে পুশ নোটিফিকেশনের জন্য অনুমতি চাইতে ব্যবহৃত হয়। যদি একজন ব্যবহারকারী ইতিমধ্যে সাবস্ক্রাইব করা থাকে, তবে মেথডটি কার্যকর হওয়া বন্ধ করে দেবে।

যদি একজন ব্যবহারকারী এখনও পুশগুলির জন্য সাবস্ক্রাইব না করে থাকেন:

১. পুশ নোটিফিকেশনের জন্য অনুমতি চাওয়া হয়।

২. যদি একজন ব্যবহারকারী নোটিফিকেশনের অনুমতি দেন, 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

আপনার প্রগ্রেসিভ ওয়েব অ্যাপ্লিকেশনে (PWA) Pushwoosh ইন্টিগ্রেট করতে, নীচে বর্ণিত পদক্ষেপগুলি অনুসরণ করুন।

. আপনার সার্ভিস ওয়ার্কার ফাইলের পাথ কপি করুন:

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 কোডবেসের জন্য একটি সাধারণ সার্ভিস ওয়ার্কার রেজিস্টার করা উচিত।

. আপনার সার্ভিস ওয়ার্কারে নিম্নলিখিত স্ট্রিংটি যোগ করুন (শুরুতে বা শেষে, এটি কোনো ব্যাপার না):

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 পরিবর্তন করতে ভুলবেন না।
এছাড়াও উচ্চ ট্যাগ ফায়ারিং অগ্রাধিকার সেট করুন (যেমন: ১০০) এবং এটি সমস্ত পৃষ্ঠা-তে ট্রিগার করুন। একটি স্ক্রিনশটের জন্য নীচে দেখুন।

<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>