- จากเรื่องทั้งหมดเกี่ยวกับ push notify, add firebase
- http://juuier.blogspot.com/2020/07/add-firebase-service-to-flutter-project.html
- http://juuier.blogspot.com/2020/07/flutter-push-notify-local.html
- http://juuier.blogspot.com/2020/07/flutter-push-notify-by-firebase.html
- http://juuier.blogspot.com/2020/07/flutter-push-notify-by-firebase-2.html
- ที่นี้เราจะทำการสั่งให้ เครื่องเราสั่งให้ firebase ส่งข้อความให้เราเลยด้วย php
- เข้าไปที่โปรเจค Firebase ที่เราได้สร้างและ ผูกกับ Flutter app เราไว้
- เลือกที่ app ของเราเลือก
- มันจะขึ้นฟันเฟืองเลือกซะ
- ไปที่ Cloud Messaging มองหา Server key
- เราจะเอา Server key นี่แหละไปใช้ต่อใน PHP เรา
- สร้าง Class และ function ไว้ใน Class รอนำไปใช้
- url ที่เราจะส่งไปคือ https://fcm.googleapis.com/fcm/send
- ใส่ server key
class FCM {
public function send_notification($token, $payload_notification, $payload_data) {
$url = 'https://fcm.googleapis.com/fcm/send';
$server_key = "AAAAd5RlNIc:APA91bFd3DplNtHcxGIauRHHJnXXXkCak6VaM4te6IA89H4MKr-OqzlapuohWNS-4rIZgdOWQu00tlUOWXMxLP9ROCffcuXth2N7nO9-CsbEkgirwaEk35DuuXeFOg-9Oeo0XmPzEd41";
$fields = array(
'registration_ids' => $token,
// 'condition' => "'logined' in topics || 'news' in topics",
// 'to' => '/topics/news',
'priority' => 'normal',
'notification' => $payload_notification,
'data' => $payload_data
);
$headers = array(
"Authorization: key=$server_key",
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Disabling SSL Certificate support temporary
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// Execute post
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
// Close connection
curl_close($ch);
echo $result;
}
}
?>
- ที่นี้เรียกใช้งาน Class ที่เราสร้างขึ้น โดยเราต้องไปเอา Token จาก app flutter เรามาใช้ด้วย เพราะเราจะส่งข้อความไป app นั้น
include("fcm.php");
/*
$token = array('TOKEN1', 'TOKEN2');
*/
$token = array('eRmBqU2oZrQ:APA91bEH5I-VK0rkMqrwuWaGRBWkCiWsCwJLCRTgKU3tkQG6eVQdexUOvfbO_7ET19eDHsxEj8PMWes3_slWPvFsXZOTr52Fux6Ej1nwjIQ8lHgLi_Ug4wrrSWnw4hAK3f1rj7IhuN7f');
$msg = "ข้อความแสดงใน body";
$notification = array(
'title' => 'ข้อความ title',
'body' => "$msg", // Required for iOS 'sound' => 'default',
'badge' => 1,
'click_action' => 'OPEN_ACTIVITY_1'
);
$data = array(
'picture_url' => 'https://xxxx/slide/uploads2/20200318141207_0183.png'
);
$fcm = new FCM();
$fcm->send_notification($token, $notification, $data);
?>
- สั่งผ่านเว็บ ส่งสำเร็จจะได้ประมาณนี้
Ref
No comments:
Post a Comment