【问题标题】:iPhone Feedback Service with PHP使用 PHP 的 iPhone 反馈服务
【发布时间】:2009-09-28 13:27:28
【问题描述】:

大家好,

是否有人能够从 iPhone APNS 反馈服务使用 PHP 返回的二进制数据中提取设备令牌?我正在寻找类似于在这里使用 python 实现的东西 http://www.google.com/codesearch/p?hl=en&sa=N&cd=2&ct=rc#m5eOMDWiKUs/APNSWrapper/init.py&q=feedback.push.apple.com

根据 Apple 文档,我知道前 4 个字节是时间戳,接下来的 2 个字节是令牌的长度,其余字节是二进制格式的实际令牌。 (http://developer.apple.com/IPhone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW3)

我能够成功地从数据反馈服务返回中提取时间戳,但是我使用 PHP 的内置方法 bin2hex() 转换为十六进制后获得的设备令牌实际上与原始设备令牌不同。我在转换中做了一些愚蠢的事情。如果他们已经使用 PHP 实现了 APNS 反馈服务,任何人都可以帮助我吗?

TIA, -Anish

【问题讨论】:

    标签: php iphone iphone-sdk-3.0 apple-push-notifications


    【解决方案1】:
    【解决方案2】:

    最好的去处实际上是 iPhone 门户内部的 Apple 开发者论坛 - 有大量不同语言的示例用于处理这些推送请求。

    我目前也在参加 360iDev 推送会话,他们注意到可以在以下位置找到一个开源 PHP 服务器:

    http://code.google.com/p/php-apns/

    【讨论】:

    • 我之前检查过这个 php-apns 项目。它没有谈论反馈服务:-(非常感谢任何其他指针。谢谢,-Anish
    【解决方案3】:

    一旦你有了你的二进制流,你可以像这样处理它:

    while ($data = fread($stream, 38)) {
      $feedback = unpack("N1timestamp/n1length/H*devtoken", $data);
      // Do something
    }
    

    $feedback 将是一个包含元素“timestamp”、“length”和“devtoken”的关联数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多