此SDK已停止维护,请开发者对接 RestApi V2
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
default | Number | 否 | 1 | 默认所有通道的策略选择1-4 1: 表示该消息在用户在线时推送个推通道,用户离线时推送厂商通道; 2: 表示该消息只通过厂商通道策略下发,不考虑用户是否在线; 3: 表示该消息只通过个推通道下发,不考虑用户是否在线; 4: 表示该消息优先从厂商通道下发,若消息内容在厂商通道代发失败后会从个推通道下发。 其中名称可填写: ios 、st 、hw 、xm 、vv 、mz 、op ,如有疑问请点击右侧“技术咨询”了解详情。 |
ios | Number | 否 | 无 | ios通道策略1-4,表示含义同上,要推送ios通道,需要在个推开发者中心上传ios证书,建议填写2或4,否则可能会有消息不展示的问题 |
st | Number | 否 | 无 | 通道策略1-4,表示含义同上,需要开通st厂商使用该通道推送消息 |
... | Number | 否 | 无 | 通道策略1-4,表示含义同上 |
在支持的模板中设置
message.setStrategyJson("{\"default\":1,\"ios\":4,\"st\":1}");
服务端os-sdk:java 4.1.1.0以上
消息撤回是指对已经发送的个推通道消息进行撤回。客户端接收到消息撤回的指令,会将通知栏中展示的消息进行删除,不再展示。
详见消息撤回模板
SDK要求
客户端sdk:2.12.5.0以上
服务端os-sdk:java 4.1.0.1以上
支持任务类型:撤回模板支持撤回单推、群推、toApp任务。
实现消息覆盖,可以通过os-sdk重新发一条消息实现。需要被覆盖的消息已经增加了notifyId字段,用于实现下发消息的覆盖。新的消息使用相同的notifyId下发。
如果希望被覆盖的消息之前没有设置notifyid,后台会根据随机的taskid通过算法生成notifyid,则无法对已经下发的消息进行覆盖。
Android与iOS都支持覆盖指定消息。
setNotifyid(Integer notifyid) //设定notifyid,覆盖使用的唯一id
com.gexin.rp.sdk.base.payload.APNPayload
中设置setApnsCollapseId(String apnsCollapseId)
com.gexin.rp.sdk.base.notify.Notify
中设置setNotifyId(Integer notifyId)
SDK要求
客户端sdk:2.12.5.0以上
服务端os-sdk:java 4.1.0.0以上
支持的模板:仅支持通知模板。
针对推送,在消息有效时间内,对未收到推送消息的用户进行短信补发,既提升消息触达又节省成本。短信补发服务,补发对象仍是APP注册用户(账户未注销)。
个推推送消息下发时,对于在线用户,直接通过sdk通道下发,对于离线用户消息将存储在离线空间,等到用户设定的短信补发时间,将开始对已绑定pn的用户进行短信补发。 对于在补发前,经过个推通道成功下发消息的用户,将不再进行短信补发。
在支持的模板中设置
setSmsInfo(SmsInfo smsInfo);
进行短信补量推送前,必须在个推申请开通短信补量并报备短信模板。短信模板审核通过后,才能进行短信补量推送。短信模板报备审核的日期为1-2个工作日。
事前要通过接口绑定cid和pn的关系,点击查看相关API
支持的模板:通知模板和透传模板
短信参数填错,将不会进行短信补量,但是通过个推的sdk推送的消息会正常下发
短信补量的开始时间必须在个推通道的消息有效离线时间内,且不大于服务端限制值(目前设置是3天)。
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
setSmsTemplateId() | String | 是 | 无 | 推送的短信模板ID(短信模板说明) |
setSmsContent() | Map | 否 | 无 | 推送的短信模板中占位符的内容。 Map<String, String> smsContent = new HashMap<> (); smsContent.put("name", "张三"); smsContent.put("money", "1234"); smsinfo.setSmsContent(smsContent); |
setOfflineSendtime() | long | 是 | 无 | 推送后多久进行短信补发(单位:ms) |
smsinfo.setApplink() | boolean | 否 | 无 | 推送的短信模板中是否选用APPLink进行推送。 |
smsinfo.setUrl() | String | 否 | 无 | 推送的短信模板中的APPLink链接地址 |
smsinfo.setPayload() | String | 否 | 无 | 推送的短信模板中的APPLink自定义字段 |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果 |
contentId | String | 任务ID |
smsResult | String | 短信提交结果 |
smsResultMsg | String | 短信提交失败结果 |
{
"result":"ok",
"contentId":"xxx",
"smsResult":"xxx",
"smsResultMsg":"xxx"
}
用来设置未读消息条数,仅支持iOS。
通过cid通知个推服务器当前iOS设备的角标情况。
IQueryResult setBadgeForCID(String badge , String appid , List<String> cidList);
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
badge | String | 是 | 无 | 用户应用icon上显示的数字+N : 在原有badge上+N-N : 在原有badge上-NN : 直接设置badge(数字,会覆盖原有的badge值) |
appId | String | 是 | 无 | 应用唯一ID |
cidList | List<String> | 是 | 无 | 客户端身份ID列表 |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
{
"result":"Success"
}
通过deviceToken通知个推服务器当前iOS设备的角标情况。
IQueryResult setBadgeForDeviceToken(String badge , String appid , List<String> deviceTokenList);
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
badge | String | 是 | 无 | 用户应用icon上显示的数字+N : 在原有badge上+N-N : 在原有badge上-NN : 直接设置badge(数字,会覆盖原有的badge值) |
appId | String | 是 | 无 | 应用唯一ID |
deviceTokenList | List<String> | 是 | 无 | iOS用户DeviceToken列表 |
名称 | 类型 | 描述 |
---|---|---|
result | String | 请求结果,其他返回结果详见错误返回值 |
{
"result":"Success"
}
个推支持多厂商推送,开通请点击右侧“技术咨询”了解详情