序言
因为整合各个厂商的消息服务,是个工作量巨大的工作,所以使用了极光推送。
参考文档:
极光产品简介
消息形式-----这里的SDK指app上的软件包
- 通知:即指在手机的通知栏(状态栏)上会显示的一条通知信息。 通知主要用来达到提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景
- 自定义消息: 自定义消息不是通知,所以不会被 SDK 展示到通知栏上。其内容完全由开发者自己定义。 自定义消息主要用于应用的内部业务逻辑。一条自定义消息推送过来,有可能没有任何界面显示。-----即表示远程推送过来消息,只是转发给了app自己,没有转发给手机系统。
- 富媒体: JPush 支持开发者发送图文并茂的通知,从而更好的传达信息,带来更丰富的用户互动--------目前仅限安卓
- 地理围栏: 通过地图圈选一个经纬度范围,创建一个虚拟的栅栏围出一个虚拟地理边界,当开发者APP的用户进入、离开这个区域,或在该区域内活动时,设备APP可以自动接收通知,实现准确的消息推送,把有用的信息,在合适的地方,推送给合适的人。
- 日活优化: 为了帮助开发者增加其APP的用户粘性,提升活跃度,尽可能的唤醒其APP沉默用户,JPush 提供了“早上好”、“轻推送联盟”两个功能。
- 本地通知: 本地通知 API 不依赖于网络,无网条件下依旧可以触发;本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响。-------如定时闹钟等,其实还有种本地通知即通过调用远程服务来显示在app内部的通知
推送目标----即把标签推送给谁,怎么推送给指定的人
- 标签:为安装了应用程序的用户打上标签,其目的主要是方便开发者根据标签,来批量下发 Push 消息。 可为每个用户打多个标签。 举例: game, old_page, women
- 别名:每个用户只能指定一个别名。 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户。
- Registration ID:客户端初始化 JPush 成功后,JPush 服务端会分配一个 Registration ID,作为此设备的标识(同一个手机不同 App 的 Registration ID 是不同的)。开发者可以通过指定具体的 Registration ID 来进行对单一设备的推送。
- 用户分群:用户分群的筛选条件有:标签、地理位置、活跃用户、系统版本、智能标签(这些标签是系统提供的功能,比较有用)。 比如,开发者可以设置这样的用户分群:位于北京、上海、广州和深圳,并且最近 7 天内的活跃用户。
客户端注册---申请需要使用该功能的APP
http://docs.jiguang.cn/jpush/console/Instructions/
服务端整合极光
关于推送服务最主要就是知道要给谁发,至于怎么发可以参照官方文档。 给谁发可以看下Anchroid或者IOS的别名设置流程:https://docs.jiguang.cn/jpush/client/Android/android_api/#api_3 即APP设置后需要告诉后端服务,或者使用一个共有的算法,不告诉后台服务也可以
在绑定了APP后,既可以获取
然后就可以调用极光的接口了,具体内容参考:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/。
通知官方提供了封装包。供各位参考,地址:https://github.com/jpush/jmessage-api-java-client