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

Unity SDK বেসিক ইন্টিগ্রেশন গাইড

এই গাইডটি আপনাকে আপনার অ্যাপ্লিকেশনে Pushwoosh Unity SDK ইন্টিগ্রেট করার প্রক্রিয়া দেখাবে।

পূর্বশর্ত

Anchor link to

ইন্টিগ্রেশন ধাপ

Anchor link to

১. Pushwoosh Unity SDK যোগ করুন

Anchor link to

আপনার Packages/manifest.json-এ নিম্নলিখিত কোড যোগ করুন:

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 বাদ দিন।

২. এক্সটার্নাল ডিপেন্ডেন্সি ম্যানেজার ইনস্টল করুন

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-এর সাথে সংযুক্ত করুন:

PushNotificator.cs
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 to

Unity থেকে 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 যোগ করুন:

Info.plist
<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 যোগ করুন:

AndroidManifest.xml
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />

৬. প্রজেক্টটি চালান

Anchor link to

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

এক্সটেন্ডেড ইন্টিগ্রেশন

Anchor link to

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

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

Anchor link to

SDK পুশ নোটিফিকেশন পরিচালনা করার জন্য দুটি ইভেন্ট লিসেনার প্রদান করে:

  • OnPushNotificationsReceived — যখন একটি পুশ নোটিফিকেশন আসে তখন ট্রিগার হয়
  • OnPushNotificationsOpened — যখন একজন ব্যবহারকারী একটি নোটিফিকেশনে ট্যাপ করে তখন ট্রিগার হয়

SDK ইনিশিয়ালাইজেশনের সময় এই লিসেনারগুলো সেট আপ করুন:

PushNotificator.cs
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 tracking
Pushwoosh.Instance.SetUserId("user-123");
// Set user email
Pushwoosh.Instance.SetEmail("user@example.com");
// Set user with both ID and email
Pushwoosh.Instance.SetUser("user-123", new List<string> { "user@example.com" });
// Set preferred language
Pushwoosh.Instance.SetLanguage("en");

ট্যাগ

Anchor link to

ট্যাগ হলো ডিভাইসে নির্ধারিত কী-ভ্যালু পেয়ার, যা ব্যবহারকারী সেগমেন্টেশন এবং টার্গেটেড মেসেজিং সক্ষম করে:

// String tag
Pushwoosh.Instance.SetStringTag("favorite_category", "electronics");
// Integer tag
Pushwoosh.Instance.SetIntTag("purchase_count", 5);
// List tag
Pushwoosh.Instance.SetListTag("interests", new List<object> { "sports", "music", "tech" });
// Get all tags
Pushwoosh.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 event
Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object> {
{ "username", "user-123" },
{ "login_type", "email" }
});
// Track a purchase event
Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object> {
{ "product_id", "SKU-001" },
{ "price", 29.99 },
{ "currency", "USD" }
});

যোগাযোগের পছন্দ

Anchor link to

ব্যবহারকারীদের প্রোগ্রাম্যাটিকভাবে পুশ নোটিফিকেশন থেকে অপ্ট-ইন বা অপ্ট-আউট করার অনুমতি দিন:

// Enable communication
Pushwoosh.Instance.SetCommunicationEnabled(true);
// Disable communication
Pushwoosh.Instance.SetCommunicationEnabled(false);
// Check current state
bool isEnabled = Pushwoosh.Instance.IsCommunicationEnabled();

ব্যাজ ম্যানেজমেন্ট

Anchor link to

সমর্থিত প্ল্যাটফর্মে অ্যাপ ব্যাজ নম্বর নিয়ন্ত্রণ করুন:

// Set badge to a specific number
Pushwoosh.Instance.SetBadgeNumber(3);
// Increment badge
Pushwoosh.Instance.AddBadgeNumber(1);
// Clear badge
Pushwoosh.Instance.SetBadgeNumber(0);

সমস্যা সমাধান

Anchor link to

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