Unity SDK বেসিক ইন্টিগ্রেশন গাইড
এই গাইডটি আপনাকে আপনার অ্যাপ্লিকেশনে Pushwoosh Unity SDK ইন্টিগ্রেট করার প্রক্রিয়া দেখাবে।
পূর্বশর্ত
Anchor link toইন্টিগ্রেশন ধাপ
Anchor link to১. Pushwoosh Unity SDK যোগ করুন
Anchor link toআপনার Packages/manifest.json-এ নিম্নলিখিত কোড যোগ করুন:
{ "dependencies": { "com.pushwoosh.unity.core": "6.2.7", "com.pushwoosh.unity.android": "6.2.7", "com.pushwoosh.unity.ios": "6.2.7" }, "scopedRegistries": [ { "name": "npmjs", "url": "https://registry.npmjs.org", "scopes": ["com.pushwoosh"] } ]}শুধুমাত্র আপনার প্রয়োজনীয় প্ল্যাটফর্ম প্যাকেজ যোগ করুন। উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র iOS টার্গেট করেন তবে com.pushwoosh.unity.android বাদ দিন।
Unity-তে, Window > Package Manager > + > Add package from git URL-এ যান এবং নিম্নলিখিত URL-গুলো একে একে যোগ করুন:
https://github.com/Pushwoosh/pushwoosh-unity.git?path=com.pushwoosh.unity.corehttps://github.com/Pushwoosh/pushwoosh-unity.git?path=com.pushwoosh.unity.androidhttps://github.com/Pushwoosh/pushwoosh-unity.git?path=com.pushwoosh.unity.iosGitHub রিলিজ থেকে Pushwoosh.unitypackage ডাউনলোড করুন এবং Assets > Import Package > Custom Package-এর মাধ্যমে ইম্পোর্ট করুন।
২. এক্সটার্নাল ডিপেন্ডেন্সি ম্যানেজার ইনস্টল করুন
Anchor link toনেটিভ Android এবং iOS ডিপেন্ডেন্সি সমাধান করার জন্য SDK-এর External Dependency Manager for Unity (EDM4U) প্রয়োজন।
আপনার Packages/manifest.json-এ নিম্নলিখিত স্কোপড রেজিস্ট্রি যোগ করুন:
{ "scopedRegistries": [ { "name": "package.openupm.com", "url": "https://package.openupm.com", "scopes": ["com.google.external-dependency-manager"] } ]}তারপর আপনার ডিপেন্ডেন্সিতে প্যাকেজটি যোগ করুন:
"com.google.external-dependency-manager": "1.2.183"৩. SDK ইনিশিয়ালাইজ করুন
Anchor link toএকটি PushNotificator.cs স্ক্রিপ্ট তৈরি করুন এবং এটিকে সিন-এর যেকোনো GameObject-এর সাথে সংযুক্ত করুন:
using UnityEngine;using System.Collections.Generic;
public class PushNotificator : MonoBehaviour{ void Start() { Pushwoosh.ApplicationCode = "XXXXX-XXXXX"; Pushwoosh.FcmProjectNumber = "XXXXXXXXXXXX";
Pushwoosh.Instance.OnRegisteredForPushNotifications += (token) => { Debug.Log("Push token: " + token); };
Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += (error) => { Debug.Log("Registration failed: " + error); };
Pushwoosh.Instance.RegisterForPushNotifications(); }}প্রতিস্থাপন করুন:
XXXXX-XXXXX-কে আপনার Pushwoosh Application Code দিয়ে।XXXXXXXXXXXX-কে আপনার Firebase প্রজেক্ট নম্বর দিয়ে (শুধুমাত্র Android)।
৪. iOS নেটিভ সেটআপ
Anchor link to৪.১ Capabilities
Anchor link toUnity থেকে iOS প্রজেক্ট তৈরি করার পর, জেনারেট করা Xcode প্রজেক্টটি খুলুন এবং Signing & Capabilities-এ নিম্নলিখিত capabilities যোগ করুন:
- Push Notifications
- Background Modes এবং এর অধীনে Remote notifications চেক করা
Time Sensitive Notifications (iOS 15+)-এর জন্য, Time Sensitive Notifications capability-ও যোগ করুন।
৪.২ Info.plist
Anchor link toআপনার Info.plist-এ Pushwoosh Device API Token যোগ করুন:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>৪.৩ মেসেজ ডেলিভারি ট্র্যাকিং
Anchor link toআপনার Xcode প্রজেক্টে একটি Notification Service Extension টার্গেট যোগ করুন। iOS-এ সঠিক ডেলিভারি ট্র্যাকিং এবং Rich Media-এর জন্য এটি প্রয়োজন।
এক্সটেনশন টার্গেট যোগ করতে নেটিভ গাইড অনুসরণ করুন।
৫. Android নেটিভ সেটআপ
Anchor link to৫.১ Firebase কনফিগারেশন ফাইল যোগ করুন
Anchor link toআপনার Unity প্রজেক্টের Assets ডিরেক্টরিতে google-services.json ফাইলটি রাখুন।
৫.২ Pushwoosh মেটাডেটা যোগ করুন
Anchor link toআপনার Assets/Plugins/Android/AndroidManifest.xml-এর <application> ট্যাগের ভিতরে Pushwoosh Device API Token যোগ করুন:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />৬. প্রজেক্টটি চালান
Anchor link to১. আপনার টার্গেট প্ল্যাটফর্মে প্রজেক্টটি বিল্ড করুন এবং চালান। ২. যখন অনুরোধ করা হবে, পুশ নোটিফিকেশনের জন্য অনুমতি দিন। ৩. Pushwoosh কন্ট্রোল প্যানেলে যান এবং একটি পুশ নোটিফিকেশন পাঠান।
এক্সটেন্ডেড ইন্টিগ্রেশন
Anchor link toএই পর্যায়ে, আপনি পুশ নোটিফিকেশন পাঠাতে এবং গ্রহণ করতে পারবেন। নিচের বিভাগগুলোতে মূল SDK কার্যকারিতা আলোচনা করা হয়েছে।
পুশ নোটিফিকেশন ইভেন্ট লিসেনার
Anchor link toSDK পুশ নোটিফিকেশন পরিচালনা করার জন্য দুটি ইভেন্ট লিসেনার প্রদান করে:
OnPushNotificationsReceived— যখন একটি পুশ নোটিফিকেশন আসে তখন ট্রিগার হয়OnPushNotificationsOpened— যখন একজন ব্যবহারকারী একটি নোটিফিকেশনে ট্যাপ করে তখন ট্রিগার হয়
SDK ইনিশিয়ালাইজেশনের সময় এই লিসেনারগুলো সেট আপ করুন:
void Start(){ Pushwoosh.ApplicationCode = "XXXXX-XXXXX"; Pushwoosh.FcmProjectNumber = "XXXXXXXXXXXX";
Pushwoosh.Instance.OnPushNotificationsReceived += (payload) => { Debug.Log("Push received: " + payload); };
Pushwoosh.Instance.OnPushNotificationsOpened += (payload) => { Debug.Log("Push opened: " + payload); };
Pushwoosh.Instance.RegisterForPushNotifications();}ব্যবহারকারী কনফিগারেশন
Anchor link toব্যবহারকারীদের শনাক্ত করে এবং তাদের বৈশিষ্ট্য সেট করে পুশ নোটিফিকেশন ব্যক্তিগতকরণ করুন:
// Set user ID for cross-device trackingPushwoosh.Instance.SetUserId("user-123");
// Set user emailPushwoosh.Instance.SetEmail("user@example.com");
// Set user with both ID and emailPushwoosh.Instance.SetUser("user-123", new List<string> { "user@example.com" });
// Set preferred languagePushwoosh.Instance.SetLanguage("en");ট্যাগ
Anchor link toট্যাগ হলো ডিভাইসে নির্ধারিত কী-ভ্যালু পেয়ার, যা ব্যবহারকারী সেগমেন্টেশন এবং টার্গেটেড মেসেজিং সক্ষম করে:
// String tagPushwoosh.Instance.SetStringTag("favorite_category", "electronics");
// Integer tagPushwoosh.Instance.SetIntTag("purchase_count", 5);
// List tagPushwoosh.Instance.SetListTag("interests", new List<object> { "sports", "music", "tech" });
// Get all tagsPushwoosh.Instance.GetTags((tags, error) => { if (error != null) { Debug.Log("Error: " + error.Message); return; } foreach (var tag in tags) { Debug.Log(tag.Key + ": " + tag.Value); }});ইভেন্ট
Anchor link toব্যবহারকারীর কার্যকলাপ ট্র্যাক করে আচরণ বিশ্লেষণ করুন এবং স্বয়ংক্রিয় বার্তা ট্রিগার করুন:
// Track a login eventPushwoosh.Instance.PostEvent("login", new Dictionary<string, object> { { "username", "user-123" }, { "login_type", "email" }});
// Track a purchase eventPushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object> { { "product_id", "SKU-001" }, { "price", 29.99 }, { "currency", "USD" }});যোগাযোগের পছন্দ
Anchor link toব্যবহারকারীদের প্রোগ্রাম্যাটিকভাবে পুশ নোটিফিকেশন থেকে অপ্ট-ইন বা অপ্ট-আউট করার অনুমতি দিন:
// Enable communicationPushwoosh.Instance.SetCommunicationEnabled(true);
// Disable communicationPushwoosh.Instance.SetCommunicationEnabled(false);
// Check current statebool isEnabled = Pushwoosh.Instance.IsCommunicationEnabled();ব্যাজ ম্যানেজমেন্ট
Anchor link toসমর্থিত প্ল্যাটফর্মে অ্যাপ ব্যাজ নম্বর নিয়ন্ত্রণ করুন:
// Set badge to a specific numberPushwoosh.Instance.SetBadgeNumber(3);
// Increment badgePushwoosh.Instance.AddBadgeNumber(1);
// Clear badgePushwoosh.Instance.SetBadgeNumber(0);সমস্যা সমাধান
Anchor link toইন্টিগ্রেশন প্রক্রিয়ার সময় কোনো সমস্যা হলে, সাপোর্ট এবং কমিউনিটি বিভাগটি দেখুন।