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吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android消息推送能推送图片吗?还是只能推送文字信息?

使用 php 向 android 应用程序发送推送通知,无需像 firebase 这样的外部云

如何像 Skype 一样回复推送通知? [关闭]

如何从 PHP 网站向 iOS 和 Android 发送推送通知?

苹果推送通知 - PHP [关闭]

FCM - 通过设备令牌和环境/组发送 android 推送通知