إعداد تطبيق عميل "المراسلة عبر السحابة الإلكترونية من Firebase" على Flutter

اتّبِع الخطوات التالية لإعداد برنامج "المراسلة عبر السحابة الإلكترونية من Firebase" على Flutter.

المتطلبات والعملية الخاصة بالنظام الأساسي

تعتمد بعض الخطوات المطلوبة على النظام الأساسي الذي تستهدفه.

iOS+

تفعيل إمكانات التطبيق في Xcode

قبل أن يبدأ التطبيق في تلقي الرسائل، يجب تفعيل إرسال الإشعارات وأوضاع الخلفية في مشروع Xcode.

  1. افتح مساحة عمل مشروع Xcode (ios/Runner.xcworkspace).
  2. فعِّل الإشعارات الفورية.
  3. فعِّل ميزتَي استرجاع البيانات في الخلفية والإشعارات عن بُعد. أوضاع التنفيذ في الخلفية:

تحميل مفتاح مصادقة أسماء نقاط الوصول (APN)

قبل استخدام خدمة "المراسلة عبر السحابة الإلكترونية من Firebase"، حمِّل شهادة أسماء نقاط الوصول إلى Firebase إلى Firebase. إذا لم تحدد لديك بالفعل شهادة أسماء نقاط الوصول، عليك إنشاء شهادة في مركز أعضاء مطوّري برامج Apple

  1. داخل مشروعك في وحدة تحكم Firebase، اختر رمز الترس، ثم اختر إعدادات المشروع، ثم اختَر علامة التبويب المراسلة عبر السحابة الإلكترونية.
  2. انقر على الزر Upload Certificate (تحميل الشهادة) لشهادة التطوير أو شهادة الإنتاج أو كليهما. ويجب إدراج لقطة شاشة واحدة على الأقل.
  3. اختَر ملف .p12 لكل شهادة وأدخِل كلمة المرور في حال أي نوع. تأكَّد من أنّ معرِّف الحزمة لهذه الشهادة يتطابق مع معرِّف الحزمة تطبيقك. انقر على حفظ.

طريقة التدوير

لاستخدام المكوّن الإضافي FCM Flutter على أجهزة Apple، يجب عدم إيقاف الطريقة يَوْمًا مع العلم أنّ استخدام Swizzing مطلوب، وبدونه، من الميزات الأساسية في Firebase، مثل لا تعمل طريقة معالجة الرمز المميّز لخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" بشكل صحيح.

Android

خدمات Google Play

تتطلب برامج "المراسلة عبر السحابة الإلكترونية من Firebase" أجهزة تعمل بالإصدار 4.4 من نظام التشغيل Android أو إصدار أحدث، وتتضمّن أيضًا أجهزة خدمات Play المثبَّتة، أو المحاكي الذي يعمل بالإصدار 4.4 من نظام التشغيل Android مع واجهات Google APIs يُرجى ملاحظة أنّه لا تقتصر على نشر تطبيقات Android من خلال Google Play. التخزين.

يجب أن تتحقّق دائمًا التطبيقات التي تعتمد على "حزمة SDK لخدمات Play" من الجهاز بحثًا عن حزمة APK متوافقة مع "خدمات Google Play" قبل الوصول إلى "خدمات Google Play" الجديدة. ويوصى بالقيام بذلك في مكانين: في النشاط الرئيسي، onCreate()، وفي طريقة onResume(). تسجيل الوصول في onCreate() تضمن عدم إمكانية استخدام التطبيق بدون إجراء عملية فحص ناجحة. تسجيل الحضور تضمن الدالة onResume() أنه إذا عاد المستخدم إلى التطبيق قيد التشغيل من خلال بعض وسائل أخرى، مثل زر الرجوع، سيستمر إجراء الفحص.

إذا لم يكن لدى الجهاز إصدار متوافق من "خدمات Google Play"، يجب التطبيق الاتصال GoogleApiAvailability.makeGooglePlayServicesAvailable() للسماح للمستخدمين بتنزيل خدمات Google Play من "متجر Play".

الويب

ضبط بيانات اعتماد الويب باستخدام خدمة "المراسلة عبر السحابة الإلكترونية من Firebase"

تستخدم واجهة الويب لخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" بيانات اعتماد الويب المسماة "خادم التطبيق التطوعي". التعريف" أو "VAPID" للسماح بإرسال طلبات إلى صفحات الويب المتوافقة خدمات الدفع. للاشتراك في تطبيقك لتلقّي الإشعارات الفورية، يجب: ربط مفتاحَين بمشروعك على Firebase يمكنك إما إنشاء أو استيراد مفتاحَي تشفير حاليَين من خلال وحدة تحكُّم Firebase.

إنشاء مفتاحَي تشفير جديدَين
  1. افتح المراسلة عبر السحابة الإلكترونية. في لوحة الإعدادات ضمن وحدة تحكُّم Firebase وانتقِل إلى قسم إعدادات الويب.

  2. في علامة التبويب شهادات Web Push، انقر على إنشاء مفتاحَي تشفير. تشير رسالة الأشكال البيانية إشعارًا بأنّه تم إنشاء مفتاحَي التشفير، كما تعرض سلسلة المفتاح العام وتاريخ إضافة

استيراد مفتاحَي تشفير حاليَين

إذا كان لديك مفتاحا تشفير حاليان تستخدمهما حاليًا مع تطبيق الويب، عليك استيراده إلى خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" للوصول إلى تطبيق الويب الحالي الحالات من خلال واجهات برمجة تطبيقات "المراسلة عبر السحابة الإلكترونية من Firebase". لاستيراد المفاتيح، يجب أن يكون لديك إذن وصول على مستوى المالك إلى مشروع Firebase استيراد البيانات العامة الحالية مفتاح خاص في شكل ترميز آمن لعنوان URL الأساسي في base64:

  1. افتح المراسلة عبر السحابة الإلكترونية. في لوحة الإعدادات ضمن وحدة تحكُّم Firebase وانتقِل إلى قسم إعدادات الويب.

  2. في علامة التبويب شهادات Web Push، ابحث عن نص الرابط "استيراد" واختَره. زوج مفاتيح موجود".

  3. في مربّع الحوار استيراد مفتاحَي تشفير، قدِّم المفاتيح العامة والخاصة في الحقول المقابلة وانقر على استيراد. تعرض وحدة التحكم سلسلة المفتاح العام وتاريخ إضافة

لمزيد من المعلومات حول تنسيق المفاتيح وكيفية إنشائها، راجِع مفاتيح خادم التطبيقات.

تثبيت المكوّن الإضافي لخدمة "المراسلة عبر السحابة الإلكترونية من Firebase"

  1. تثبيت مكوّنات Firebase الإضافية من أجل Flutter وإعدادها إذا لم تكن قد قمت بذلك بالفعل.

  2. من جذر مشروع Flutter، نفِّذ الأمر التالي لتثبيت. المكون الإضافي:

    flutter pub add firebase_messaging
    
  3. بعد إكمال الخطوات، أعِد إنشاء تطبيق Flutter:

    flutter run
    

الوصول إلى الرمز المميّز للتسجيل

لإرسال رسالة إلى جهاز محدد، يجب معرفة الرمز المميز للتسجيل. ولأنّك ستحتاج إلى إدخال الرمز المميّز في حقل في وحدة التحكّم في الإشعارات لإكمال هذا الدليل التعليمي، يجب نسخ الرمز المميّز أو تخزينها بشكل آمن بعد استرجاعها.

لاسترداد الرمز المميز للتسجيل الحالي لمثيل تطبيق، اتصل getToken() إذا لم يتم منح إذن إرسال الإشعارات، ستؤدي هذه الطريقة إلى طلب أذونات إرسال الإشعارات من المستخدم. وإلا، فإنه يعرض رمزًا مميزًا أو يرفض المستقبل بسبب خطأ.

// You may set the permission requests to "provisional" which allows the user to choose what type
// of notifications they would like to receive once the user receives a notification.
final notificationSettings = await FirebaseMessaging.instance.requestPermission(provisional: true);

// For apple platforms, ensure the APNS token is available before making any FCM plugin API calls
final apnsToken = await FirebaseMessaging.instance.getAPNSToken();
if (apnsToken != null) {
 // APNS token is available, make FCM plugin API requests...
}

على الأنظمة الأساسية للويب، أرسِل مفتاح VAPID العام إلى getToken():

final fcmToken = await FirebaseMessaging.instance.getToken(vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu");

لتلقّي إشعارات عند تعديل الرمز المميّز، اشترِك في onTokenRefresh. البث:

FirebaseMessaging.instance.onTokenRefresh
    .listen((fcmToken) {
      // TODO: If necessary send token to application server.

      // Note: This callback is fired at each app startup and whenever a new
      // token is generated.
    })
    .onError((err) {
      // Error getting token.
    });

منع الإعداد التلقائي

عند إنشاء رمز مميز للتسجيل في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase"، يتم تحميل المكتبة بيانات المعرّف والتهيئة إلى Firebase. إذا كنت تفضل منع الإنشاء التلقائي للرمز المميز، قم بإيقاف التهيئة التلقائية في وقت الإصدار.

iOS

على iOS، أضِف قيمة للبيانات الوصفية إلى Info.plist:

FirebaseMessagingAutoInitEnabled = NO

Android

على نظام التشغيل Android، أوقِف جمع "إحصاءات Google" والإعداد التلقائي للمراسلة عبر السحابة الإلكترونية من Firebase (يجب إيقاف كليهما) من خلال إضافة قيم البيانات الوصفية هذه إلى AndroidManifest.xml:

<meta-data
    android:name="firebase_messaging_auto_init_enabled"
    android:value="false" />
<meta-data
    android:name="firebase_analytics_collection_enabled"
    android:value="false" />

إعادة تفعيل التشغيل التلقائي للمراسلة عبر السحابة الإلكترونية من Firebase في وقت التشغيل

لتفعيل التشغيل التلقائي لمثيل تطبيق معيّن، يمكنك طلب setAutoInitEnabled():

await FirebaseMessaging.instance.setAutoInitEnabled(true);

تظل هذه القيمة سارية في جميع عمليات إعادة تشغيل التطبيق بعد ضبطها.

الخطوات التالية

بعد إعداد تطبيق العميل، ستكون جاهزًا لبدء إرسال ما بعد بيع المنتج. الرسائل مع مؤلف الإشعارات راجِع إرسال رسالة اختبار إلى تطبيق في الخلفية.

لإضافة سلوك آخر أكثر تقدّمًا إلى تطبيقك، ستحتاج إلى تنفيذ الخادم.

بعد ذلك، ضِمن برنامج تطبيقك: