700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php 极光推送别名数组 PHP使用极光推送-Go语言中文社区

php 极光推送别名数组 PHP使用极光推送-Go语言中文社区

时间:2018-07-06 03:48:42

相关推荐

php 极光推送别名数组 PHP使用极光推送-Go语言中文社区

开发APP的时候,需要将特定的消息使用JPush极光推送到ios和android不同版本的平台用户。作为接口的开发人员,php端的代码肯定是需要我来去编写。

首先第一件事,就是去JPush极光推送的官网去看看他们的手册。看看是怎么使用的。下面是,我整理的开发JPush极光推送中,需要用到的资料地址链接。

在线文档地址: /server/rest_api_v3_push/

github项目地址:/jpush/jpush-api-php-client

github项目案例:/jpush/jpush-api-php-client/blob/master/examples/push_example.php

首先我们要去JPush极光推送官网注册一个帐号。接着我们就要来实际动手来开发JPush极光推送在php中的使用了。在开发的过程中,一定要和ios android开发人员沟通好。

第一步:下载php服务器端的代码。

解压之后文件夹为jpush-api-php-client-master。打开之后,会有以下几个文件夹。

主要的库文件都在src里面。

第二步:将src里面的文件全部的移动到网站的根目录。

接着打开examplespush_example.php文件。这个是JPush极光推送的使用案例文件。

文档中提供了三种方法,我这里只使用了其中一种完整的推送示例,代码如下。

//完整的推送示例,包含指定Platform,指定Alias,Tag,指定iOS,Androidnotification,指定Message等

require_once("../src/JPush/JPush.php");

$br='

';

$app_key='dd1066407b044738b6479275';

$master_secret='e8cc9a76d5b7a580859bcfa7';

//初始化

$client=newJPush($app_key,$master_secret);

$result=$client->push()

->setPlatform(array('ios','android'))

->addAlias('alias1')

->addTag(array('tag1','tag2'))

->setNotificationAlert('Hi,JPush')

->addAndroidNotification('Hi,androidnotification','notificationtitle',1,array("key1"=>"value1","key2"=>"value2"))

->addIosNotification("Hi,iOSnotification",'iOSsound',JPush::DISABLE_BADGE,true,'iOScategory',array("key1"=>"value1","key2"=>"value2"))

->setMessage("msgcontent",'msgtitle','type',array("key1"=>"value1","key2"=>"value2"))

->setOptions(100000,3600,null,false)

->send();

echo'Result='.json_encode($result).$br;

第三步:我们具体的来实现php使用JPush极光推送的功能。

首先新建控制器,比如JpushController.class.php在php文件中可以书写下面的代码:

namespaceApiController;

useThinkController;

classJpushControllerextendsController{

protected$app_key='dd1066407b044738b6479275';

protected$master_secret='e8cc9a76d5b7a580859bcfa7';

protected$br='

';

protected$client;

publicfunction_initialize()

{

require_once'./JPush/JPush.php';

$this->client=newJPush($this->app_key,$this->master_secret);

}

publicfunctionsend()

{

$result=$this->client->push()

->setPlatform(array('ios','android'))

->addTag(array('课程1','课程2'))

->setNotificationAlert('Hi,JPush')

->addAndroidNotification('您报名的课程,即将上课,请准时听课哦!','notificationtitle',1,array("key1"=>"value1","key2"=>"value2"))

->addIosNotification("您报名的课程,即将上课,请准时听课哦!",'iOSsound',JPush::DISABLE_BADGE,true,'iOScategory',array("key1"=>"value1","key2"=>"value2"))

->setMessage("msgcontent",'msgtitle','type',array("key1"=>"value1","key2"=>"value2"))

->setOptions(100000,3600,null,false)

->send();

echojson_encode($result).$this->br;

第四步:上面的代码就可以实现php使用JPush极光推送向ios android通知消息的功能了。

下面的说明和值得注意,我就在这个地方折腾了很久。特别是注意这几个参数之间的关系。是取交集还是并集一定要看清楚了。

我这里使用的是tag,你也可以使用alias,但是他们直接是取交集的,可以使用其中一个。

关键字

含义

类型

说明

备注

tag

JSON Array

标签

数组。多个标签之间是 OR 的关系,即取并集。

用标签来进行大规模的设备属性、用户属性分群。 一次推送最多 20 个。

有效的 tag 组成:字母(区分大小写)、数字、下划线、汉字。

限制:每一个 tag 的长度限制为 40 字节。(判断长度需采用UTF-8编码)

tag_and

JSON Array

标签AND

数组。多个标签之间是 AND 关系,即取交集。

注册与 tag 区分。一次推送最多 20 个。

alias

JSON Array

别名

数组。多个别名之间是 OR 关系,即取并集。

用别名来标识一个用户。一个设备只能绑定一个别名,但多个设备可以绑定同一个别名。一次推送最多 1000 个。

有效的 alias 组成:字母(区分大小写)、数字、下划线、汉字。

限制:每一个 alias 的长度限制为 40 字节。(判断长度需采用UTF-8编码)

registration_id

JSON Array

注册ID

数组。多个注册ID之间是 OR 关系,即取并集。

设备标识。一次推送最多 1000 个。

每种类型的值都是数组(Array),数组里多个值之间隐含的关系是是 OR,即取并集。但 tag_and 不同,其数组里多个值之间是 AND 关系,即取交集。

4种类型至少需要有其一。如果值数组长度为 0,表示该类型不存在。

这几种类型可以并存。并存时多项的隐含关系是 AND,即取交集。

通过上面的几个步骤php使用JPush极光推送ios android通知消息的功能就开发完成了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。