php - 如何在 iPhone 中一次性向多个设备发送推送通知?

标签 php iphone push-notification

我想向所有注册了应用程序的设备发送相同的消息,但是如何在不建立多个连接的情况下发送它们...

我当前的 PHP 代码:

ctx = stream_context_create();  
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');  
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);  
if (!$fp)
{
  print "Failed to connect $err $errstr\n";
  return;
}
$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;
fwrite($fp, $msg);

最佳答案

最重要的是,你不能。您需要向每个 token 发送消息。

Its not working like a email where you can have multiple recipients.

连接打开后,您可以发送一堆消息,这也是首选方式(基于 Apples SDK)。

来自 SDK:

http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW2

You should also retain connections with APNs across multiple notifications. APNs may consider connections that are rapidly and repeatedly established and torn down as a denial-of-service attack. Upon error, APNs closes the connection on which the error occurred.

关于php - 如何在 iPhone 中一次性向多个设备发送推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5050363/

相关文章:

iphone - XCode 在 NSData+Base64.m 中标记类型错误

iphone - 如何在Core Graphics/Quartz 2D中绘制圆角矩形?

android - 使用按钮 appcelerator 推送通知(Android 和 iOS)

java - Android - 使用标志 Activity 单击推送通知后打开或重新启动应用程序

java - 如何在 Android 中使用 php mysql 进行发布和获取数据?

php - 从mysql中选择数据并按到期日期顺序显示

iphone - 随机 Sprite 目的地

应用程序在后台或关闭时的 Android 推送通知

javascript - 无法将 Javascript 控制台日志的内容发送到 PHP?

php - JQuery Ajax Tagit 数组到 PHP 返回 [object Object]