到目前为止,我已经为 IOS 完成了一个 apple-mdm-ota-server。这些设备将以下内容交付给服务器(以 plist/xml 的形式):
-Push Magic Token -Device Token (b64 format oO) -PN-Topic (com.apple.mgmt.xxx) -UDID (in hexcode) -UnlockToken (很长的 b64 编码的东西)
我需要将以下内容发送到来自苹果的推送通知事物:
{"mdm":"pushMagic"}
Pushmagic = Push Magic 令牌
我需要如何编写需要写入 apns 套接字的数据?我尝试了适用于其他推送通知的那个,但它没有。什么都没有发生:-(。
$apns_url = 'gateway.push.apple.com';
[...]
$apns = stream_socket_client('ssl://' . $apns_url . ':' . $apns_port,
$error, $error_string, 2, STREAM_CLIENT_CONNECT, $stream_context);
fwrite($apns, chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ',
'', $wellWrittenToken)) . chr(0) . chr(strlen($mdmInitialPush)) .
$mdmInitialPush);
[...]
$error 为 0。 $wellwrittentoken = 十六进制代码中的设备令牌 $apns_xx - ssl 的东西似乎有效,因为它给出了错误消息,因为它没有 $mdminitialpush - 我要发送的消息