सामग्री पर जाएं

यूनिटी SDK बेसिक इंटीग्रेशन गाइड

यह गाइड आपको अपने एप्लिकेशन में पुशवूश यूनिटी SDK को इंटीग्रेट करने की प्रक्रिया बताती है।

आवश्यक शर्तें

Anchor link to

इंटीग्रेशन के चरण

Anchor link to

1. पुशवूश यूनिटी 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 को छोड़ दें।

2. एक्सटर्नल डिपेंडेंसी मैनेजर इंस्टॉल करें

Anchor link to

SDK को नेटिव एंड्रॉइड और iOS डिपेंडेंसी को हल करने के लिए 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"

3. 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 को अपने फायरबेस प्रोजेक्ट नंबर से (केवल एंड्रॉइड)।

4. iOS नेटिव सेटअप

Anchor link to

4.1 क्षमताएँ (Capabilities)

Anchor link to

यूनिटी से iOS प्रोजेक्ट बनाने के बाद, जेनरेट किए गए Xcode प्रोजेक्ट को खोलें और Signing & Capabilities में निम्नलिखित क्षमताएँ जोड़ें:

  • Push Notifications
  • Background Modes जिसमें Remote notifications चेक किया गया हो

टाइम सेंसिटिव नोटिफिकेशन (iOS 15+) के लिए, Time Sensitive Notifications क्षमता भी जोड़ें।

4.2 Info.plist

Anchor link to

Pushwoosh Device API Token को अपनी Info.plist में जोड़ें:

Info.plist
<key>Pushwoosh_API_TOKEN</key>
<string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>

4.3 संदेश डिलीवरी ट्रैकिंग

Anchor link to

अपने Xcode प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ें। यह iOS पर सटीक डिलीवरी ट्रैकिंग और रिच मीडिया के लिए आवश्यक है।

एक्सटेंशन टारगेट जोड़ने के लिए नेटिव गाइड का पालन करें।

5. एंड्रॉइड नेटिव सेटअप

Anchor link to

5.1 फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें

Anchor link to

google-services.json फ़ाइल को अपने यूनिटी प्रोजेक्ट की Assets डायरेक्टरी में रखें।

5.2 पुशवूश मेटाडेटा जोड़ें

Anchor link to

Pushwoosh Device API Token को अपनी Assets/Plugins/Android/AndroidManifest.xml में <application> टैग के अंदर जोड़ें:

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

6. प्रोजेक्ट चलाएँ

Anchor link to
  1. प्रोजेक्ट को अपने टारगेट प्लेटफॉर्म पर बनाएँ और चलाएँ।
  2. संकेत मिलने पर पुश नोटिफिकेशन के लिए अनुमति दें।
  3. पुशवूश कंट्रोल पैनल पर जाएँ और एक पुश नोटिफिकेशन भेजें

विस्तारित इंटीग्रेशन

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

यूज़र्स की पहचान करके और उनके गुणों को सेट करके पुश नोटिफिकेशन को व्यक्तिगत बनाएँ:

// क्रॉस-डिवाइस ट्रैकिंग के लिए यूज़र आईडी सेट करें
Pushwoosh.Instance.SetUserId("user-123");
// यूज़र ईमेल सेट करें
Pushwoosh.Instance.SetEmail("user@example.com");
// आईडी और ईमेल दोनों के साथ यूज़र सेट करें
Pushwoosh.Instance.SetUser("user-123", new List<string> { "user@example.com" });
// पसंदीदा भाषा सेट करें
Pushwoosh.Instance.SetLanguage("en");

टैग्स

Anchor link to

टैग्स डिवाइसों को असाइन किए गए की-वैल्यू पेयर होते हैं, जो यूज़र सेगमेंटेशन और लक्षित मैसेजिंग को सक्षम करते हैं:

// स्ट्रिंग टैग
Pushwoosh.Instance.SetStringTag("favorite_category", "electronics");
// इंटीजर टैग
Pushwoosh.Instance.SetIntTag("purchase_count", 5);
// लिस्ट टैग
Pushwoosh.Instance.SetListTag("interests", new List<object> { "sports", "music", "tech" });
// सभी टैग्स प्राप्त करें
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

व्यवहार का विश्लेषण करने और स्वचालित संदेशों को ट्रिगर करने के लिए यूज़र के कार्यों को ट्रैक करें:

// एक लॉगिन इवेंट ट्रैक करें
Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object> {
{ "username", "user-123" },
{ "login_type", "email" }
});
// एक खरीद इवेंट ट्रैक करें
Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object> {
{ "product_id", "SKU-001" },
{ "price", 29.99 },
{ "currency", "USD" }
});

कम्युनिकेशन प्रेफरेंसेज

Anchor link to

यूज़र्स को प्रोग्रामेटिक रूप से पुश नोटिफिकेशन के लिए ऑप्ट-इन या ऑप्ट-आउट करने की अनुमति दें:

// कम्युनिकेशन सक्षम करें
Pushwoosh.Instance.SetCommunicationEnabled(true);
// कम्युनिकेशन अक्षम करें
Pushwoosh.Instance.SetCommunicationEnabled(false);
// वर्तमान स्थिति जांचें
bool isEnabled = Pushwoosh.Instance.IsCommunicationEnabled();

बैज मैनेजमेंट

Anchor link to

समर्थित प्लेटफॉर्म पर ऐप बैज नंबर को नियंत्रित करें:

// बैज को एक विशिष्ट संख्या पर सेट करें
Pushwoosh.Instance.SetBadgeNumber(3);
// बैज बढ़ाएँ
Pushwoosh.Instance.AddBadgeNumber(1);
// बैज साफ़ करें
Pushwoosh.Instance.SetBadgeNumber(0);

समस्या निवारण

Anchor link to

यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो समर्थन और समुदाय सेक्शन देखें।