إضافة أجهزة اختبار الإشعارات
يمكنك استخدام أجهزة الاختبار (Test Devices) لمعاينة كيف تبدو إشعارات الدفع على الجهاز قبل إرسالها لمستخدمي التطبيق. للقيام بذلك، تحتاج إلى تسجيل جهازك (مع تثبيت تطبيقك عليه) كـ جهاز اختبار (Test Device).
لإضافة جهاز اختبار:
- انتقل إلى قسم Test devices في حساب Pushwoosh الخاص بك.

- انقر على زر القائمة المنسدلة Add Device في الزاوية العلوية اليمنى واختر Push.

يمكنك إضافة جهاز اختبار إشعارات باستخدام إحدى طريقتين: الإعداد التلقائي باستخدام رمز QR أو الإعداد اليدوي.
إضافة أجهزة الاختبار تلقائيًا
Anchor link toهذه الطريقة مناسبة فقط لأجهزة iOS و Android.
- في قسم Test Devices، انقر على Add Device واختر Push.
- امسح رمز QR الذي يظهر في النافذة المنبثقة. سيؤدي هذا إلى إنشاء رابط عميق (deep link) يمكن لـ Pushwoosh SDK تحليله لتسجيل جهازك تلقائيًا كجهاز اختبار.
- أضف الرابط العميق إلى إعدادات التطبيق:
- لـ Android: أضفه إلى ملف
AndroidManifest.xml. - لـ iOS: أضفه إلى ملف
Info.plist.
لمزيد من التفاصيل، اتبع التعليمات الخاصة بـ Android و iOS في قسم التنفيذ.
إضافة أجهزة الاختبار يدويًا
Anchor link toإذا كنت تفضل تسجيل جهاز اختبار يدويًا، فاتبع هذه الخطوات:
- احصل على معرف الجهاز (HWID) من استدعاء ناجح لواجهة برمجة التطبيقات
/registerDevice. - املأ الحقول المطلوبة:
- Device Name: اسم وصفي لجهاز الاختبار (على سبيل المثال، “John’s Android”).
- Device HWID: معرف الجهاز الفريد.
- Device Type: حدد المنصة (على سبيل المثال، iOS, Android, Web).
- Description (Optional): أضف أي ملاحظات أو تفاصيل حول الجهاز للرجوع إليها.
- انقر على Save لتسجيل جهاز الاختبار.
بمجرد التسجيل، سيكون جهاز الاختبار متاحًا في قسم Test Devices.
التنفيذ
Anchor link toAndroid
Anchor link to-
دمج Pushwoosh SDK مع تطبيقك.
-
أضف DeepLinkActivity إلى ملف AndroidManifest.xml الخاص بك:
<activity android:name="com.pushwoosh.DeepLinkActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="pushwoosh-YOUR_PUSHWOOSH_APP_ID" /> </intent-filter></activity>لا تنسَ استبدال YOUR_PUSHWOOSH_APP_ID في ملف xml أعلاه بمعرف تطبيق Pushwoosh الخاص بك.
مثال: <data android:scheme=“pushwoosh-ABCDE-EDCBA” />
-
قم بتشغيل التطبيق للاشتراك في إشعارات الدفع.
-
امسح رمز QR في نموذج Test Devices باستخدام أي تطبيق مناسب لمسح رموز QR*. ستظهر رسالة سريعة (toast message) تشير إلى حالة تسجيل جهاز الاختبار.
* معظم تطبيقات مسح رموز QR تتعامل مع هذه الروابط العميقة بشكل صحيح، وهنا بعض منها:
-
دمج Pushwoosh SDK مع تطبيقك.
-
أضف مخطط URL pushwoosh-YOUR_PUSHWOOSH_APP_ID إلى ملف Info.plist:
<key>CFBundleURLTypes</key><array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLName</key> <string>com.pushwoosh.scheme</string> <key>CFBundleURLSchemes</key> <array> <string>pushwoosh-YOUR_PUSHWOOSH_APP_ID</string> </array> </dict></array>لا تنسَ استبدال YOUR_PUSHWOOSH_APP_ID في ملف XML أعلاه بمعرف تطبيق Pushwoosh الخاص بك.
مثال: pushwoosh-ABCDE-EDCBA
Info.plist
أضف UIApplicationSceneManifest إلى ملف Info.plist الخاص بك.
<key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <true/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSessionRoleApplication</key> <array> <dict> <key>UISceneConfigurationName</key> <string></string> <key>UISceneDelegateClassName</key> <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string> </dict> </array> </dict> </dict>SceneDelegate
أضف كود SceneDelegate كما هو موضح في المثال أدناه.
import SwiftUI
@mainstruct DemoApp: App { @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene { WindowGroup { ContentView() } }}
class SceneDelegate: NSObject, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let _ = (scene as? UIWindowScene) else { return } }}
class AppDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate {
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { let sceneConfig: UISceneConfiguration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role) sceneConfig.delegateClass = SceneDelegate.self return sceneConfig }
}-
قم بتشغيل التطبيق للاشتراك في إشعارات الدفع.
-
امسح رمز QR في نموذج Test Devices باستخدام أي ماسح ضوئي مناسب لرموز QR.