利用ApnsPHP包向IOS推送消息

header(‘content-type:text/html;charset=utf-8‘);

require_once ‘ApnsPHP/Autoload.php‘;
require_once ‘ApnsPHP/Push.php‘;
require_once ‘ApnsPHP/Message.php‘;
require_once ‘ApnsPHP/Push/Exception.php‘;

function push_ios_message($fans, $push_id, $text, $message_type, $artist_id)
{
    $user_count  = count($fans);

    if ($user_count == 0) {
        return;
    }

    $pem  = ‘./aaa.pem‘;
    $password = ‘1234‘;

    //$mode = ApnsPHP_Abstract::ENVIRONMENT_SANDBOX;
    $mode = ApnsPHP_Abstract::ENVIRONMENT_PRODUCTION;

    // Instanciate a new ApnsPHP_Push object
    $push = new ApnsPHP_Push($mode, $pem, $password);
    // Set the Root Certificate Autority to verify the Apple remote peer
    $push->setRootCertificationAuthority($pem);

    // Connect to the Apple Push Notification Service
    $push->connect();

    $message = ‘‘;
    for ($i = 0; $i < $user_count; $i++) {
        $fans[$i][‘device_token‘] = trim($fans[$i][‘device_token‘]);

        try {
            // Instantiate a new Message with a single recipient
            $message = new ApnsPHP_Message($fans[$i][‘device_token‘]);
            // Set a custom identifier. To get back this identifier use the getCustomIdentifier() method
            // over a ApnsPHP_Message object retrieved with the getErrors() message.
            $message->setCustomIdentifier("Message-Badge-3");
            // Set badge icon to "3"
            $message->setBadge(8);
            // Set a simple welcome text
            $message->setText($text);
            // Play the default sound
            $message->setSound();
            $message->setCustomProperty(‘push_id‘, $push_id);
            $message->setCustomProperty(‘message_type‘, $message_type);
            // Set the expiry value to 30 seconds
            $message->setExpiry(30);
            // Add the message to the message queue
            $push->add($message);
        } catch (Exception $e) {
            $message = ‘‘;
            var_dump($e->getMessage());
        }

    }

    try{
        $push->send();
        $push->disconnect();

        // Examine the error message container
        $aErrorQueue = $push->getErrors();
        if (!empty($aErrorQueue)) {
            var_dump($aErrorQueue);
            var_dump(serialize($aErrorQueue));
        }
    } catch(Exception $e) {
        echo ‘Exception:‘;
        var_dump($e->getMessage());
    }

}

三方包下载地址

https://github.com/zhoutingze/adtuu.git

时间: 2024-09-30 02:39:44

利用ApnsPHP包向IOS推送消息的相关文章

ios推送消息php做推送服务器

<?php /** * Main method to run the object * $message 消息内容 * $deviceToken 这里是iphone手机唯一的Token码(记得去掉空格) * $badge 就是应用图标右上角那个数字 * $sound 消息的声音 * $apnsCert 证书路径 * $passphrase 私钥的密码(可以不写) */ public function iosPush($message,$deviceToken,$badge=1,$sound='D

IOS 推送消息 php做推送服务端

IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有

IOS推送消息的步骤

实现消息推送的步骤 1.注册:为应用程序申请消息推送服务.此 时你的设备会向APNs服务器发送注册请求. 2.APNs服务器接收请求,并将deviceToken返 给你设备上的应用程序 3.客户端应用程序将deviceToken发送给后台 服务器程序,后台接收并储存. 4.后台服务器向APNs服务器发送推送消息 5.APNs服务器将消息发给deviceToken对应设 备上的应用程序

ios推送消息的基本原理

Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器. 上图可以分为三个阶段. 第一阶段:.net应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPh

点击推送消息跳转处理(iOS)

当用户点击收到的推送消息时候,我希望打开APP,并且跳转到对应的界面,这就需要在AppDelegate里面对代理方法进行处理. 当用户点击推送消息打开APP的时候会调用 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions launchOptions中会有推送消息的userInfo信息,此时我们可以通过 NSDictionary* rem

iOS开发,推送消息 steps

1.前期准备 在学习推送开发之前,开发者需要两样东西,(1).iPhone真机,因为模拟器不支持推送(2).付费的开发者账号. 2.新建项目,选择Single View Application模板. 3.注册通知(Registration Notification) (1)在AppDelegate文件的application:didFinishLaunchingWithOptions:方法中添加"注册推送"的代码. - (BOOL)application:(UIApplication 

教你做IOS推送 包会!

最近在研究iOS的推送问题,遇到了一些问题,最终整理了一下,放在这里和大家分享. APNS的推送机制 首先我们看一下苹果官方给出的对iOS推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器. 上图可以分为三个阶段: 第一阶段:应用程序的服务器端把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相

iOS不使用第三方平台,发送推送消息

iOS不使用第三方平台,发送推送消息 先看看客户端: 需要关注两个点:一是代码部分的DeviceToken获取,且看代码 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //消息推送支持的类型 UIRemoteNotificationType types = (UIRemoteNotificationTypeBadge |U

iOS - 根据推送消息进行语音播报

目前市面上很多聚合支付APP都需要在收款成功后,进行语音提示,例如收钱吧,乐惠等!公司App融E收也同样需要实现改功能,主要分为2个部分,一是推送,而是语音播报,下面简单介绍一下 一 推送,目前集成的推送主要是极光推送,集成极光推动的流程比较简单,主要流程是 1.注册账号,在极光推送官网上注册账号,地址:https://www.jiguang.cn/accounts/register/form 2.登录账号,右上角点击创建应用,填写应用名称,上传应用icon,点击创建 3.上传推送证书,做APN