دليل التكامل الأساسي لـ Capacitor SDK
يحتوي هذا القسم على معلومات حول كيفية دمج Pushwoosh Capacitor SDK في تطبيقك.
المتطلبات المسبقة
Anchor link toلدمج Pushwoosh Capacitor SDK في تطبيقك، ستحتاج إلى ما يلي:
خطوات التكامل
Anchor link to1. إضافة تبعية Pushwoosh Capacitor SDK
Anchor link toأضف تبعية Pushwoosh Capacitor SDK إلى مشروعك:
npm install pushwoosh-capacitor-pluginمزامنة تكوين Capacitor:
npx cap sync2. تهيئة Capacitor SDK
Anchor link toفي ملف JavaScript الرئيسي الخاص بك، قم باستيراد وتهيئة Pushwoosh SDK:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Initialize the SDKPushwoosh.onDeviceReady({ appid: "__YOUR_APP_CODE__", projectid: "__YOUR_FCM_SENDER_ID__"});
// Register for push notificationsPushwoosh.registerDevice() .then(result => { console.log("Push token:", result.pushToken); // Handle successful registration }) .catch(error => { console.error("Failed to register device:", error); // Handle registration error });حيث:
__YOUR_APP_CODE__هو رمز التطبيق من لوحة تحكم Pushwoosh.__YOUR_FCM_SENDER_ID__هو رقم مشروع Firebase من Firebase Console.
3. إعداد iOS الأصلي
Anchor link to3.1 الإمكانيات
Anchor link toلتمكين Push Notifications في مشروعك، تحتاج إلى إضافة بعض الإمكانيات.
في قسم 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_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 plugin إلى تبعيات 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 Capacitor SDK، توجد طريقتان للاستدعاء (callback methods) للتعامل مع إشعارات الدفع:
- يتم تشغيل
pushReceivedCallbackعند استلام إشعار دفع - يتم تشغيل
pushOpenedCallbackعندما يفتح المستخدم إشعارًا
يجب عليك إعداد هذه الاستدعاءات مباشرة بعد تهيئة SDK:
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
// Set up push received callbackawait Pushwoosh.pushReceivedCallback((notification, err) => { if (err) { console.error("Failed to process received notification:", err); } else { console.log("Push received:", JSON.stringify(notification)); // Handle the received notification }});
// Set up push opened callbackawait Pushwoosh.pushOpenedCallback((notification, err) => { if (err) { console.error("Failed to process opened notification:", err); } else { console.log("Push opened:", JSON.stringify(notification)); // Handle the opened notification }});تكوين المستخدم
Anchor link toمن خلال التركيز على سلوك المستخدم الفردي وتفضيلاته، يمكنك تقديم محتوى مخصص، مما يؤدي إلى زيادة رضا المستخدم وولائه
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class Registration { async afterUserLogin(user) {
// Set user ID Pushwoosh.setUserId(user.getId);
// Setting additional user information as tags for Pushwoosh await Pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}العلامات (Tags)
Anchor link toالعلامات هي أزواج من المفتاح والقيمة يتم تعيينها للمستخدمين أو الأجهزة، مما يتيح التجزئة بناءً على سمات مثل التفضيلات أو السلوك، مما يمكن من إرسال رسائل مستهدفة.
import { Pushwoosh } from 'pushwoosh-capacitor-plugin';
class UpdateUser { async afterUserUpdateProfile(user) {
// Set list of favorite categories await Pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Set payment information await Pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}الأحداث (Events)
Anchor link toالأحداث هي إجراءات أو أحداث محددة للمستخدم داخل التطبيق يمكن تتبعها لتحليل السلوك وتشغيل الرسائل أو الإجراءات المقابلة
import { Pushwoosh } => 'pushwoosh-capacitor-plugin';
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إذا واجهت أي مشاكل أثناء عملية التكامل، يرجى الرجوع إلى قسم الدعم والمجتمع.