फ्लटर एसडीके बेसिक इंटीग्रेशन गाइड
इस सेक्शन में यह जानकारी है कि आप अपने एप्लिकेशन में पुशवूश फ्लटर एसडीके को कैसे इंटीग्रेट कर सकते हैं।
आवश्यक शर्तें
Anchor link toअपने ऐप में पुशवूश फ्लटर एसडीके को इंटीग्रेट करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:
इंटीग्रेशन के चरण
Anchor link to1. पुशवूश फ्लटर एसडीके डिपेंडेंसी जोड़ें
Anchor link toअपनी pubspec.yaml फ़ाइल में pushwoosh_flutter पैकेज जोड़ें:
dependencies: flutter: sdk: flutter # Use the latest version from https://pub.dev/packages/pushwoosh_flutter pushwoosh_flutter: ^[LATEST_VERSION]pub.dev पर नवीनतम संस्करण देखें।
फिर, डिपेंडेंसी इंस्टॉल करने के लिए अपने प्रोजेक्ट की रूट डायरेक्टरी में निम्नलिखित कमांड चलाएँ:
flutter pub getदोबारा जांचें कि पैकेज सही ढंग से इंस्टॉल हो गया है:
flutter pub deps | grep pushwoosh_flutter
# Example output:# ❯ flutter pub deps | grep pushwoosh_flutter# └── pushwoosh_flutter 2.3.112. फ्लटर एसडीके इनिशियलाइज़ेशन
Anchor link toआपकी main.dart फ़ाइल के रूट कंपोनेंट में:
pushwoosh_flutterपैकेज को इम्पोर्ट करें।- पुशवूश एसडीके को इनिशियलाइज़ करें।
- पुश नोटिफिकेशन के लिए रजिस्टर करने के लिए अपनी इनिशियलाइज़ेशन लॉजिक में
registerForPushNotifications()को कॉल करें।
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
void main() async { runApp(const MyApp()); Pushwoosh.initialize({ "app_id": "__YOUR_APP_ID__" }); Pushwoosh.getInstance.registerForPushNotifications();}जहाँ:
__YOUR_APP_ID__पुशवूश कंट्रोल पैनल से एप्लिकेशन कोड है।
3. आईओएस नेटिव सेटअप
Anchor link to3.1 क्षमताएं
Anchor link toअपने प्रोजेक्ट में पुश नोटिफिकेशन सक्षम करने के लिए, आपको कुछ क्षमताएं जोड़ने की आवश्यकता है।
साइनिंग और क्षमताएं सेक्शन में, निम्नलिखित क्षमताएं जोड़ें:
पुश नोटिफिकेशनबैकग्राउंड मोड्स। इस क्षमता को जोड़ने के बाद,रिमोट नोटिफिकेशनके लिए बॉक्स को चेक करें।
यदि आप टाइम सेंसिटिव नोटिफिकेशन (आईओएस 15+) का उपयोग करना चाहते हैं, तो टाइम सेंसिटिव नोटिफिकेशन क्षमता भी जोड़ें।
3.2 Info.plist
Anchor link toअपने Runner/Info.plist में __PUSHWOOSH_DEVICE_API_TOKEN__ कुंजी को पुशवूश डिवाइस एपीआई टोकन पर सेट करें:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 संदेश डिलीवरी ट्रैकिंग
Anchor link toआपको अपने प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ना होगा। यह आईओएस पर सटीक डिलीवरी ट्रैकिंग और रिच मीडिया जैसी सुविधाओं के लिए आवश्यक है।
एक्सटेंशन टारगेट और उसके भीतर आवश्यक पुशवूश कोड जोड़ने के लिए नेटिव गाइड के चरणों का पालन करें।
यह सुनिश्चित करने के लिए कि नोटिफिकेशन सर्विस एक्सटेंशन आपके फ्लटर प्रोजेक्ट में ठीक से इंटीग्रेटेड है, आपको निम्नलिखित पॉडफाइल कॉन्फ़िगरेशन का उपयोग करने की आवश्यकता है:
target 'NotificationServiceExtension' do use_frameworks! use_modular_headers!
pod 'PushwooshXCFramework'
inherit! :search_pathsend3.4 आईओएस फ्लटर प्रोजेक्ट के लिए डिपेंडेंसी इंस्टॉल करना
Anchor link toआईओएस फ्लटर प्रोजेक्ट के लिए डिपेंडेंसी इंस्टॉल करने के लिए, निम्नलिखित कमांड चलाएँ:
flutter runया टर्मिनल में ios फ़ोल्डर पर जाएँ और चलाएँ:
pod install --repo-update4. एंड्रॉइड नेटिव सेटअप
Anchor link to4.1 डिपेंडेंसी इंस्टॉल करें
Anchor link toसुनिश्चित करें कि आवश्यक डिपेंडेंसी और प्लगइन्स आपके ग्रेडल स्क्रिप्ट में जोड़े गए हैं:
अपने प्रोजेक्ट-स्तरीय build.gradle डिपेंडेंसी में गूगल सर्विसेज ग्रेडल प्लगइन जोड़ें:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}अपने ऐप-स्तरीय build.gradle फ़ाइल में प्लगइन लागू करें:
apply plugin: 'com.google.gms.google-services'4.2 फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें
Anchor link togoogle-services.json फ़ाइल को अपने प्रोजेक्ट डायरेक्टरी में android/app फ़ोल्डर में रखें।
4.3 पुशवूश मेटाडेटा जोड़ें
Anchor link toअपने main/AndroidManifest.xml में <application> टैग के अंदर पुशवूश डिवाइस एपीआई टोकन जोड़ें:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />महत्वपूर्ण: सुनिश्चित करें कि आप अपने पुशवूश कंट्रोल पैनल में सही ऐप को टोकन एक्सेस दें। और जानें
5. प्रोजेक्ट चलाएँ
Anchor link to- प्रोजेक्ट को बिल्ड और रन करें।
- पुशवूश कंट्रोल पैनल पर जाएं और एक पुश नोटिफिकेशन भेजें।
- आपको ऐप में नोटिफिकेशन दिखना चाहिए।
विस्तारित इंटीग्रेशन
Anchor link toइस स्तर पर, आपने पहले ही एसडीके को इंटीग्रेट कर लिया है और आप पुश नोटिफिकेशन भेज और प्राप्त कर सकते हैं। अब, आइए मुख्य कार्यक्षमता का पता लगाएं
पुश नोटिफिकेशन इवेंट लिसनर्स
Anchor link toपुशवूश एसडीके में दो इवेंट लिसनर हैं, जो पुश नोटिफिकेशन को संभालने के लिए डिज़ाइन किए गए हैं:
onPushReceivedइवेंट तब ट्रिगर होता है, जब एक पुश नोटिफिकेशन प्राप्त होता हैonPushAcceptedइवेंट तब ट्रिगर होता है, जब कोई उपयोगकर्ता नोटिफिकेशन खोलता है
आपको एप्लिकेशन शुरू होने पर एसडीके के इनिशियलाइज़ेशन के ठीक बाद इन इवेंट लिसनर्स को सेटअप करना चाहिए:
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
class PushwooshNotificationHandler { void setupPushListeners(Pushwoosh pushwoosh) {
pushwoosh.onPushReceived.listen((event) { print("Push received: ${event.pushwooshMessage.payload}"); });
pushwoosh.onPushAccepted.listen((event) { print("Push accepted: ${event.pushwooshMessage.payload}"); });
}}उपयोगकर्ता कॉन्फ़िगरेशन
Anchor link toव्यक्तिगत उपयोगकर्ता के व्यवहार और वरीयताओं पर ध्यान केंद्रित करके, आप व्यक्तिगत सामग्री प्रदान कर सकते हैं, जिससे उपयोगकर्ता की संतुष्टि और वफादारी में वृद्धि होती है
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
class Registration { void afterUserLogin(User user) {
// उपयोगकर्ता आईडी सेट करें Pushwoosh().setUserId(user.getId());
// उपयोगकर्ता ईमेल सेट करें Pushwoosh().setEmail(user.getEmail());
// एसएमएस नंबर रजिस्टर करें // एसएमएस और व्हाट्सएप नंबर E.164 प्रारूप (जैसे, "+1234567890") में होने चाहिए और मान्य होने चाहिए Pushwoosh().registerSmsNumber(user.getSmsNumber());
// व्हाट्सएप नंबर रजिस्टर करें Pushwoosh().registerWhatsappNumber(user.getWhatsappNumber());
// पुशवूश के लिए टैग के रूप में अतिरिक्त उपयोगकर्ता जानकारी सेट करना Pushwoosh().setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}टैग उपयोगकर्ताओं या उपकरणों को सौंपे गए की-वैल्यू पेयर होते हैं, जो वरीयताओं या व्यवहार जैसे गुणों के आधार पर सेगमेंटेशन की अनुमति देते हैं, जिससे लक्षित संदेश भेजना संभव होता है।
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
class UpdateUser { void afterUserUpdateProfile(User user) {
// पसंदीदा श्रेणियों की सूची सेट करें Pushwoosh().setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// भुगतान जानकारी सेट करें Pushwoosh().setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}इवेंट्स
Anchor link toइवेंट्स ऐप के भीतर विशिष्ट उपयोगकर्ता क्रियाएं या घटनाएं होती हैं जिन्हें व्यवहार का विश्लेषण करने और संबंधित संदेशों या क्रियाओं को ट्रिगर करने के लिए ट्रैक किया जा सकता है
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
class Registration {
// लॉगिन इवेंट ट्रैक करें void afterUserLogin(User user) { Pushwoosh().postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
void afterUserPurchase(Product product) {
// खरीद इवेंट ट्रैक करें Pushwoosh().postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}प्रो-गार्ड का उपयोग करना
Anchor link toइस प्रकार, आपको यह अपवाद मिल सकता है:
java.lang.IllegalStateException: Could not find class for name: com.pushwoosh.plugin.PushwooshNotificationServiceExtensionइस मामले में दो समाधान हैं:
- अपने कोड को बिना ऑब्फसकेशन के कंपाइल करने के लिए
flutter build apk --no-shrinkकमांड का उपयोग करें। - या आप मैन्युअल रूप से प्रो-गार्ड को सक्षम कर सकते हैं और आवश्यक नियम जोड़ सकते हैं।
अपने प्रोजेक्ट के लिए प्रो-गार्ड को सक्षम करने के लिए, अपनी build.gradle फ़ाइल में निम्नलिखित स्ट्रिंग्स जोड़ें:
buildTypes { release { minifyEnabled true useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug } }फिर, android/app/proguard-rules.pro में निम्नलिखित नियम जोड़ें
#Pushwoosh Flutter-keep class com.pushwoosh.plugin.PushwooshPlugin { *; }-keep class com.pushwoosh.plugin.PushwooshNotificationServiceExtension { *; }समस्या निवारण
Anchor link toयदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो कृपया समर्थन और समुदाय सेक्शन देखें।