دليل التكامل الأساسي لـ Cordova SDK
يحتوي هذا القسم على معلومات حول كيفية دمج Pushwoosh Cordova SDK في تطبيقك.
المتطلبات الأساسية
Anchor link toلدمج Pushwoosh Cordova SDK في تطبيقك، ستحتاج إلى ما يلي:
خطوات التكامل
Anchor link to1. إضافة اعتمادية Pushwoosh Cordova SDK
Anchor link toأضف اعتمادية Pushwoosh Cordova SDK إلى مشروعك:
cordova plugin add pushwoosh-cordova-plugin2. تهيئة Cordova SDK
Anchor link toفي المكون الجذري لملف index.js الخاص بك، أضف الكود التالي داخل معالج حدث deviceready. اتبع الخطوات بالترتيب الدقيق:
document.addEventListener('deviceready', function() { var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
// 1. Register notification callbacks before initialization document.addEventListener('push-receive', function(event) { var notification = event.notification; console.log("Push received: " + JSON.stringify(notification)); });
document.addEventListener('push-notification', function(event) { var notification = event.notification; console.log("Push opened: " + JSON.stringify(notification)); });
// 2. Initialize Pushwoosh pushwoosh.onDeviceReady({ appid: "__YOUR_APP_ID__" });
// 3. Register the device to receive push notifications pushwoosh.registerDevice( function(status) { var pushToken = status.pushToken; // Handle successful registration }, function(status) { // Handle registration error } );}, false);حيث:
__YOUR_APP_ID__هو رمز التطبيق من لوحة تحكم Pushwoosh.
3. الإعداد الأصلي لـ iOS
Anchor link to3.1 القدرات
Anchor link toلتمكين الإشعارات الفورية في مشروعك، تحتاج إلى إضافة قدرات معينة.
في قسم التوقيع والقدرات (Signing & Capabilities)، أضف القدرات التالية:
Push NotificationsBackground Modes. بعد إضافة هذه القدرة، حدد مربعRemote notifications.
إذا كنت تنوي استخدام الإشعارات الحساسة للوقت (Time Sensitive Notifications) (iOS 15+)، فأضف أيضًا قدرة Time Sensitive Notifications.
3.2 Info.plist
Anchor link toفي ملف Runner/Info.plist الخاص بك، اضبط مفتاح __PUSHWOOSH_DEVICE_API_TOKEN__ على رمز API للجهاز من Pushwoosh:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 تتبع تسليم الرسائل
Anchor link toيجب عليك إضافة هدف ملحق خدمة الإشعارات (Notification Service Extension) إلى مشروعك. هذا ضروري لتتبع التسليم بدقة وميزات مثل الوسائط الغنية (Rich Media) على iOS.
اتبع خطوات الدليل الأصلي لإضافة هدف الملحق وكود Pushwoosh اللازم بداخله.
4. الإعداد الأصلي لـ 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 toضع ملف google-services.json في مجلد android/app في دليل مشروعك.
4.3 إضافة بيانات Pushwoosh الوصفية
Anchor link toفي ملف main/AndroidManifest.xml الخاص بك، أضف رمز API للجهاز من Pushwoosh داخل وسم <application>:
<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 toفي Pushwoosh SDK، يوجد مستمعان للأحداث، مصممان للتعامل مع الإشعارات الفورية:
- يتم تشغيل حدث
push-receiveعند استلام إشعار فوري بينما يكون التطبيق في المقدمة - يتم تشغيل حدث
push-notificationعندما يفتح المستخدم إشعارًا
يجب تسجيل مستمعي الأحداث هؤلاء قبل استدعاء onDeviceReady()، كما هو موضح في خطوة التهيئة أعلاه. يمكنك تخصيص منطق المعالج ليناسب احتياجاتك:
// Register before onDeviceReady()document.addEventListener('push-receive', function(event) { var message = event.notification.message; var payload = event.notification.userdata; console.log("Push received: " + message); // Add your custom logic here});
document.addEventListener('push-notification', function(event) { var message = event.notification.message; var payload = event.notification.userdata; console.log("Push accepted: " + message); // Add your custom logic here (e.g., navigate to a specific screen)});تكوين المستخدم
Anchor link toمن خلال التركيز على سلوك المستخدم الفردي وتفضيلاته، يمكنك تقديم محتوى مخصص، مما يؤدي إلى زيادة رضا المستخدم وولائه
class Registration { afterUserLogin(user) {
// Set user ID pushwoosh.setUserId(user.getId());
// Setting additional user information as tags for Pushwoosh pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}العلامات (Tags)
Anchor link toالعلامات (Tags) هي أزواج من المفاتيح والقيم يتم تعيينها للمستخدمين أو الأجهزة، مما يسمح بالتقسيم بناءً على سمات مثل التفضيلات أو السلوك، مما يتيح المراسلة المستهدفة.
class UpdateUser { afterUserUpdateProfile(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() }); }}الأحداث (Events)
Anchor link toالأحداث (Events) هي إجراءات أو وقائع محددة للمستخدم داخل التطبيق يمكن تتبعها لتحليل السلوك وتشغيل الرسائل أو الإجراءات المقابلة
class Registration {
// Track login event afterUserLogin(user) { pushwoosh.postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
// Track purchase event afterUserPurchase(product) { pushwoosh.postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}استكشاف الأخطاء وإصلاحها
Anchor link toإذا واجهت أي مشاكل أثناء عملية التكامل، يرجى الرجوع إلى قسم الدعم والمجتمع.