进阶功能说明

此SDK已停止维护,请开发者对接 RestApi V2

进阶功能说明

厂商下发策略

功能描述

使用方式:

名称 类型 是否必需 默认值 描述
default Number 1 默认所有通道的策略选择1-4
1: 表示该消息在用户在线时推送个推通道,用户离线时推送厂商通道;
2: 表示该消息只通过厂商通道策略下发,不考虑用户是否在线;
3: 表示该消息只通过个推通道下发,不考虑用户是否在线;
4: 表示该消息优先从厂商通道下发,若消息内容在厂商通道代发失败后会从个推通道下发。
其中名称可填写: iossthwxmvvmzop,如有疑问请点击右侧“技术咨询”了解详情。
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}");

限制说明

  • SDK要求

服务端os-sdk:java 4.1.1.0以上

  • 支持任务类型:支持toSingle(单推)、toList(群推)、toApp任务。
  • 支持模板:支持透传模板。

消息撤回

功能描述

消息撤回是指对已经发送的个推通道消息进行撤回。客户端接收到消息撤回的指令,会将通知栏中展示的消息进行删除,不再展示。

接口名称

详见消息撤回模板

限制说明

  • 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
  • 对于IOS通道消息,在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以上

  • 支持的模板:仅支持通知模板。

  • 支持任务类型,os-sdk支持单推、toList、toApp。

短信补量

功能描述

针对推送,在消息有效时间内,对未收到推送消息的用户进行短信补发,既提升消息触达又节省成本。短信补发服务,补发对象仍是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设置角标

功能描述

通过cid通知个推服务器当前iOS设备的角标情况。

接口名称

IQueryResult setBadgeForCID(String badge , String appid , List<String> cidList);

请求参数

名称 类型 是否必需 默认值 描述
badge String 用户应用icon上显示的数字
+N: 在原有badge上+N
-N: 在原有badge上-N
N: 直接设置badge(数字,会覆盖原有的badge值)
appId String 应用唯一ID
cidList List<String> 客户端身份ID列表

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值

返回示例

{
    "result":"Success"
}

根据deviceToken设置角标

功能描述

通过deviceToken通知个推服务器当前iOS设备的角标情况。

接口名称

IQueryResult setBadgeForDeviceToken(String badge , String appid , List<String> deviceTokenList);

请求参数

名称 类型 是否必需 默认值 描述
badge String 用户应用icon上显示的数字
+N: 在原有badge上+N
-N: 在原有badge上-N
N: 直接设置badge(数字,会覆盖原有的badge值)
appId String 应用唯一ID
deviceTokenList List<String> iOS用户DeviceToken列表

返回参数

名称 类型 描述
result String 请求结果,其他返回结果详见错误返回值

返回示例

{
    "result":"Success"
}

厂商推送

个推支持多厂商推送,开通请点击右侧“技术咨询”了解详情

开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询