أسئلة شائعة حول Outsystems
إدارة ملفات google-services في المشاريع التي تحتوي على عدة أسماء حزم محتملة
Anchor link toفي المكون الإضافي، يمكنك إضافة عدة ملفات google-service.json إلى مشروعك، والتي سيتم اختيارها بناءً على اسم الحزمة المحدد أثناء البناء.
إذا كنت ترغب في التبديل بين مشاريع Firebase متعددة (لكل منها ملف تكوين google-services.json خاص به)، فاتبع الخطوات التالية:
-
أنشئ أرشيف ZIP. ضع كل ملف
google-services.jsonفي أرشيف.zipباسمgoogle-services.zip. -
عند إضافة ملف
.zipهذا إلى المشروع، اضبط الإجراء على Deploy to Target Directory وحدد الدليل الهدف كـgoogle-services/${package_name}.
على سبيل المثال، إذا كان اسم حزمة المشروع هو com.pushwoosh.demo، فسيكون الدليل الهدف هو google-services/com.pushwoosh.demo.

- أثناء بناء المشروع، حدد اسم الحزمة المقابل.

حل التعارضات بين المكونات الإضافية المتعددة التي تعتمد على FirebaseMessagingService
Anchor link toلا يقوم Android بحل هذه التعارضات تلقائيًا، لذا يجب القيام بذلك يدويًا. نظرًا لأن كل مكون إضافي له منطقه الخاص، لا يمكننا توفير كود عالمي يعمل مع جميع المكونات الإضافية الممكنة.
إليك كيفية معالجة التعارضات:
- اكتب فئة موجه (router class) في Java لمعالجة التعارض. يجب تسمية هذه الفئة
FirebaseMessagingRouterService.
ارجع إلى الدليل للحصول على مثال: استخدام Pushwoosh SDK مع خدمات FCM الأخرى.
-
سمِّ ملف الفئة. يجب تسمية الملف الذي يحتوي على هذه الفئة
FirebaseMessagingRouterService.java. -
ضع هذا الملف في أرشيف
.zipباسمFirebaseMessagingRouterService.zip. -
أضف هذا الأرشيف إلى موارد مشروع Outsystems الخاص بك.
-
اضبط الإجراء على Deploy to Target Directory، وحدد الدليل الهدف كـ
FirebaseMessagingRouterService.

كل إشعار جديد يحل محل الإشعار السابق على Android
Anchor link toبشكل افتراضي، يعمل Pushwoosh Android SDK في وضع الإشعار الفردي: يتم نشر كل إشعار دفع بنفس معرف الإشعار، لذا فإن كل إشعار جديد يحل محل الإشعار السابق. لا يتعلق هذا بمصنّع الجهاز أو بـ collapse_key.
بدءًا من إصدار مكون Pushwoosh Plugin 4.7.0، قم بتمكين التكديس باستخدام إجراء العميل الجاهز SetMultiNotificationMode:
- حدّث مكون Pushwoosh Plugin من Forge.
- حدّث الاعتمادية على وحدة PushwooshPlugin (Manage Dependencies).
- أضف
SetMultiNotificationModeإلى تدفق يتم تشغيله بعد التهيئة — على سبيل المثال، معالج حدثOnInitializeOver، مباشرة بعدRegisterDevice. لا يأخذ الإجراء أي معلمات، ويتم تخزين استدعاء ناجح واحد بواسطة SDK ويبقى بعد إعادة التشغيل.
سيظهر كل إشعار دفع بعد ذلك كإشعار منفصل. يقوم Android بتجميعها في مكدس واحد قابل للتوسيع مع عداد — وهذا هو التجميع القياسي للنظام. ملاحظة: الإشعارات المرسلة بقيمة android_tag لا تزال تحل محل بعضها البعض بغض النظر عن الوضع.