Unity SDK বেসিক ইন্টিগ্রেশন গাইড
এই বিভাগে আপনার অ্যাপ্লিকেশনে Pushwoosh Unity SDK কীভাবে ইন্টিগ্রেট করতে হয় সে সম্পর্কে তথ্য রয়েছে।
পূর্বশর্ত
Anchor link toআপনার অ্যাপে Pushwoosh Unity SDK ইন্টিগ্রেট করার জন্য, আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:
ইন্টিগ্রেশন ধাপ
Anchor link to১. Pushwoosh Unity SDK ডিপেন্ডেন্সি যোগ করুন
Anchor link toUnity-তে আপনার Assets ফোল্ডারে Unity পুশ নোটিফিকেশন প্লাগইন ইম্পোর্ট করুন।
২. Unity SDK ইনিশিয়ালাইজেশন
Anchor link toPushNotificator.cs স্ক্রিপ্ট তৈরি করুন এবং এটিকে দৃশ্যের Camera Object-এর সাথে সংযুক্ত করুন।
স্ক্রিপ্টে:
- অ্যাপ্লিকেশন কোড এবং Firebase প্রজেক্ট নম্বর দিয়ে Pushwoosh SDK ইনিশিয়ালাইজ করুন।
- পুশ নোটিফিকেশনের জন্য রেজিস্টার করতে আপনার ইনিশিয়ালাইজেশন লজিকে
RegisterForPushNotifications()কল করুন। - পুশ রেজিস্ট্রেশন ইভেন্টগুলি পরিচালনা করতে রেজিস্ট্রেশন ইভেন্ট হ্যান্ডলার যোগ করুন:
using UnityEngine;using UnityEngine.UI;
public class PushNotificator : MonoBehaviour { void Start () { Pushwoosh.ApplicationCode = "__YOUR_APP_ID__"; Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__"; Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications; Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications; Pushwoosh.Instance.RegisterForPushNotifications(); }
void OnRegisteredForPushNotifications(string token) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received token: \n{0}", token); }
void OnFailedToRegisteredForPushNotifications(string error) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Error ocurred while registering to push notifications: \n{0}", error); }}যেখানে:
__YOUR_APP_ID__হল Pushwoosh কন্ট্রোল প্যানেল থেকে অ্যাপ্লিকেশন কোড।__YOUR_FCM_SENDER_ID__হল Firebase কনসোল থেকে Firebase প্রজেক্ট নম্বর।
৩. iOS নেটিভ সেটআপ
Anchor link to৩.১ Capabilities
Anchor link toআপনার প্রজেক্টে পুশ নোটিফিকেশন সক্রিয় করতে, আপনাকে নির্দিষ্ট কিছু capabilities যোগ করতে হবে।
Signing & Capabilities বিভাগে, নিম্নলিখিত capabilities যোগ করুন:
Push NotificationsBackground Modes। এই capability যোগ করার পরে,Remote notifications-এর জন্য বক্সটি চেক করুন।
আপনি যদি Time Sensitive Notifications (iOS 15+) ব্যবহার করতে চান, তাহলে Time Sensitive Notifications capability-টিও যোগ করুন।
৩.২ Info.plist
Anchor link toআপনার Runner/Info.plist-এ __PUSHWOOSH_DEVICE_API_TOKEN__ কী-কে Pushwoosh Device API টোকেন-এ সেট করুন:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>৩.৩ মেসেজ ডেলিভারি ট্র্যাকিং
Anchor link toআপনাকে অবশ্যই আপনার প্রজেক্টে একটি Notification Service Extension টার্গেট যোগ করতে হবে। এটি সঠিক ডেলিভারি ট্র্যাকিং এবং iOS-এ Rich Media-এর মতো বৈশিষ্ট্যগুলির জন্য অপরিহার্য।
এক্সটেনশন টার্গেট এবং এর মধ্যে প্রয়োজনীয় Pushwoosh কোড যোগ করতে নেটিভ গাইডের ধাপগুলি অনুসরণ করুন।
৪. Android নেটিভ সেটআপ
Anchor link to৪.১ Firebase কনফিগারেশন ফাইল যোগ করুন
Anchor link toআপনার প্রজেক্ট ডিরেক্টরিতে Assets ফোল্ডারের মধ্যে google-services.json ফাইলটি রাখুন।
৪.২ বিল্ড সেটিংস অ্যাডজাস্ট করুন
Anchor link toআপনার Android বিল্ড প্রোফাইলের Publishing Settings বিভাগে Custom Main Manifest অপশনটি সক্রিয় করুন।
৪.৩ Pushwoosh মেটাডেটা যোগ করুন
Anchor link toআপনার Assets/Plugins/Android/AndroidManifest.xml-এ <application> ট্যাগের ভিতরে Pushwoosh Device API টোকেন যোগ করুন:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />গুরুত্বপূর্ণ: আপনার Pushwoosh কন্ট্রোল প্যানেলে সঠিক অ্যাপে টোকেনটিকে অ্যাক্সেস দিতে ভুলবেন না। আরও জানুন
৫. Windows Store ইন্টিগ্রেশন
Anchor link to১. আপনার Assets/ ডিরেক্টরিতে নিম্নলিখিত কন্টেন্ট সহ link.xml যোগ করুন:
<linker> <assembly fullname="PushSDK" preserve="all"/></linker>২. আপনাকে এক্সপোর্ট করা Visual Studio প্রজেক্টে Associate App with the Store করতে হবে। নিশ্চিত করুন যে আপনার অ্যাপটি আপনার Publisher Identity-এর সাথে মিলে যাওয়া একটি সার্টিফিকেট দিয়ে সাইন করা আছে।

এক্সপোর্ট করা Visual Studio প্রজেক্টে আপনার .appxmanifest-এর Capabilities ট্যাবে Internet (Client) capability অপ্ট-ইন করুন।
৬. প্রজেক্টটি চালান
Anchor link to১. প্রজেক্টটি বিল্ড এবং রান করুন। ২. Pushwoosh কন্ট্রোল প্যানেলে যান এবং একটি পুশ নোটিফিকেশন পাঠান। ৩. আপনার অ্যাপে নোটিফিকেশনটি দেখতে পাওয়া উচিত।
এক্সটেন্ডেড ইন্টিগ্রেশন
Anchor link toএই পর্যায়ে, আপনি ইতিমধ্যে SDK ইন্টিগ্রেট করেছেন এবং পুশ নোটিফিকেশন পাঠাতে ও গ্রহণ করতে পারেন। এখন, চলুন মূল কার্যকারিতা অন্বেষণ করা যাক।
পুশ নোটিফিকেশন ইভেন্ট লিসেনার
Anchor link toPushwoosh SDK-তে পুশ নোটিফিকেশন পরিচালনা করার জন্য দুটি ইভেন্ট লিসেনার রয়েছে:
OnPushNotificationsReceivedইভেন্টটি ট্রিগার হয়, যখন একটি পুশ নোটিফিকেশন পাওয়া যায়OnPushNotificationsOpenedইভেন্টটি ট্রিগার হয়, যখন একজন ব্যবহারকারী একটি নোটিফিকেশন খোলেন
আপনার PushNotificator.cs-এ SDK ইনিশিয়ালাইজেশনের ঠিক পরেই এই ইভেন্ট লিসেনারগুলি সেট আপ করা উচিত:
using UnityEngine;using UnityEngine.UI;
public class PushNotificator : MonoBehaviour { void Start () { Pushwoosh.ApplicationCode = "__YOUR_APP_ID__"; Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__"; Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived; Pushwoosh.Instance.OnPushNotificationsOpened += OnPushNotificationsOpened; Pushwoosh.Instance.RegisterForPushNotifications(); }
void OnPushNotificationsReceived(string payload) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received push notificaiton: \n{0}", payload); }
void OnPushNotificationsOpened(string payload) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Opened push notificaiton: \n{0}", payload); }ব্যবহারকারী কনফিগারেশন
Anchor link toব্যক্তিগত ব্যবহারকারীর আচরণ এবং পছন্দের উপর ফোকাস করে, আপনি ব্যক্তিগতকৃত কন্টেন্ট সরবরাহ করতে পারেন, যা ব্যবহারকারীর সন্তুষ্টি এবং আনুগত্য বৃদ্ধি করে।
public class Registration { public void afterUserLogin(User user) {
// Set user ID Pushwoosh.Instance.SetUserId(user.getId());
// Set user email Pushwoosh.Instance.SetEmail(user.getEmail());
// Setting additional user information as tags for Pushwoosh Pushwoosh.Instance.SetIntTag("Age", user.getAge()); Pushwoosh.Instance.SetStringTag("Name", user.getName()); Pushwoosh.Instance.SetStringTag("LastLoginDate", user.getLastLoginDate()); }}ট্যাগ
Anchor link toট্যাগ হল ব্যবহারকারী বা ডিভাইসে নির্ধারিত কী-ভ্যালু পেয়ার, যা পছন্দ বা আচরণের মতো অ্যাট্রিবিউটের উপর ভিত্তি করে সেগমেন্টেশন করতে দেয়, যার ফলে টার্গেটেড মেসেজিং সম্ভব হয়।
public class UpdateUser { public void afterUserUpdateProfile(User user) {
// Set list of favorite categories Pushwoosh.Instance.SetListTag( "favorite_categories": user.getFavoriteCategoriesList() );
// Set payment information Pushwoosh.Instance.SetStringTag("is_subscribed", user.isSubscribed()); Pushwoosh.Instance.SetStringTag("payment_status", user.getPaymentStatus()); Pushwoosh.Instance.SetStringTag("billing_address", user.getBillingAddress()); }}ইভেন্ট
Anchor link toইভেন্ট হল অ্যাপের মধ্যে নির্দিষ্ট ব্যবহারকারীর ক্রিয়া বা ঘটনা যা আচরণ বিশ্লেষণ করতে এবং সংশ্লিষ্ট বার্তা বা ক্রিয়া ট্রিগার করতে ট্র্যাক করা যেতে পারে।
public class Registration {
// Track login event public void afterUserLogin(User user) { Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object>() { { "name", user.getName() }, { "last_login", user.getLastLoginDate() } }); }
public void afterUserPurchase(Product product) { // Track purchase event Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object>() { { "product_id", product.getId() }, { "product_name", product.getName() }, { "price", product.getPrice() }, { "quantity", product.getQuantity() } }); }}ট্রাবলশুটিং
Anchor link toইন্টিগ্রেশন প্রক্রিয়া চলাকালীন কোনো সমস্যার সম্মুখীন হলে, অনুগ্রহ করে সাপোর্ট এবং কমিউনিটি বিভাগটি দেখুন।