php - IOS 推送通知问题与 APNS
问题描述
我正在尝试向 IOS 设备发送推送通知,PHP 代码如下
$http2ch = curl_init();
curl_setopt($http2ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
$apnsCert = config('constant.APNS_CERT');
$pushData = [];
$pushData['sound'] = $sound;
$pushData['alert']['title'] = $data['title'];
$pushData['alert']['body'] = $data['message'];
$payload['aps'] = $pushData;
$payload = json_encode($payload);
$http2_server = config('constant.APPLE_NOTIFICATION_API_URL');
$appBundleId = config('constant.APP_BUNDLE_ID');
$token = '<IOS_DEVICE_TOKEN>'
$url = "{$http2_server}/3/device/{$token}";
$headers = array(
"apns-topic: {$appBundleId}",
"User-Agent: My Sender",
);
curl_setopt_array($http2ch, [
CURLOPT_URL => $url,
CURLOPT_PORT => 443,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSLCERT => $apnsCert,
CURLOPT_HEADER => 1,
]);
$result = curl_exec($http2ch);
curl_close($http2ch);
上面的代码在本地服务器(Wamp)上完全可以正常工作,同时进入Http Code 0
服务器
谁能帮忙解决这个问题
解决方案
推荐阅读
- airflow - 气流图视图未更新
- selenium - 可以根据本地主机地址运行 docker 映像吗?
- python - wxpython CallAfter 不改变 GUI
- java - 在要从公共 IP 地址访问的服务器中运行 websocket 应用程序
- angular - 收到此错误错误 TS1005: ';' 预期的
- docker - 如何在没有 --privileged 的情况下从 Docker 容器在主机上运行 sudo 命令
- android - 在 RecylerView 中显示内容及其对应的图像
- sql - 将SQL中两列的计数相除
- c++ - 读取 OpenCV Mat 16bit 到 QImage 8bit Greyscale
- unity3d - Unity UI:在显示器上拉伸图像