3
通知はFirebaseコンソールから送信されたときに正常に機能しますが、APIから送信されたときは機能しません。結果が成功した場合: {"multicast_id":5946406103096345260、 "成功":1、 "失敗":0、 "canonical_ids":0、 "results":[{"message_id": "0:1480093752122166%13791f60f9fd7ecd 「}]}とにかくコードをHERESGoogle Firebase通知はコンソールでは動作しますが、APIでは動作しません
:
<?php
// Payload data you want to send to Android device(s)
// (it will be accessible via intent extras)
$data = array('title' => 'Notification Title' ,'message' => 'Hello World!');
// The recipient registration tokens for this notification
$ids = array('TOKEN');
// Send push notification via Google Cloud Messaging
sendPushNotification($data, $ids);
function sendPushNotification($data, $ids)
{
// Insert real GCM API key from the Google APIs Console
$apiKey = 'API_KEY';
// Set POST request body
$post = array(
'registration_ids' => $ids,
'data' => $data,
);
// Set CURL request headers
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
// Initialize curl handle
$ch = curl_init();
// Set URL to GCM push endpoint
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
// Set request method to POST
curl_setopt($ch, CURLOPT_POST, true);
// Set custom request headers
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Get the response back as string instead of printing it
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set JSON post data
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post));
// Actually send the request
$result = curl_exec($ch);
// Handle errors
if (curl_errno($ch))
{
echo 'GCM error: ' . curl_error($ch);
}
// Close curl handle
curl_close($ch);
// Debug GCM response
echo $result;
}
?>
忘れてしまった:私はまた、優先順位フィールドを含める必要がありました。そうでないと、プッシュ通知がiOSで受信されませんでした。例えば。 ''優先度 '':高位 '''トップレベル階層 –