【发布时间】:2017-04-18 18:18:24
【问题描述】:
这是我发送的 json,但我只在 IOS 的前台接收通知,而不是在后台接收通知。
remoteMessage.appData { colorCode = XXXXX; description = "XXXXX"; from = XXXXX; notification = { body = "XXXXX"; e=1; }; notificationName = "XXXXX"; notificationType = XXXXX; outbid = XXXXX; paused = XXXXX; sound = "XXXXX.wav"; suspended = XXXXX; }
这是我用来生成上述 json 的 php 代码:
公共函数 sendPushNotification($registration_ids, 数组 $notification, 数组 $message= null) {
$url = 'https://fcm.googleapis.com/fcm/send';
$notification['notification']['sound'] = $this->_notificationSoundFile;
$fields = array(
'registration_ids' => array($registration_ids),
'notification' => $notification['notification'],
'data' => $message['message']
);
$headers = array(
'Authorization:key=' . $this->_fcmKey,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === false)
throw new Exception('Curl failed ' . curl_error());
curl_close($ch);
if ($result) {
return json_decode($result, true)['success'] == true ? true : false;
}
} :
enter code here
Expected Output :
{
aps = {
alert = {
body = "XXXX";
title = "";
};
sound = "XXXX.wav";
};
"gcm.message_id" = "XXXX";
"gcm.notification.appointmentId" = XXXX;
"gcm.notification.carCode" = XXXX;
"gcm.notification.deal_lost" = XXXX;
"gcm.notification.dealerCode" = XXXX;
"gcm.notification.notificationName" = "XXXX";
"gcm.notification.notificationType" = XXXX;
"gcm.notification.outbid" = XXXX;
"gcm.notification.paused" = XXXX;
"gcm.notification.suspended" = XXXX;
}
Help appreciated.
【问题讨论】:
-
是您在应用中启用后台模式
-
是的,它已启用
标签: ios push-notification