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

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

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

पूर्वापेक्षाएँ

Anchor link to

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

Anchor link to

1. Pushwoosh यूनिटी 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 डिपेंडेंसी को हल करने के लिए यूनिटी के लिए एक्सटर्नल डिपेंडेंसी मैनेजर (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 एप्लीकेशन कोड से।
  • XXXXXXXXXXXX को अपने फायरबेस प्रोजेक्ट नंबर से (केवल एंड्रॉइड)।

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

Anchor link to

4.1 कैपेबिलिटीज़

Anchor link to

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

  • पुश नोटिफिकेशन
  • बैकग्राउंड मोड जिसमें रिमोट नोटिफिकेशन चेक किया गया हो

टाइम सेंसिटिव नोटिफिकेशन (iOS 15+) के लिए, टाइम सेंसिटिव नोटिफिकेशन कैपेबिलिटी भी जोड़ें।

4.2 Info.plist

Anchor link to

अपने Info.plist में Pushwoosh डिवाइस API टोकन जोड़ें:

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 Pushwoosh मेटाडेटा जोड़ें

Anchor link to

<application> टैग के अंदर अपने Assets/Plugins/Android/AndroidManifest.xml में Pushwoosh डिवाइस API टोकन जोड़ें:

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

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

Anchor link to
  1. अपने लक्षित प्लेटफ़ॉर्म पर प्रोजेक्ट को बनाएँ और चलाएँ।
  2. पूछे जाने पर पुश नोटिफिकेशन के लिए अनुमति दें।
  3. 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

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