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

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

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

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

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) {
// 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

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

  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

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