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

السؤال

نشر

تحيه طيبه للجميع

ارغب بمعرفة كيفية عمل service  يعمل في خلفية التطبيق بستمرار في فلاتر ياليت اذا احد معه مثال بسيط لعمل ذلك يشاركه معنا ربي يعطيكم العافيه

Recommended Posts

  • 1
نشر
بتاريخ 21 دقائق مضت قال مروان مروان3:

ولكن عزيزي انا بياناتي على قاعدة بيانات mysql مثلا التعليقات تحفظ على جدول في هذا القاعدة وانا اريد اعطي المستخدم تنبيه انه فيه تعليق جديد كيف رح اربط الاثنين ؟هل توجد طريقة لذلك

عليك في البداية استخدام Firebase Cloud Messaging.

من ثم يمكنك استدعاء ال API بواسطة PHP من خلال الكود في الأسفل فقط عليك تغير key وtoken

<?php
define('API_ACCESS_KEY','Api key from Fcm add here');
 $fcmUrl = 'https://fcm.googleapis.com/fcm/send';
 $token='235zgagasd634sdgds46436';

     $notification = [
            'title' =>'title',
            'body' => 'body of message.',
            'icon' =>'myIcon', 
            'sound' => 'mySound'
        ];
        $extraNotificationData = ["message" => $notification,"moredata" =>'dd'];

        $fcmNotification = [
            //'registration_ids' => $tokenList, //multple token array
            'to'        => $token, //single token
            'notification' => $notification,
            'data' => $extraNotificationData
        ];

        $headers = [
            'Authorization: key=' . API_ACCESS_KEY,
            'Content-Type: application/json'
        ];


        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$fcmUrl);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fcmNotification));
        $result = curl_exec($ch);
        curl_close($ch);


        echo $result;

 

  • 0
نشر

لا توجد طريقة للقيام بذلك مباشرة من flutter في الوقت الحالي على الرغم من أن ذلك قد يتغير في مرحلة ما - يمكنك مراجعة iOS/Android Background Execution. لديك خياران رغم ذلك.

الخيار الأول هو استخدام MethodChannels وكتابة رمز android الذي تريده لإنشاء خدمة في الخلفية.

والخيار الثاني هو مزيج من هذين الملحقين (plugins) - android_alarm_manager و android_intent. لكن هذا لن يساعد في جميع حالات الاستخدام.

  • 0
نشر
بتاريخ 21 دقائق مضت قال Abdulhamid Hamsho:

لا توجد طريقة للقيام بذلك مباشرة من flutter في الوقت الحالي على الرغم من أن ذلك قد يتغير في مرحلة ما - يمكنك مراجعة iOS/Android Background Execution. لديك خياران رغم ذلك.

الخيار الأول هو استخدام MethodChannels وكتابة رمز android الذي تريده لإنشاء خدمة في الخلفية.

والخيار الثاني هو مزيج من هذين الملحقين (plugins) - android_alarm_manager و android_intent. لكن هذا لن يساعد في جميع حالات الاستخدام.

اهلا بك عزيزي

اذا كان لا توجد خدمة  service  كيف يتم عمل نظام الاشعارات اذن للمستخدم في فلاتر؟ 

  • 0
نشر
بتاريخ 11 دقائق مضت قال مروان مروان3:

اهلا بك عزيزي

اذا كان لا توجد خدمة  service  كيف يتم عمل نظام الاشعارات اذن للمستخدم في فلاتر؟ 

يمكنك ذلك من خلال firebase_messaging.

  • 0
نشر
بتاريخ الآن قال Abdulhamid Hamsho:

يمكنك ذلك من خلال firebase_messaging.

ولكن عزيزي انا بياناتي على قاعدة بيانات mysql مثلا التعليقات تحفظ على جدول في هذا القاعدة وانا اريد اعطي المستخدم تنبيه انه فيه تعليق جديد كيف رح اربط الاثنين ؟هل توجد طريقة لذلك

  • 0
نشر (معدل)

كما الأخ Abdulhamid Hamsho

حالياً لا يمكن..

فقط أريد أن أضيف أن هناك إضافةً أخرى غير التي ذكر..

background_fetch

قد تنفع في مسألتك أكثر

تم التعديل في بواسطة رضوان نسيم
  • 0
نشر
بتاريخ الآن قال Abdulhamid Hamsho:

عليك في البداية استخدام Firebase Cloud Messaging.

من ثم يمكنك استدعاء ال API بواسطة PHP من خلال الكود في الأسفل فقط عليك تغير key وtoken


<?php
define('API_ACCESS_KEY','Api key from Fcm add here');
 $fcmUrl = 'https://fcm.googleapis.com/fcm/send';
 $token='235zgagasd634sdgds46436';

     $notification = [
            'title' =>'title',
            'body' => 'body of message.',
            'icon' =>'myIcon', 
            'sound' => 'mySound'
        ];
        $extraNotificationData = ["message" => $notification,"moredata" =>'dd'];

        $fcmNotification = [
            //'registration_ids' => $tokenList, //multple token array
            'to'        => $token, //single token
            'notification' => $notification,
            'data' => $extraNotificationData
        ];

        $headers = [
            'Authorization: key=' . API_ACCESS_KEY,
            'Content-Type: application/json'
        ];


        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$fcmUrl);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fcmNotification));
        $result = curl_exec($ch);
        curl_close($ch);


        echo $result;

 

زادك الله من واسع فضله عزيزي تسلم

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...