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

Cordova SDK বেসিক ইন্টিগ্রেশন গাইড

এই বিভাগে আপনার অ্যাপ্লিকেশনে Pushwoosh Cordova SDK কীভাবে ইন্টিগ্রেট করতে হয় সে সম্পর্কে তথ্য রয়েছে।

পূর্বশর্ত

Anchor link to

আপনার অ্যাপে Pushwoosh Cordova SDK ইন্টিগ্রেট করার জন্য, আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:

ইন্টিগ্রেশন ধাপ

Anchor link to

১. Pushwoosh Cordova SDK ডিপেন্ডেন্সি যোগ করুন

Anchor link to

আপনার প্রজেক্টে Pushwoosh Cordova SDK ডিপেন্ডেন্সি যোগ করুন:

Terminal window
cordova plugin add pushwoosh-cordova-plugin

২. Cordova SDK ইনিশিয়ালাইজেশন

Anchor link to

আপনার index.js ফাইলের রুট কম্পোনেন্টে, deviceready ইভেন্ট হ্যান্ডলারের ভিতরে নিম্নলিখিত কোডটি যোগ করুন। ধাপগুলি সঠিক ক্রমে অনুসরণ করুন:

index.js
document.addEventListener('deviceready', function() {
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
// ১. ইনিশিয়ালাইজেশনের আগে নোটিফিকেশন কলব্যাক রেজিস্টার করুন
document.addEventListener('push-receive', function(event) {
var notification = event.notification;
console.log("Push received: " + JSON.stringify(notification));
});
document.addEventListener('push-notification', function(event) {
var notification = event.notification;
console.log("Push opened: " + JSON.stringify(notification));
});
// ২. Pushwoosh ইনিশিয়ালাইজ করুন
pushwoosh.onDeviceReady({
appid: "__YOUR_APP_ID__",
projectid: "__YOUR_FCM_SENDER_ID__"
});
// ৩. পুশ নোটিফিকেশন পাওয়ার জন্য ডিভাইস রেজিস্টার করুন
pushwoosh.registerDevice(
function(status) {
var pushToken = status.pushToken;
// সফল রেজিস্ট্রেশন হ্যান্ডেল করুন
},
function(status) {
// রেজিস্ট্রেশন ত্রুটি হ্যান্ডেল করুন
}
);
}, false);

যেখানে:

  • __YOUR_APP_ID__ হল Pushwoosh কন্ট্রোল প্যানেল থেকে অ্যাপ্লিকেশন কোড।
  • __YOUR_FCM_SENDER_ID__ হল Firebase কনসোল থেকে Firebase প্রজেক্ট নম্বর।

৩. iOS নেটিভ সেটআপ

Anchor link to

৩.১ Capabilities

Anchor link to

আপনার প্রজেক্টে পুশ নোটিফিকেশন সক্রিয় করতে, আপনাকে নির্দিষ্ট কিছু capabilities যোগ করতে হবে।

Signing & Capabilities বিভাগে, নিম্নলিখিত capabilities যোগ করুন:

  • Push Notifications
  • Background Modes। এই capability যোগ করার পরে, Remote notifications-এর জন্য বক্সটি চেক করুন।

আপনি যদি টাইম সেনসিটিভ নোটিফিকেশন (iOS 15+) ব্যবহার করতে চান, তাহলে Time Sensitive Notifications capability-টিও যোগ করুন।

৩.২ 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>

৩.৩ মেসেজ ডেলিভারি ট্র্যাকিং

Anchor link to

আপনাকে অবশ্যই আপনার প্রজেক্টে একটি Notification Service Extension টার্গেট যোগ করতে হবে। এটি সঠিক ডেলিভারি ট্র্যাকিং এবং iOS-এ রিচ মিডিয়ার মতো বৈশিষ্ট্যগুলির জন্য অপরিহার্য।

এক্সটেনশন টার্গেট এবং এর মধ্যে প্রয়োজনীয় Pushwoosh কোড যোগ করতে নেটিভ গাইডের ধাপগুলি অনুসরণ করুন।

৪. Android নেটিভ সেটআপ

Anchor link to

৪.১ ডিপেন্ডেন্সি ইনস্টল করুন

Anchor link to

নিশ্চিত করুন যে প্রয়োজনীয় ডিপেন্ডেন্সি এবং প্লাগইনগুলি আপনার Gradle স্ক্রিপ্টে যোগ করা হয়েছে:

আপনার প্রজেক্ট-স্তরের build.gradle ডিপেন্ডেন্সিতে Google Services 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'

৪.২ Firebase কনফিগারেশন ফাইল যোগ করুন

Anchor link to

আপনার প্রজেক্ট ডিরেক্টরিতে android/app ফোল্ডারের মধ্যে google-services.json ফাইলটি রাখুন।

৪.৩ 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 কন্ট্রোল প্যানেলে সঠিক অ্যাপে টোকেনটিকে অ্যাক্সেস দিতে ভুলবেন না। আরও জানুন

৫. প্রজেক্টটি চালান

Anchor link to
  1. প্রজেক্টটি বিল্ড করুন এবং চালান।
  2. Pushwoosh কন্ট্রোল প্যানেলে যান এবং একটি পুশ নোটিফিকেশন পাঠান
  3. আপনার অ্যাপে নোটিফিকেশনটি দেখতে পাওয়া উচিত।

বর্ধিত ইন্টিগ্রেশন

Anchor link to

এই পর্যায়ে, আপনি ইতিমধ্যে SDK ইন্টিগ্রেট করেছেন এবং পুশ নোটিফিকেশন পাঠাতে ও গ্রহণ করতে পারেন। এখন, আসুন মূল কার্যকারিতা অন্বেষণ করি

পুশ নোটিফিকেশন ইভেন্ট লিসেনার

Anchor link to

Pushwoosh SDK-তে দুটি ইভেন্ট লিসেনার রয়েছে, যা পুশ নোটিফিকেশন হ্যান্ডেল করার জন্য ডিজাইন করা হয়েছে:

  • push-receive ইভেন্টটি ট্রিগার হয় যখন অ্যাপটি ফোরগ্রাউন্ডে থাকা অবস্থায় একটি পুশ নোটিফিকেশন পাওয়া যায়
  • push-notification ইভেন্টটি ট্রিগার হয় যখন একজন ব্যবহারকারী একটি নোটিফিকেশন খোলেন

এই ইভেন্ট লিসেনারগুলি অবশ্যই onDeviceReady() কল করার আগে রেজিস্টার করতে হবে, যেমনটি উপরের ইনিশিয়ালাইজেশন ধাপে দেখানো হয়েছে। আপনি আপনার প্রয়োজন অনুযায়ী হ্যান্ডলার লজিক কাস্টমাইজ করতে পারেন:

index.js
// onDeviceReady()-এর আগে রেজিস্টার করুন
document.addEventListener('push-receive', function(event) {
var message = event.notification.message;
var payload = event.notification.userdata;
console.log("Push received: " + message);
// এখানে আপনার কাস্টম লজিক যোগ করুন
});
document.addEventListener('push-notification', function(event) {
var message = event.notification.message;
var payload = event.notification.userdata;
console.log("Push accepted: " + message);
// এখানে আপনার কাস্টম লজিক যোগ করুন (যেমন, একটি নির্দিষ্ট স্ক্রিনে নেভিগেট করুন)
});

ব্যবহারকারী কনফিগারেশন

Anchor link to

স্বতন্ত্র ব্যবহারকারীর আচরণ এবং পছন্দের উপর ফোকাস করে, আপনি ব্যক্তিগতকৃত সামগ্রী সরবরাহ করতে পারেন, যা ব্যবহারকারীর সন্তুষ্টি এবং আনুগত্য বৃদ্ধি করে

class Registration {
afterUserLogin(user) {
// ব্যবহারকারী আইডি সেট করুন
pushwoosh.setUserId(user.getId());
// Pushwoosh-এর জন্য ট্যাগ হিসাবে অতিরিক্ত ব্যবহারকারীর তথ্য সেট করা হচ্ছে
pushwoosh.setTags({
"age": user.getAge(),
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
}

ট্যাগ

Anchor link to

ট্যাগ হল ব্যবহারকারী বা ডিভাইসে নির্ধারিত কী-ভ্যালু পেয়ার, যা পছন্দ বা আচরণের মতো অ্যাট্রিবিউটের উপর ভিত্তি করে সেগমেন্টেশন করতে দেয়, ফলে টার্গেটেড মেসেজিং সক্ষম হয়।

class UpdateUser {
afterUserUpdateProfile(user) {
// প্রিয় ক্যাটাগরির তালিকা সেট করুন
pushwoosh.setTags({
"favorite_categories": user.getFavoriteCategoriesList()
});
// পেমেন্ট তথ্য সেট করুন
pushwoosh.setTags({
"is_subscribed": user.isSubscribed(),
"payment_status": user.getPaymentStatus(),
"billing_address": user.getBillingAddress()
});
}
}

ইভেন্টস

Anchor link to

ইভেন্টস হল অ্যাপের মধ্যে নির্দিষ্ট ব্যবহারকারীর ক্রিয়া বা ঘটনা যা আচরণ বিশ্লেষণ করতে এবং সংশ্লিষ্ট বার্তা বা ক্রিয়া ট্রিগার করতে ট্র্যাক করা যেতে পারে

class Registration {
// লগইন ইভেন্ট ট্র্যাক করুন
afterUserLogin(user) {
pushwoosh.postEvent("login", {
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
// ক্রয় ইভেন্ট ট্র্যাক করুন
afterUserPurchase(product) {
pushwoosh.postEvent("purchase", {
"product_id": product.getId(),
"product_name": product.getName(),
"price": product.getPrice(),
"quantity": product.getQuantity()
});
}
}

সমস্যা সমাধান

Anchor link to

ইন্টিগ্রেশন প্রক্রিয়ার সময় আপনি যদি কোনো সমস্যার সম্মুখীন হন, অনুগ্রহ করে সাপোর্ট এবং কমিউনিটি বিভাগটি দেখুন।