PHP Apple iOS推送通知:Command2:二进制接口和通知格式

阿蒂亚(Aditya P Bhatt)

如今,带有Command 2的PHP和Apple / iOS推送通知已变得越来越流行。但是不确定,如何按照此处的Apple指南准备相同的格式,如何实现以下数据包格式:

PHP iOS推送通知:Command2:二进制接口和通知格式

还想知道,如何接收Format of error-response packet如下所述:

错误响应包的格式

目前,我正在使用以下简单格式:

$msg = 
// new: Command "1"
chr(1)
// new: Identifier "1111"
. chr(1) . chr(1) . chr(1) . chr(1)
// new: Expiry "tomorrow"
. pack('N', time() + 86400)
// old 
. chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;

fwrite($fp, $msg, strlen($msg));
用户名
//command 2
$msgInner =
  chr(1)
. pack('n', 32)
. pack('H*', $deviceToken)

. chr(2)
. pack('n', strlen($payload))
. $payload

. chr(3)
. pack('n', 4)
. chr(1).chr(1).chr(1).chr(1)

. chr(4)
. pack('n', 4)
. pack('N', time() + 86400)

. chr(5)
. pack('n', 1)
. chr(10);

$msg=
chr(2)
. pack('N', strlen($msgInner))
. $msgInner;

对于命令8,请使用以下功能:(由Yudmt提供)在关于Apple增强通知格式

function error_response($fp)
{
    $read = array($fp);
    $null = null;
    $changedStreams = stream_select($read, $null, $null, 0, 1000000);

    if ($changedStreams === false)
    {
        echo ("Error: Unabled to wait for a stream availability");
    }
    elseif ($changedStreams > 0)
    {
        $responseBinary = fread($fp, 6);
        if ($responseBinary !== false || strlen($responseBinary) == 6)
        {
            $response = unpack('Ccommand/Cstatus_code/Nidentifier', $responseBinary);
            var_dump($response);
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP CURL-Apple推送通知服务器

来自分类Dev

Apple Watch的推送通知

来自分类Dev

Qt Apple推送通知

来自分类Dev

没有Apple Server的Apple推送通知

来自分类Dev

在Apple Watch上推送通知

来自分类Dev

处理Apple推送通知服务

来自分类Dev

在 Apple 推送通知中使用“ü”

来自分类Dev

PHP:以JSON中的二进制格式传输图像

来自分类Dev

Xamarin Studio中的Apple推送通知和调试

来自分类Dev

Google / Apple推送通知服务(APNS / GCM)

来自分类Dev

Apple MDM-推送通知主题

来自分类Dev

在 PHP 和 JavaScript 中评估二进制操作

来自分类Dev

nghttp2 asio 连接到 Apple 推送通知超时

来自分类Dev

超过 PHP 二进制限制

来自分类Dev

Apple多个推送通知在通知托盘中不可见

来自分类Dev

为什么在php中有二进制安全和二进制不安全函数?

来自分类Dev

Apple Watch即时通知

来自分类Dev

使用php和ionic alpha推送通知发送推送通知

来自分类Dev

Apple登录“ invalid_client”,使用PHP和openSSL签名JWT以进行身份验证

来自分类Dev

Pusher iOS Apple服务

来自分类Dev

APNS的反馈服务(Apple推送通知服务器)

来自分类Dev

适用于MDM的Apple推送通知服务

来自分类Dev

如何在Apple Watch上测试推送通知?

来自分类Dev

推送通知未发送到Apple设备

来自分类Dev

如何在Apple Watch上测试推送通知?

来自分类Dev

推送通知在Apple Beta测试(TestFlight)中不起作用

来自分类Dev

Azure Apple 推送通知错误:400 错误请求

来自分类Dev

Sidekiq perform_async 与 Apnotic(Apple 推送通知)

来自分类Dev

Apple Mail无法从PHP正确显示附件