यूनिटी SDK बेसिक इंटीग्रेशन गाइड
यह गाइड आपको अपने एप्लिकेशन में पुशवूश यूनिटी SDK को इंटीग्रेट करने की प्रक्रिया बताती है।
आवश्यक शर्तें
Anchor link toइंटीग्रेशन के चरण
Anchor link to1. पुशवूश यूनिटी 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 Releases से Pushwoosh.unitypackage डाउनलोड करें और Assets > Import Package > Custom Package के माध्यम से इम्पोर्ट करें।
2. एक्सटर्नल डिपेंडेंसी मैनेजर इंस्टॉल करें
Anchor link toSDK को नेटिव एंड्रॉइड और 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 से अटैच करें:
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 to4.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 toPushwoosh Device API Token को अपनी Info.plist में जोड़ें:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>4.3 संदेश डिलीवरी ट्रैकिंग
Anchor link toअपने Xcode प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ें। यह iOS पर सटीक डिलीवरी ट्रैकिंग और रिच मीडिया के लिए आवश्यक है।
एक्सटेंशन टारगेट जोड़ने के लिए नेटिव गाइड का पालन करें।
5. एंड्रॉइड नेटिव सेटअप
Anchor link to5.1 फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें
Anchor link togoogle-services.json फ़ाइल को अपने यूनिटी प्रोजेक्ट की Assets डायरेक्टरी में रखें।
5.2 पुशवूश मेटाडेटा जोड़ें
Anchor link toPushwoosh Device API Token को अपनी Assets/Plugins/Android/AndroidManifest.xml में <application> टैग के अंदर जोड़ें:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />6. प्रोजेक्ट चलाएँ
Anchor link to- प्रोजेक्ट को अपने टारगेट प्लेटफॉर्म पर बनाएँ और चलाएँ।
- संकेत मिलने पर पुश नोटिफिकेशन के लिए अनुमति दें।
- पुशवूश कंट्रोल पैनल पर जाएँ और एक पुश नोटिफिकेशन भेजें।
विस्तारित इंटीग्रेशन
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यूज़र्स की पहचान करके और उनके गुणों को सेट करके पुश नोटिफिकेशन को व्यक्तिगत बनाएँ:
// क्रॉस-डिवाइस ट्रैकिंग के लिए यूज़र आईडी सेट करें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यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो समर्थन और समुदाय सेक्शन देखें।