简体   繁体   English

通过 Firebase 从 Laravel 服务器向 Android 应用程序发送推送通知

[英]Send Push Notifications from Laravel Server to Android App via Firebase

is it possible to send a push notification to android but through laravel based dashboard, rather than through the firebase console?是否可以通过基于 laravel 的仪表板而不是通过 firebase 控制台向 android 发送推送通知?

And if possible, what are the steps?如果可能,步骤是什么?

Thank you.谢谢你。

You can create helper function for it.您可以为其创建助手 function。

Try this:-尝试这个:-

function notifications($token=null,$title=null,$message=null,$user_id=null)
{
    $path_to_firebase_cm = 'https://fcm.googleapis.com/fcm/send';
    $fields = array(
        'to' => $token,
        'notification' => array('title' => $title, 'body' => $message, 'sound' => 'default', 'click_action' => 'FLUTTER_NOTIFICATION_CLICK', 'icon' => 'fcm_push_icon'),
        'data' => array('title' => $title, 'body' => $message, 'sound' => 'default', 'icon' => 'fcm_push_icon'),
    );
    $headers = array(
        'Authorization:key=' . 'Your-fcm-key',
        'Content-Type:application/json'
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $path_to_firebase_cm); 
    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($fields));
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

You can use this function您可以使用此 function

public function send_fcm_notification($title,$body,$target,$chid){
  define( 'API_ACCESS_KEY', 'ENTER_API_KEY_HERE' );
  $fcmMsg = array(
             'title' => $title,
             'body' => $body,
             'channelId' => $chid
            );
  $fcmFields = array(
                'to' => $target, //tokens sending for notification
                'notification' => $fcmMsg,
               );
  $headers = array(
                 'Authorization: key=' . API_ACCESS_KEY,
                 'Content-Type: application/json'
               );
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, true );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fcmFields ) );
$result = curl_exec($ch );
curl_close( $ch );
//echo $result . "\n\n";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM