Android可以像苹果推送通知一样使用php吗?
Posted
技术标签:
【中文标题】Android可以像苹果推送通知一样使用php吗?【英文标题】:Android can use like apple push-notification with php? 【发布时间】:2011-01-26 07:38:07 【问题描述】:我使用 php 发布到苹果..
$message = $error_msg;
$deviceToken = $dtoken; $badge = 1; $sound = 'received3.caf'; $body = array(); $body['aps'] = array('alert' => $message); if ($badge) $body['aps']['badge'] = $badge; if ($sound) $body['aps']['sound'] = $sound; $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', '/home/administrator/applecert/apns-dev.pem'); $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx); error_reporting(E_ALL); if (!$fp) print "Failed to connect $err $errstr\n"; return; else print "Connection OK\n"; $payload = json_encode($body); $msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload; print "sending message :" . $payload . "\n"; fwrite($fp, $msg); fclose($fp);
andriod 也有类似的方式用php发帖?
谢谢大家
【问题讨论】:
这里有同样的问题,没有想法! 【参考方案1】:看看谷歌提供的 C2DM 服务:
http://code.google.com/intl/fr-FR/android/c2dm/
【讨论】:
【参考方案2】:这段代码经过了很好的测试。
注意:你需要记住3点检查。
密码:与 ios 开发人员确认。
.PEM : 请与您的 IOS 开发人员验证创建的“.PEM”文件是用于沙盒还是实时服务器。
PORT 2195 : 需要验证此端口是否在您的服务器上打开。
如果您已经完成了这 3 个步骤,现在您可以使用以下代码发送推送通知,只需进行少量配置更改。
函数 pushNotification($deviceToken, $msg, $sounds, $type) $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', ''); // 把你的私钥的密码放在这里: $密码 = ; stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); $fp = stream_socket_client( 'ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx); 如果 (!$fp) exit("连接失败:$err $errstr" . PHP_EOL); $body['aps'] = 数组( '警报' => $味精, '声音' => $声音, '徽章' => 1, '类型' => $类型, ); $payload = json_encode($body); // 构建二进制通知 $msg = chr(0) 。包('n',32)。包('H*',$deviceToken)。包('n',strlen($payload))。 $有效载荷; // 发送到服务器 $result = fwrite($fp, $msg, strlen($msg)); // print_r($result); fclose($fp);【讨论】:
以上是关于Android可以像苹果推送通知一样使用php吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用 php 向 android 应用程序发送推送通知,无需像 firebase 这样的外部云