首页 > 解决方案 > 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服务器

谁能帮忙解决这个问题

标签: phpapple-push-notificationsapns-php

解决方案


推荐阅读