फ्लटर एसडीके बेसिक इंटीग्रेशन गाइड
इस सेक्शन में यह जानकारी है कि पुशवूश फ्लटर एसडीके को अपने एप्लिकेशन में कैसे इंटीग्रेट करें।
आवश्यक शर्तें
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) {
// Set user ID Pushwoosh().setUserId(user.getId());
// Set user email Pushwoosh().setEmail(user.getEmail());
// Register SMS number // The SMS and WhatsApp numbers must be in E.164 format (e.g., "+1234567890") and be valid Pushwoosh().registerSmsNumber(user.getSmsNumber());
// Register WhatsApp number Pushwoosh().registerWhatsappNumber(user.getWhatsappNumber());
// Setting additional user information as tags for Pushwoosh Pushwoosh().setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}टैग्स
Anchor link toटैग उपयोगकर्ताओं या उपकरणों को सौंपे गए की-वैल्यू पेयर होते हैं, जो वरीयताओं या व्यवहार जैसे गुणों के आधार पर सेगमेंटेशन की अनुमति देते हैं, जिससे लक्षित संदेश भेजना संभव होता है।
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
class UpdateUser { void afterUserUpdateProfile(User user) {
// Set list of favorite categories Pushwoosh().setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Set payment information 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 {
// Track login event void afterUserLogin(User user) { Pushwoosh().postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
void afterUserPurchase(Product product) {
// Track purchase event 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यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो कृपया समर्थन और समुदाय सेक्शन देखें।