اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ورحمة الله وبركاته .. 
اعمل علي تطبيقين .. المستخدم ومقدم الخدمة وقمت بعمل مشروع فاير بيز واحد لاستخدام الاشعارات وداخل هذا المشروع قمت بعمل تطبيقين ..

ولكني عندما ارسل الاشعارات فان الاشعارات تاتي للتطبيقين معا .. مع انني اخصص احد التطبيقات في new campain ولكن يتم ارسال الاشعارات للتطبيقين معا مع ان ملفات google-services.json ليست مكررة ووضعتها بشكل صحيح في كل تطبيق ..

 

فهل يجب ان اقوم بعمل مشروع لكل تطبيق؟ ام ان هناك خطأ ما ؟

Recommended Posts

  • 1
نشر

إذا قمت بإنشاء مشروع واحد في Firebase للاشتراك في الخدمة المشتركة بين تطبيق المستخدم وتطبيق مقدم الخدمة، فسوق يؤدي إلى تلقي الإشعارات في كلا التطبيقين، وهذا يحدث لأن المشروع في Firebase يعتبر كمنطقة مشتركة لجميع التطبيقات المرتبطة به.

فإذا كنت ترغب في تجنب تلقي الإشعارات في كلا التطبيقين، تستطيع اتخاذ إحدى الخيارات التالية:

1- إنشاء مشروع مستقل في Firebase لكل تطبيق (تطبيق المستخدم وتطبيق مقدم الخدمة)، مما سيفصل الإشعارات والتكوينات بين التطبيقين ويحد من تكرار الإشعارات.

2-  استخدام العلامات Tags في Firebase لتمييز المستخدمين ومقدمي الخدمة وإرسال الإشعارات بناءً على العلامات المحددة، عن طريق تعيين علامات مختلفة لكل تطبيق واستخدامها في عمليات إرسال الإشعارات لتحديد المستلم المناسب.

بمعنى في تطبيق المستخدم:

  • عند تسجيل المستخدم في التطبيق، يتم تعيين علامة مثل "user_app" للمستخدم باستخدام دالة setUserProperty في Firebase.
  • عند إرسال الإشعارات إلى مستخدمي التطبيق، قم بتحديد العلامة "user_app" كجزء من المستخدمين المستهدفين.

في تطبيق مقدم الخدمة:

  • عند تسجيل مقدم الخدمة في التطبيق، يتم تعيين علامة مثل "provider_app" لمقدم الخدمة باستخدام دالة setUserProperty في Firebase.
  • عند إرسال الإشعارات إلى مقدمي الخدمة، قم بتحديد العلامة "provider_app" كجزء من المستخدمين المستهدفين.

عمومًا، من الأفضل تصميم تطبيق Firebase بشكل منفصل لكل تطبيق، خاصة إذا كانت التطبيقات مستقلة تمامًا ولها متطلبات واحتياجات مختلفة.

  • 0
نشر

حسب وصفك، يبدو أنه تم إنشاء تطبيقين داخل مشروع واحد في Firebase، ولكن عند إرسال الإشعارات، يتم إرسالها لكل التطبيقين في المشروع بدلاً من تطبيق واحد فقط.

يجب عليك تعيين معرّف التطبيق (application ID) المخصص لكل تطبيق في Firebase. يمكنك القيام بذلك من خلال إضافة حزمة تطبيق جديدة في Firebase ونسخ معرّف التطبيق المخصص الخاص بكل تطبيق في الإعدادات.

من ثم، يجب عليك تحديد معرّف التطبيق (application ID) المناسب عند إرسال الإشعارات، مثل استخدام معرّف التطبيق الصحيح في خيار "target" في Firebase Cloud Messaging API عند إرسال الإشعارات.

تأكد من أن ملفات google-services.json الخاصة بكل تطبيق تم وضعها في المسار الصحيح في كل تطبيق وتحتوي على معرّف التطبيق المخصص الصحيح.

بعد ذلك، يمكنك إرسال الإشعارات إلى التطبيق المناسب باستخدام معرّف التطبيق الصحيح. يجب عليك أيضًا التأكد من أن تحديد "new campaign" يعمل بشكل صحيح ويتم تحديد التطبيق الصحيح في كل حملة.

إذا قمت بتحديد كل هذه الخطوات بشكل صحيح وما زالت المشكلة قائمة، فمن المشكلة قد تكون في إعدادات Firebase Cloud Messaging API الخاصة بك، ويجب عليك التحقق من الإعدادات والتأكد من أنها صحيحة. كما يمكنك التحقق من سجلات Firebase Cloud Messaging API للعثور على أي أخطاء تظهر هناك.

إذا لم تتمكن من حل المشكلة بنفسك، يمكنك الاستعانة بدعم Firebase للحصول على مساعدة إضافية في حل المشكلة.

  • 0
نشر

لا بالطبع، ليس ان تم القيام بالأمر بشكل جيد .. فإذا كنت تستخدم مشروع Firebase واحد لإرسال الإشعارات لتطبيقين منفصلين، فيجب التأكد من تكوين الإشعارات بشكل صحيح في مشروع Firebase واحد وربطه بكلا التطبيقين لإجتناب أي سيناريو مغلوط مثل تكرار ارسال الاشعارات.

هنا بعض الخطوات التي يمكنك اتباعها لتأكيد إرسال الإشعارات لكل تطبيق بشكل منفصل:

  1. تأكد من أنك قمت بإنشاء مشروع Firebase واحد وربطه بكلا التطبيقين في واجهة Firebase Console.
  2. تأكد من أنك قمت بتكوين ملف google-services.json الخاص بمشروع Firebase بشكل صحيح في كلا التطبيقين. كل تطبيق يجب أن يحتوي على ملف google-services.json الخاص به.
  3. في كود التطبيق الخاص بكل تطبيق، تأكد من تهيئة رمز المشروع الصحيح في ملف التكوين. يمكنك العثور على رمز المشروع في واجهة Firebase Console تحت إعدادات المشروع.
  4. استخدم توكن مختلف لكل تطبيق عند إرسال الإشعارات. قم بتخصيص الحمل (payload) لكل تطبيق بشكل فريد وقم بإرسال الإشعارات بواسطة التوكن المناسب لكل تطبيق.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...