सामग्री पर जाएं

फ्लटर एसडीके बेसिक इंटीग्रेशन गाइड

इस सेक्शन में यह जानकारी है कि आप अपने एप्लिकेशन में पुशवूश फ्लटर एसडीके को कैसे इंटीग्रेट कर सकते हैं।

आवश्यक शर्तें

Anchor link to

अपने ऐप में पुशवूश फ्लटर एसडीके को इंटीग्रेट करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:

इंटीग्रेशन के चरण

Anchor link to

1. पुशवूश फ्लटर एसडीके डिपेंडेंसी जोड़ें

Anchor link to

अपनी pubspec.yaml फ़ाइल में pushwoosh_flutter पैकेज जोड़ें:

pubspec.yaml
dependencies:
flutter:
sdk: flutter
# Use the latest version from https://pub.dev/packages/pushwoosh_flutter
pushwoosh_flutter: ^[LATEST_VERSION]

pub.dev पर नवीनतम संस्करण देखें।

फिर, डिपेंडेंसी इंस्टॉल करने के लिए अपने प्रोजेक्ट की रूट डायरेक्टरी में निम्नलिखित कमांड चलाएँ:

Terminal window
flutter pub get

दोबारा जांचें कि पैकेज सही ढंग से इंस्टॉल हो गया है:

Terminal window
flutter pub deps | grep pushwoosh_flutter
# Example output:
# ❯ flutter pub deps | grep pushwoosh_flutter
# └── pushwoosh_flutter 2.3.11

2. फ्लटर एसडीके इनिशियलाइज़ेशन

Anchor link to

आपकी main.dart फ़ाइल के रूट कंपोनेंट में:

  • pushwoosh_flutter पैकेज को इम्पोर्ट करें।
  • पुशवूश एसडीके को इनिशियलाइज़ करें।
  • पुश नोटिफिकेशन के लिए रजिस्टर करने के लिए अपनी इनिशियलाइज़ेशन लॉजिक में registerForPushNotifications() को कॉल करें।
main.dart
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 to

3.1 क्षमताएं

Anchor link to

अपने प्रोजेक्ट में पुश नोटिफिकेशन सक्षम करने के लिए, आपको कुछ क्षमताएं जोड़ने की आवश्यकता है।

साइनिंग और क्षमताएं सेक्शन में, निम्नलिखित क्षमताएं जोड़ें:

  • पुश नोटिफिकेशन
  • बैकग्राउंड मोड्स। इस क्षमता को जोड़ने के बाद, रिमोट नोटिफिकेशन के लिए बॉक्स को चेक करें।

यदि आप टाइम सेंसिटिव नोटिफिकेशन (आईओएस 15+) का उपयोग करना चाहते हैं, तो टाइम सेंसिटिव नोटिफिकेशन क्षमता भी जोड़ें।

3.2 Info.plist

Anchor link to

अपने Runner/Info.plist में __PUSHWOOSH_DEVICE_API_TOKEN__ कुंजी को पुशवूश डिवाइस एपीआई टोकन पर सेट करें:

info.plist
<key>Pushwoosh_API_TOKEN</key>
<string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>

3.3 संदेश डिलीवरी ट्रैकिंग

Anchor link to

आपको अपने प्रोजेक्ट में एक नोटिफिकेशन सर्विस एक्सटेंशन टारगेट जोड़ना होगा। यह आईओएस पर सटीक डिलीवरी ट्रैकिंग और रिच मीडिया जैसी सुविधाओं के लिए आवश्यक है।

एक्सटेंशन टारगेट और उसके भीतर आवश्यक पुशवूश कोड जोड़ने के लिए नेटिव गाइड के चरणों का पालन करें।

यह सुनिश्चित करने के लिए कि नोटिफिकेशन सर्विस एक्सटेंशन आपके फ्लटर प्रोजेक्ट में ठीक से इंटीग्रेटेड है, आपको निम्नलिखित पॉडफाइल कॉन्फ़िगरेशन का उपयोग करने की आवश्यकता है:

Podfile
target 'NotificationServiceExtension' do
use_frameworks!
use_modular_headers!
pod 'PushwooshXCFramework'
inherit! :search_paths
end

3.4 आईओएस फ्लटर प्रोजेक्ट के लिए डिपेंडेंसी इंस्टॉल करना

Anchor link to

आईओएस फ्लटर प्रोजेक्ट के लिए डिपेंडेंसी इंस्टॉल करने के लिए, निम्नलिखित कमांड चलाएँ:

Terminal window
flutter run

या टर्मिनल में ios फ़ोल्डर पर जाएँ और चलाएँ:

Terminal window
pod install --repo-update

4. एंड्रॉइड नेटिव सेटअप

Anchor link to

4.1 डिपेंडेंसी इंस्टॉल करें

Anchor link to

सुनिश्चित करें कि आवश्यक डिपेंडेंसी और प्लगइन्स आपके ग्रेडल स्क्रिप्ट में जोड़े गए हैं:

अपने प्रोजेक्ट-स्तरीय build.gradle डिपेंडेंसी में गूगल सर्विसेज ग्रेडल प्लगइन जोड़ें:

android/build.gradle
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
}
}

अपने ऐप-स्तरीय build.gradle फ़ाइल में प्लगइन लागू करें:

app/build.gradle
apply plugin: 'com.google.gms.google-services'

4.2 फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें

Anchor link to

google-services.json फ़ाइल को अपने प्रोजेक्ट डायरेक्टरी में android/app फ़ोल्डर में रखें।

4.3 पुशवूश मेटाडेटा जोड़ें

Anchor link to

अपने main/AndroidManifest.xml में <application> टैग के अंदर पुशवूश डिवाइस एपीआई टोकन जोड़ें:

AndroidManifest.xml
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />

महत्वपूर्ण: सुनिश्चित करें कि आप अपने पुशवूश कंट्रोल पैनल में सही ऐप को टोकन एक्सेस दें। और जानें

5. प्रोजेक्ट चलाएँ

Anchor link to
  1. प्रोजेक्ट को बिल्ड और रन करें।
  2. पुशवूश कंट्रोल पैनल पर जाएं और एक पुश नोटिफिकेशन भेजें
  3. आपको ऐप में नोटिफिकेशन दिखना चाहिए।

विस्तारित इंटीग्रेशन

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

इस मामले में दो समाधान हैं:

  1. अपने कोड को बिना ऑब्फसकेशन के कंपाइल करने के लिए flutter build apk --no-shrink कमांड का उपयोग करें।
  2. या आप मैन्युअल रूप से प्रो-गार्ड को सक्षम कर सकते हैं और आवश्यक नियम जोड़ सकते हैं।

अपने प्रोजेक्ट के लिए प्रो-गार्ड को सक्षम करने के लिए, अपनी build.gradle फ़ाइल में निम्नलिखित स्ट्रिंग्स जोड़ें:

build.gradle
buildTypes {
release {
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
}

फिर, android/app/proguard-rules.pro में निम्नलिखित नियम जोड़ें

proguard-rules.pro
#Pushwoosh Flutter
-keep class com.pushwoosh.plugin.PushwooshPlugin { *; }
-keep class com.pushwoosh.plugin.PushwooshNotificationServiceExtension { *; }

समस्या निवारण

Anchor link to

यदि आपको इंटीग्रेशन प्रक्रिया के दौरान कोई समस्या आती है, तो कृपया समर्थन और समुदाय सेक्शन देखें।