Capacitor SDK বেসিক ইন্টিগ্রেশন গাইড
এই বিভাগে আপনার অ্যাপ্লিকেশনে Pushwoosh Capacitor SDK কীভাবে ইন্টিগ্রেট করবেন সে সম্পর্কে তথ্য রয়েছে।
পূর্বশর্ত
Anchor link toআপনার অ্যাপে Pushwoosh Capacitor SDK ইন্টিগ্রেট করার জন্য, আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:
ইন্টিগ্রেশন ধাপ
Anchor link to১. Pushwoosh Capacitor SDK ডিপেন্ডেন্সি যোগ করুন
Anchor link toআপনার প্রজেক্টে Pushwoosh Capacitor SDK ডিপেন্ডেন্সি যোগ করুন:
npm install pushwoosh-capacitor-pluginCapacitor কনফিগারেশন সিঙ্ক করুন:
npx cap sync২. Capacitor SDK ইনিশিয়ালাইজেশন
Anchor link toআপনার প্রধান JavaScript ফাইলে, Pushwoosh SDK ইম্পোর্ট এবং ইনিশিয়ালাইজ করুন:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Initialize the SDKPushwoosh.onDeviceReady({ appid: "__YOUR_APP_CODE__", projectid: "__YOUR_FCM_SENDER_ID__"});
// Register for push notificationsPushwoosh.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 প্রজেক্ট নম্বর।
৩. iOS নেটিভ সেটআপ
Anchor link to৩.১ ক্যাপাবিলিটিজ
Anchor link toআপনার প্রজেক্টে পুশ নোটিফিকেশন সক্রিয় করতে, আপনাকে কিছু ক্যাপাবিলিটিজ যোগ করতে হবে।
Signing & Capabilities বিভাগে, নিম্নলিখিত ক্যাপাবিলিটিজ যোগ করুন:
Push NotificationsBackground Modes। এই ক্যাপাবিলিটি যোগ করার পরে,Remote notifications-এর জন্য বক্সটি চেক করুন।
আপনি যদি টাইম সেনসিটিভ নোটিফিকেশন (iOS 15+) ব্যবহার করতে চান, তাহলে Time Sensitive Notifications ক্যাপাবিলিটিটিও যোগ করুন।
৩.২ Info.plist
Anchor link toআপনার Runner/Info.plist-এ __PUSHWOOSH_DEVICE_API_TOKEN__ কী-কে Pushwoosh ডিভাইস API টোকেন-এ সেট করুন:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>৩.৩ মেসেজ ডেলিভারি ট্র্যাকিং
Anchor link toআপনাকে অবশ্যই আপনার প্রজেক্টে একটি নোটিফিকেশন সার্ভিস এক্সটেনশন টার্গেট যোগ করতে হবে। এটি সঠিক ডেলিভারি ট্র্যাকিং এবং iOS-এ রিচ মিডিয়ার মতো বৈশিষ্ট্যগুলির জন্য অপরিহার্য।
এক্সটেনশন টার্গেট এবং এর মধ্যে প্রয়োজনীয় Pushwoosh কোড যোগ করতে নেটিভ গাইডের ধাপগুলি অনুসরণ করুন।
৪. Android নেটিভ সেটআপ
Anchor link to৪.১ ডিপেন্ডেন্সি ইনস্টল করুন
Anchor link toনিশ্চিত করুন যে প্রয়োজনীয় ডিপেন্ডেন্সি এবং প্লাগইনগুলি আপনার Gradle স্ক্রিপ্টে যোগ করা হয়েছে:
আপনার প্রজেক্ট-স্তরের build.gradle ডিপেন্ডেন্সিতে Google Services Gradle প্লাগইন যোগ করুন:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}আপনার অ্যাপ-স্তরের 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 টোকেন যোগ করুন:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />গুরুত্বপূর্ণ: আপনার Pushwoosh কন্ট্রোল প্যানেলে টোকেনটিকে সঠিক অ্যাপে অ্যাক্সেস দিতে ভুলবেন না। আরও জানুন
৫. প্রজেক্টটি চালান
Anchor link to১. প্রজেক্টটি বিল্ড করুন এবং চালান। ২. Pushwoosh কন্ট্রোল প্যানেলে যান এবং একটি পুশ নোটিফিকেশন পাঠান। ৩. আপনার অ্যাপে নোটিফিকেশনটি দেখতে পাওয়া উচিত।
বর্ধিত ইন্টিগ্রেশন
Anchor link toএই পর্যায়ে, আপনি ইতিমধ্যে SDK ইন্টিগ্রেট করেছেন এবং পুশ নোটিফিকেশন পাঠাতে ও গ্রহণ করতে পারেন। এখন, চলুন মূল কার্যকারিতা অন্বেষণ করা যাক।
পুশ নোটিফিকেশন ইভেন্ট লিসেনার
Anchor link toPushwoosh Capacitor SDK-তে পুশ নোটিফিকেশন পরিচালনা করার জন্য দুটি কলব্যাক পদ্ধতি রয়েছে:
pushReceivedCallbackট্রিগার হয় যখন একটি পুশ নোটিফিকেশন পাওয়া যায়pushOpenedCallbackট্রিগার হয় যখন একজন ব্যবহারকারী একটি নোটিফিকেশন খোলেন
SDK-এর ইনিশিয়ালাইজেশনের ঠিক পরেই আপনার এই কলব্যাকগুলি সেট আপ করা উচিত:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Set up push received callbackawait 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 callbackawait 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() }); }}ট্যাগ
Anchor link toট্যাগ হল ব্যবহারকারী বা ডিভাইসে নির্ধারিত কী-ভ্যালু পেয়ার, যা পছন্দ বা আচরণের মতো অ্যাট্রিবিউটের উপর ভিত্তি করে সেগমেন্টেশন করতে দেয়, যা টার্গেটেড মেসেজিং সক্ষম করে।
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ইন্টিগ্রেশন প্রক্রিয়ার সময় আপনি যদি কোনো সমস্যার সম্মুখীন হন, তাহলে অনুগ্রহ করে সাপোর্ট এবং কমিউনিটি বিভাগটি দেখুন।