PHP REST API 极光推送

极光推送:

极光自年成立以来专注于为app提供稳定的开发者服务。 极光产品覆盖了中国国内90%的移动终端。 基于积累的海量数据,拓展了大数据产品:极光效果通、极光数据服务。

PHP代码放最后

优点:

  1. 极光推送支持 Android、iOS、windows phone
  2. 发者可以在管理控制台上快捷地向用户推送消息,也可以定制推送的时间、用户群、位置等,还提供远程推送 API
  3. 开发者可以在管理控制台上查看推送统计信息,直观地评估推送效果

缺点:

  1. 统计的数据不准确,每个IOS或Android用户可以产生多个用户数

    2. 免费版本的每个Appkey的最高推送频率为600次/分钟,每次每分钟推送的目标要少于600个

    3. 有些问题开发完后忘记了,这里附上一个极光推送常见问题网址:https://community.jiguang.cn/t/topic/5145

    4. 遇到不懂的问题或没解决的问题,能邮件就邮件,加入QQ群,技术人员很少回复的

相关服务

  1. 极光先后推出了极光即时通讯云(JMessage)、极光短信服务(JSMS)、极光统计(JAnalytics)、极光分享(JShare)等开发者服务。
  2. 极光IM(JMessage) 致力于帮助app解决应用内聊天及跨应用聊天问题,快速集成SDK,提供稳定可靠的APP用户间聊天功能。
  3. 极光短信(JSMS) 为开发者提供短信下发功能,包括验证码类短信、通知类短信和营销类短信三大类。
  4. 极光统计(JAnalytics) 提供整合Android、iOS的统计服务。
  5. 极光分享帮助应用具备国内主流社交平台分享功能,提供新浪微博、QQ、微信等第三方社会化分享服务,提高产品推广效率,帮助产品提高用户体验,获得更多用户。

前期步骤:

步骤一:注册账号(由于账号不是本人注册这里不多说)

步骤二:创建应用

创建应用后,控制台会出现刚刚创建的应用

步骤三:填写各种设置

步骤四:进行开发者认证

文档讲解:

文档:https://docs.jiguang.cn/jpush/server/push/server_overview/

(1)极光推送提供4个API模块:

Push API:推送模块接口

Report API:统计数据查询接口

**Device API:**Tag、Alias信息增删改查接口

Schedule API:定时功能接口

注意:这里着重讲Push的接口调用

(2)JPush提供四种消息形式:

通知:即指在手机的通知栏(状态栏)上会显示的一条通知信息

自定义消息:自定义消息不会展示到通知栏,内容由开发者定义

富媒体:支持开发者发送图文并茂的通知,从而更好的传达信息

本地通知:本地通知API不依赖于网络,无网条件下依旧可以触发;

注意:本文是用的是通知这种消息形式

(3)JPush推送目标:

标签:为安装了应用程序的用户打上标签,其目的主要是方便开发者根据标签,来批量下发 Push 消息。 可为每个用户打多个标签。 举例: game, old_page, women

别名:每个用户只能指定一个别名。 同一个应用程序内,对不同的用户,建议取不同的别名。

Registration ID:客户端初始化 JPush 成功后,JPush 服务端会分配一个 Registration ID,作为此设备的标识(同一个手机不同 APP 的 Registration ID 是不同的)。开发者可以通过指定具体的 Registration ID 来进行对单一设备的推送。

用户分群:用户分群的筛选条件有:标签、地理位置、系统版本、注册时间、活跃用户和在线用户。 比如,开发者可以设置这样的用户分群:位于北京、上海、广州和深圳,并且最近7天在线的用户。 开发者可以通过在控制台设置好用户分群之后,在控制台推送时指定该分群的名称或使用API调用该分群的id发送。

注意:本文使用的是别名作为推送目标,不同的需求可是用不同推送目标

推送讲解:

(1)推送对象

一个推送对象包含以下参数

关键字 选项 含义
platform 必填 推送平台设置
audience 必填 推送设备指定
notification 可选 通知内容体。是被推送到客户端的内容。与 message 一起二者必须有其一,可以二者并存
message 可选 消息内容体。是被推送到客户端的内容。与 notification 一起二者必须有其一,可以二者并存
sms_message 可选 短信渠道补充送达内容体
options 可选 推送参数
cid 可选 用于防止 api 调用端重试造成服务端的重复推送而定义的一个标识符。

1. platform:推送平台

JPush 当前支持 Android, iOS, Windows Phone 三个平台的推送。其关键字分别为:”android”, “ios”, “winphone”

推送到所有平台:

{ "platform" : "all" }

指定特定推送平台:

{ "platform" : ["android", "ios"] }

2. audience:推送目标

2.1 如果要发广播(全部设备),则直接填写 “all”

这里有个目标表

本文是用 Alias类型,一个用户名是一个Alias别名,设置别名需要APP调用SDK进行设置,可以在登录的时候设置别名,登出时候删除别名

3. notification:通知

alert 字段,是每个平台的通知内容,必须填写字段

Android平台参数

本文需求只是做一个基本的通知功能,所以Android只需alert、title、extras字段

alert 通知内容

title 通知标题 

extras 其他数据

官方事例:

{
    "notification" : {
        "android" : {
             "alert" : "hello, JPush!", 
             "title" : "JPush test", 
             "builder_id" : 3, 
             "style":1  // 1,2,3
             "alert_type":1 // -1 ~ 7
             "big_text":"big text content",
             "inbox":JSONObject,
             "big_pic_path":"picture url",
             "priority":0, // -2~2
             "category":"category str",
             "extras" : {
                  "news_id" : 134, 
                  "my_key" : "a value"
             }
        }
    }
}

IOS平台参数

这里跟Android一样的参数

4. message:自定义消息

自定义消息,透传消息。
此部分内容不会展示到通知栏上,JPush SDK 收到消息内容后透传给 App。需要 App 自行处理。

关键字 类型 选项 含义
msg_content string 必填 消息内容本身
title string 可选 消息标题
content_type string 可选 消息内容类型
extras JSON Object 可选 JSON 格式的可选参数

与IOS、Android一样的参数

代码事例:

猜你喜欢

转载自blog.csdn.net/weixin_39662805/article/details/82221965
今日推荐