Flutter SDK बेसिक इंटीग्रेशन गाइड
इस सेक्शन में यह जानकारी दी गई है कि आप अपने एप्लिकेशन में Pushwoosh Flutter SDK को कैसे इंटीग्रेट कर सकते हैं।
पूर्वापेक्षाएँ
Anchor link toअपने ऐप में Pushwoosh Flutter SDK को इंटीग्रेट करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:
इंटीग्रेशन के स्टेप्स
Anchor link to1. Pushwoosh Flutter SDK डिपेंडेंसी जोड़ें
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. Flutter SDK इनिशियलाइज़ेशन
Anchor link toअपनी main.dart फ़ाइल के रूट कंपोनेंट में:
pushwoosh_flutterपैकेज इम्पोर्ट करें।- Pushwoosh SDK को इनिशियलाइज़ करें।
- पुश नोटिफिकेशन के लिए रजिस्टर करने के लिए अपनी इनिशियलाइज़ेशन लॉजिक में
registerForPushNotifications()को कॉल करें।
import 'package:pushwoosh_flutter/pushwoosh_flutter.dart';
void main() async { runApp(const MyApp()); Pushwoosh.initialize({ "app_id": "__YOUR_APP_ID__", "sender_id": "__YOUR_FCM_SENDER_ID__" }); Pushwoosh.getInstance.registerForPushNotifications();}जहाँ:
__YOUR_APP_ID__Pushwoosh कंट्रोल पैनल से एप्लिकेशन कोड है।__YOUR_FCM_SENDER_ID__Firebase कंसोल से Firebase प्रोजेक्ट नंबर है।
3. iOS नेटिव सेटअप
Anchor link to3.1 कैपेबिलिटीज़
Anchor link toअपने प्रोजेक्ट में पुश नोटिफिकेशन सक्षम करने के लिए, आपको कुछ कैपेबिलिटीज़ जोड़ने की आवश्यकता है।
साइनिंग और कैपेबिलिटीज़ सेक्शन में, निम्नलिखित कैपेबिलिटीज़ जोड़ें:
Push NotificationsBackground Modes। इस कैपेबिलिटी को जोड़ने के बाद,Remote notificationsके लिए बॉक्स को चेक करें।
यदि आप टाइम सेंसिटिव नोटिफिकेशन (iOS 15+) का उपयोग करना चाहते हैं, तो Time Sensitive Notifications कैपेबिलिटी भी जोड़ें।
3.2 Info.plist
Anchor link toअपने Runner/Info.plist में __PUSHWOOSH_DEVICE_API_TOKEN__ की को Pushwoosh Device API Token पर सेट करें:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 मैसेज डिलीवरी ट्रैकिंग
Anchor link toआपको अपने प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ना होगा। यह सटीक डिलीवरी ट्रैकिंग और iOS पर रिच मीडिया जैसी सुविधाओं के लिए आवश्यक है।
एक्सटेंशन टारगेट और उसके भीतर आवश्यक Pushwoosh कोड जोड़ने के लिए नेटिव गाइड के स्टेप्स का पालन करें।
यह सुनिश्चित करने के लिए कि नोटिफिकेशन सर्विस एक्सटेंशन आपके Flutter प्रोजेक्ट में ठीक से इंटीग्रेटेड है, आपको निम्नलिखित Podfile कॉन्फ़िगरेशन का उपयोग करने की आवश्यकता है:
target 'NotificationServiceExtension' do use_frameworks! use_modular_headers!
pod 'PushwooshXCFramework'
inherit! :search_pathsend3.4 iOS Flutter प्रोजेक्ट के लिए डिपेंडेंसी इंस्टॉल करना
Anchor link toiOS Flutter प्रोजेक्ट के लिए डिपेंडेंसी इंस्टॉल करने के लिए, निम्नलिखित कमांड चलाएँ:
flutter runया टर्मिनल में ios फ़ोल्डर पर जाएँ और चलाएँ:
pod install --repo-update4. Android नेटिव सेटअप
Anchor link to4.1 डिपेंडेंसी इंस्टॉल करें
Anchor link toसुनिश्चित करें कि आवश्यक डिपेंडेंसी और प्लगइन्स आपके Gradle स्क्रिप्ट में जोड़े गए हैं:
Google Services Gradle प्लगइन को अपने प्रोजेक्ट-लेवल build.gradle डिपेंडेंसी में जोड़ें:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}प्लगइन को अपनी ऐप-लेवल build.gradle फ़ाइल में लागू करें:
apply plugin: 'com.google.gms.google-services'4.2 Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ें
Anchor link togoogle-services.json फ़ाइल को अपने प्रोजेक्ट डायरेक्टरी में android/app फ़ोल्डर में रखें।
4.3 Pushwoosh मेटाडेटा जोड़ें
Anchor link toअपने main/AndroidManifest.xml में <application> टैग के अंदर Pushwoosh Device API Token जोड़ें:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />महत्वपूर्ण: सुनिश्चित करें कि आप अपने Pushwoosh कंट्रोल पैनल में टोकन को सही ऐप का एक्सेस दें। और जानें
5. प्रोजेक्ट चलाएँ
Anchor link to- प्रोजेक्ट को बिल्ड करें और चलाएँ।
- Pushwoosh कंट्रोल पैनल पर जाएँ और एक पुश नोटिफिकेशन भेजें।
- आपको ऐप में नोटिफिकेशन दिखना चाहिए।
एक्सटेंडेड इंटीग्रेशन
Anchor link toइस स्तर पर, आपने पहले ही SDK को इंटीग्रेट कर लिया है और आप पुश नोटिफिकेशन भेज और प्राप्त कर सकते हैं। अब, आइए मुख्य कार्यक्षमता का पता लगाएँ।
पुश नोटिफिकेशन इवेंट लिसनर्स
Anchor link toPushwoosh SDK में दो इवेंट लिसनर्स हैं, जो पुश नोटिफिकेशन को संभालने के लिए डिज़ाइन किए गए हैं:
onPushReceivedइवेंट तब ट्रिगर होता है, जब कोई पुश नोटिफिकेशन प्राप्त होता है।onPushAcceptedइवेंट तब ट्रिगर होता है, जब कोई यूज़र नोटिफिकेशन खोलता है।
आपको एप्लिकेशन के स्टार्ट अप पर SDK के इनिशियलाइज़ेशन के ठीक बाद इन इवेंट लिसनर्स को सेटअप करना चाहिए:
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() }); }}ProGuard का उपयोग करना
Anchor link toइस प्रकार, आपको यह एक्सेप्शन मिल सकता है:
java.lang.IllegalStateException: Could not find class for name: com.pushwoosh.plugin.PushwooshNotificationServiceExtensionइस मामले में दो समाधान हैं:
- अपने कोड को बिना ऑब्फसकेशन के कंपाइल करने के लिए
flutter build apk --no-shrinkकमांड का उपयोग करें। - या आप मैन्युअल रूप से ProGuard को सक्षम कर सकते हैं और आवश्यक नियम जोड़ सकते हैं।
अपने प्रोजेक्ट के लिए ProGuard को सक्षम करने के लिए, अपनी 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यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो कृपया सपोर्ट और कम्युनिटी सेक्शन देखें।