यूनिटी SDK बेसिक इंटीग्रेशन गाइड
यह गाइड आपको अपने एप्लिकेशन में Pushwoosh यूनिटी SDK को इंटीग्रेट करने की प्रक्रिया के बारे में बताती है।
पूर्वापेक्षाएँ
Anchor link toइंटीग्रेशन के चरण
Anchor link to1. 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 के माध्यम से इम्पोर्ट करें।
2. एक्सटर्नल डिपेंडेंसी मैनेजर इंस्टॉल करें
Anchor link toSDK को नेटिव एंड्रॉइड और 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 से अटैच करें:
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 to4.1 कैपेबिलिटीज़
Anchor link toयूनिटी से iOS प्रोजेक्ट बनाने के बाद, जेनरेट किए गए Xcode प्रोजेक्ट को खोलें और Signing & Capabilities में निम्नलिखित कैपेबिलिटीज़ जोड़ें:
- पुश नोटिफिकेशन
- बैकग्राउंड मोड जिसमें रिमोट नोटिफिकेशन चेक किया गया हो
टाइम सेंसिटिव नोटिफिकेशन (iOS 15+) के लिए, टाइम सेंसिटिव नोटिफिकेशन कैपेबिलिटी भी जोड़ें।
4.2 Info.plist
Anchor link toअपने Info.plist में Pushwoosh डिवाइस API टोकन जोड़ें:
<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 Pushwoosh मेटाडेटा जोड़ें
Anchor link to<application> टैग के अंदर अपने Assets/Plugins/Android/AndroidManifest.xml में Pushwoosh डिवाइस API टोकन जोड़ें:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />6. प्रोजेक्ट चलाएँ
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यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो समर्थन और समुदाय अनुभाग देखें।