**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
昨天关门了。
截至昨天,社会正在审查是否重新讨论这个问题。
Improve this question
我试图发送一个voip推送通知,但它的返回InvalidPushType,你可以看到在图像中。
我的代码用Curl PHP发出请求
if (defined("CURL_VERSION_HTTP2") && (curl_version()["features"] & CURL_VERSION_HTTP2) !== 0) {
$device_token = "1302E8106AA322DE917B2D0F0FC4D656878F878E8E2FCEA9CEA153D3C80027C7";
$body["aps"] = array(
"alert" => "callIOS",
"id" => "eabeae54-14a8-11e5-b60b-1697f925ec7b",
"nameCaller" => "Hien Nguyen",
"handle" => "0123456789",
"isVideo" => true
);
$header[] = "apns-topic: ao.medicare.app";
$header[] = "apns-expiration: 0";
$header[] = "apns-priority: 10";
$header[] = "apns-push-type: voip";
$header[] = "Content-Type: application/x-www-form-urlencoded";
$header[] = "apns-id: eabeae54-14a8-11e5-b60b-1697f925ec7b";
$ch = curl_init();
$url = "https://api.sandbox.push.apple.com/3/device/" . $device_token;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER, $header);
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($body));
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_SSLCERT, "VOIP.pem");
curl_setopt($ch,CURLOPT_SSLCERTPASSWD, "");
$response = curl_exec($ch);
$err = curl_error($ch);
print_r(json_decode($response));
print_r(json_decode($err));
curl_close($ch);
} else {
echo "No HTTP/2 support on client.";
}
我正在跟踪官方文档here
编辑:我尝试在apns-topic(ao.medicare.app.voip)的末尾添加.voip,不起作用。
1条答案
按热度按时间idfiyjo81#
从您链接到的文档:
VoIP:
如果您设置了此推送类型,apns-topic头字段必须使用您的应用的bundle ID,并在末尾追加.voip。
因此,必须将
apns-topic
指定为ao.medicare.app.voip