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

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 ফাইলের রুট কম্পোনেন্টে:

  • Pushwoosh SDK ইনিশিয়ালাইজ করুন।
  • পুশ নোটিফিকেশনের জন্য রেজিস্টার করতে আপনার ইনিশিয়ালাইজেশন লজিকে registerDevice() কল করুন।
index.js
function onDeviceReady() {
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
pushwoosh.onDeviceReady({
appid: "__YOUR_APP_ID__",
projectid: "__YOUR_FCM_SENDER_ID__"
});
pushwoosh.registerDevice(
function(status) {
var pushToken = status.pushToken;
// সফল রেজিস্ট্রেশন হ্যান্ডেল করুন
},
function(status) {
// রেজিস্ট্রেশন ত্রুটি হ্যান্ডেল করুন
}
);

যেখানে:

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

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

Anchor link to

৩.১ ক্যাপাবিলিটিজ

Anchor link to

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

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

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

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

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

১. প্রজেক্টটি বিল্ড এবং রান করুন। ২. Pushwoosh কন্ট্রোল প্যানেলে যান এবং একটি পুশ নোটিফিকেশন পাঠান। ৩. আপনি অ্যাপে নোটিফিকেশনটি দেখতে পাবেন।

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

Anchor link to

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

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

Anchor link to

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

  • onPushReceived ইভেন্টটি ট্রিগার হয়, যখন একটি পুশ নোটিফিকেশন পাওয়া যায়
  • onPushAccepted ইভেন্টটি ট্রিগার হয়, যখন একজন ব্যবহারকারী একটি নোটিফিকেশন খোলেন

অ্যাপ্লিকেশন শুরু হওয়ার সময় SDK-এর ইনিশিয়ালাইজেশনের ঠিক পরেই আপনার এই ইভেন্ট লিসেনারগুলি সেট আপ করা উচিত:

index.js
class PushwooshNotificationHandler {
setupPushListeners() {
document.addEventListener('push-receive',
function(event) {
console.log("Push received: " + event.notification.message);
}
);
document.addEventListener('push-notification',
function(event) {
console.log("Push accepted: " + event.notification.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

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