PHP 苹果消息推送

   /*
    *  苹果消息推送方法    *  $deviceToken 苹果设备token    *  $message     消息内容
    */
    function iosmsg_send($deviceToken,$message){
        $message = strlen($message)>40?mb_substr($message,0,40,‘utf-8‘):$message;

        $ctx = stream_context_create();

        stream_context_set_option($ctx, ‘ssl‘, ‘local_cert‘, substr(dirname(__FILE__),0,-30).‘test\productionPush.pem‘);//证书路径

        stream_context_set_option($ctx, ‘ssl‘, ‘passphrase‘, ‘123456‘);

        // Open a connection to the APNS server

        //这个为正式的发布地址

         $fp = stream_socket_client(‘ssl://gateway.push.apple.com:2195‘, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);

        //这个是沙盒测试地址,发布到appstore后记得修改

        //$fp = stream_socket_client(‘ssl://gateway.sandbox.push.apple.com:2195‘, $err,$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

        if (!$fp)
        exit("Failed to connect: $err $errstr" . PHP_EOL);
        echo ‘Connected to APNS‘ . PHP_EOL;
        // Create the payload body
        $body[‘aps‘] = array(

        ‘alert‘ => $message,

        ‘sound‘ => ‘default‘

        );

        // Encode the payload as JSON

        $payload = json_encode($body);

        // Build the binary notification

        $msg = chr(0) . pack(‘n‘, 32).pack(‘H*‘,$deviceToken).pack(‘n‘, strlen($payload)).$payload;
        // Send it to the server

        $result = fwrite($fp, $msg, strlen($msg));
        if (!$result)
        echo ‘Message not delivered‘ . PHP_EOL;

        else

        echo ‘Message successfully delivered‘ . PHP_EOL;

        // Close the connection to the server

        fclose($fp);

    }
时间: 2024-10-20 23:44:02

PHP 苹果消息推送的相关文章

.net C# 苹果消息推送 工具类

public class AppleAPNSMessage { /// <summary> /// 苹果信息推送 证书 路径(注意测试版跟正式发布版证书上不一样) /// </summary> private static string cerPath = ConfigurationManager.AppSettings["CerPath"]; /// <summary> /// 苹果推送服务 密码 /// </summary> priv

苹果消息推送机制

推送目前使用过个推,极光推送,友盟推送等,现在根据这些第三方的推送,总结一下推送的原理.第一阶段: 服务端程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone.第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知. 具体步骤如下 1.首先是应用程序注册消息推送. 2. iOS跟APNS Server要deviceToken.应用程序

详解APNS苹果消息推送通知

苹果消息通知什么? 如下图如示 就是APP的服务端在用户未打开APP进程时,还能发通知给用户APP的服务技术 相关概念 Provider:提供推送的第三方服务系统 Device:苹果设备,例如iphone和ipad等 APNS:苹果推送消息服务,属于苹果的服务 APP:安装在苹果设备上的应用程序 DeviceToken:设备的标识,用于确定接收通知的设备及APP Payload:推送消息的传输形式 总体示意图 从上图可以看出Provider与APNS之间是要建立连接的,APNS和Device之间

手把手教你配置苹果APNS推送服务|钿畑的博客 | 钿畑的博客

http://www.360doc.com/content/15/0118/17/1073512_441822850.shtml# 钿畑的文章索引 1. 什么是推送通知 2. 什么是APNS? 3. 推送流程 3.1 获取设备device_token阶段 3.2 消息推送过程 3.3 完整流程介绍 4. Push机制类型 5. 正式开工 5.1 准备工作 5.2 证书生成 6. 客户端制作 7. php服务器端配置 8. 测试 8. 附录: 8.1 JSON示例 8.2 检验证书是否正确的方法:

IOS开发之实现App消息推送(最新)

好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下.(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步学会的,但是这些教程的时间都是去年或者更早时期的,对引导新手来说不是很合适) 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出

IOS消息推送(转)

第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器.你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机. 接下来再看一张解释图: 根据上图的逻辑我来给大家解释一下: 1.你的IOS应用

iOS消息推送原理

推送相关概念,如下图1-1: 1.Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]): 2.APNS:Apple Push Notification Service[苹果消息推送服务器]: 3.iPhone:用来接收APNS下发下来的消息: 4.Client App:IOS设备上的应用程序,用来接收iphone传递APNS下发的消息到制定的一个客户端 app[消息的最终响应者]: 上图

iOS开发之实现App消息推送

本文将带大家做一个简单的IOSApp消息推送教程,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下.(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步学会的,但是这些教程的时间都是去年或者更早时期的,对引导新手来说不是很合适) 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应

IOS 消息推送原理及实现总结

一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1-1 1.              Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]): 2.              APNS:Apple Push Notification Service[苹果消息推送服务器]: 3.              iPhone:用来接收APNS下发下来的消息: 4.