ইউনিটি SDK বেসিক ইন্টিগ্রেশন গাইড
এই গাইডটি আপনাকে আপনার অ্যাপ্লিকেশনে Pushwoosh ইউনিটি SDK ইন্টিগ্রেট করার প্রক্রিয়া দেখাবে।
পূর্বশর্ত
Anchor link toইন্টিগ্রেশন ধাপ
Anchor link to১. Pushwoosh ইউনিটি 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 বাদ দিন।
ইউনিটিতে, 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 অ্যাপ্লিকেশন কোড দিয়ে।XXXXXXXXXXXX-কে আপনার Firebase প্রজেক্ট নম্বর দিয়ে (শুধুমাত্র Android)।
৪. iOS নেটিভ সেটআপ
Anchor link to৪.১ ক্যাপাবিলিটিজ
Anchor link toইউনিটি থেকে iOS প্রজেক্ট তৈরি করার পর, জেনারেট করা Xcode প্রজেক্টটি খুলুন এবং Signing & Capabilities-এ নিম্নলিখিত ক্যাপাবিলিটিজ যোগ করুন:
- পুশ নোটিফিকেশন
- ব্যাকগ্রাউন্ড মোড এবং রিমোট নোটিফিকেশন চেক করা
টাইম সেনসিটিভ নোটিফিকেশন (iOS 15+)-এর জন্য, টাইম সেনসিটিভ নোটিফিকেশন ক্যাপাবিলিটিও যোগ করুন।
৪.২ Info.plist
Anchor link toআপনার Info.plist-এ Pushwoosh ডিভাইস API টোকেন যোগ করুন:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>৪.৩ মেসেজ ডেলিভারি ট্র্যাকিং
Anchor link toআপনার Xcode প্রজেক্টে একটি নোটিফিকেশন সার্ভিস এক্সটেনশন টার্গেট যোগ করুন। iOS-এ সঠিক ডেলিভারি ট্র্যাকিং এবং রিচ মিডিয়ার জন্য এটি প্রয়োজন।
এক্সটেনশন টার্গেট যোগ করতে নেটিভ গাইড অনুসরণ করুন।
৫. Android নেটিভ সেটআপ
Anchor link to৫.১ Firebase কনফিগারেশন ফাইল যোগ করুন
Anchor link toআপনার ইউনিটি প্রজেক্টের Assets ডিরেক্টরিতে google-services.json ফাইলটি রাখুন।
৫.২ Pushwoosh মেটাডেটা যোগ করুন
Anchor link toআপনার Assets/Plugins/Android/AndroidManifest.xml-এর <application> ট্যাগের ভিতরে Pushwoosh ডিভাইস API টোকেন যোগ করুন:
<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ইন্টিগ্রেশন প্রক্রিয়ার সময় কোনো সমস্যা হলে, সাপোর্ট এবং কমিউনিটি বিভাগে যান।