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

السؤال

Recommended Posts

  • 0
نشر

يوجد حزمة fcm لذلك،

سيجب عليك أولا تثبيتها عن طريق مدير الحزم composer: 

composer require laravel-notification-channels/fcm

ثم حزمة kreait/laravel-firebase لأنها تقتضيها عند التثبيت: 

composer require kreait/laravel-firebase

ثم قم بتصريح متفير يوافق رابط قاعدة بيانات Firebase الخاصة بك: 

FIREBASE_DATABASE_URL=https://<your-project>.firebaseio.com

ثم بنشر اعدادات الحزمة: 

php artisan vendor:publish --provider="Kreait\Laravel\Firebase\ServiceProvider" --tag=config

سيمكن بعد ذلك البدء في استعمال الحزمة،  يمكنك القراءة عن المزيد تفاصيل التثبيت والاستعمال من هنا

  • 0
نشر

سأشرح لك الطريقة باستخدام خدمة Firebase Cloud Messaging (FCM) بدلاً من خدمة Pusher.

أولاً عليك تثبيت مكتبة FCM في مشروع Laravel، وتتوفر حزمة مثل "brozot/laravel-fcm" للقيام بذلك عن طريق تشغيل الأمر التالي:

composer require brozot/laravel-fcm

بمجرد تثبيت الحزمة، قم بتعديل ملف .env الخاص بتطبيق Laravel لتعيين الإعدادات الخاصة بـ FCM، ثم إضافة معلمة FCM_SERVER_KEY واستخدم قيمة مفتاح الخادم الخاص بك كقيمة لها.

FCM_SERVER_KEY=YOUR_FCM_SERVER_KEY

ثم تعديل ملف config/broadcasting.php لتكوين خادم البث الخاص بك بتعيين قيمة driver إلى 'fcm' واستبدل قيم المعلمات الأخرى بما يتناسب مع احتياجاتك، وهناك معلمات مثل fcm_options و log_enabled و http_options التي يمكنك ضبطها كما تشاء، كالتالي:

'fcm' => [
    'driver' => 'fcm',
    'log_enabled' => true,
    'http_options' => [
        // تعديل هذه القيم حسب احتياجاتك
        'timeout' => 30,
        'proxy' => null,
    ],
    'fcm_options' => [
        // تعديل هذه القيم حسب احتياجاتك
        'priority' => 'normal',
        'time_to_live' => 60,
    ],
],

والآن حددد FCM كقيمة لمفتاح BROADCAST_DRIVER في ملف .env لديك عن طريق إضافة السطر التالي:

BROADCAST_DRIVER=fcm

وأخيرًا تحديث ملف config/app.php لاستخدام مزود الخدمة المناسب، وإضافة السطر التالي إلى مصفوفة providers:

Brozot\LaravelFcm\LaravelFcmServiceProvider::class,
  • 0
نشر

لتحقيق هذا الهدف واستبدال إشعارات لوحة التحكم في Laravel بخدمة Firebase Cloud Messaging (FCM)، يلزمك القيام بالخطوات التالية:

تثبيت حزمة Laravel FCM: قم بتثبيت حزمة Laravel FCM باستخدام Composer عن طريق تشغيل الأمر التالي في مستودع مشروع Laravel الخاص بك:

composer require brozot/laravel-fcm

تكوين ملف .env: قم بفتح ملف .env الخاص بمشروع Laravel الخاص بك وقم بتحديد BROADCAST_DRIVER كـ "fcm":

BROADCAST_DRIVER=fcm

تحديد اعتمادات FCM: في نفس ملف .env، قم بتحديد اعتمادات Firebase Cloud Messaging الخاصة بك. يمكنك الحصول على هذه الاعتمادات من وحدة التحكم الخاصة بـ Firebase عن طريق إنشاء مشروع Firebase وتكوين خدمة FCM.

FCM_API_KEY=YOUR_FCM_API_KEY

تكوين ملف config/broadcasting.php: في ملف config/broadcasting.php، قم بتحديد القيمة التالية في مصفوفة connections:

'fcm' => [
    'driver' => 'fcm',
    'priority' => 'high',
    'apiKey' => env('FCM_API_KEY'),
    'dryRun' => false,
],

استخدام FCM في الكود: الآن يمكنك استخدام FCM في الكود الخاص بك لإرسال الإشعارات. يمكنك استخدام Laravel Broadcasting Events لتعريف الإشعارات وإرسالها باستخدام FCM. يمكنك الاطلاع على وثائق Laravel لمزيد من التفاصيل حول كيفية استخدام Broadcasting Events.

هذه هي الخطوات الأساسية لاستبدال إشعارات لوحة التحكم في Laravel بخدمة FCM. يمكنك أيضًا استكشاف المزيد من الميزات والخيارات المتاحة في حزمة Laravel FCM لتخصيص إعدادات FCM بما يتناسب مع احتياجاتك.

  • 0
نشر
بتاريخ On 29‏/6‏/2023 at 20:40 قال Mohammed Abu Yousef:

دائمًا يعرض لي هذه الرسالة عند محاولة إرسال أي إشعار

Driver [fcm] is not supported.

 

 قم بإضافة فئة FCMServiceProvider إلى ملف التكوين config/app.php باستخدام الخطوة التالية. 

'providers' => [
    ...
    /**
     * FCM Notifications
     */
    FCMServiceProvider::class,
    ...
]

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...