push-对外接口文档.md 3.22 KB

push 对外接口文档

1、生成推送任务接口

适用场景:

  • 针对一批确定的用户,比如订阅了某个秒杀活动的20W用户,给他们推秒杀活动即将开始的消息。

对接方式:

  • 直接往rabbitMQ写一条消息进MQ, 所有push节点会监听MQ, 接收到推送任务之后,进行推送。
    • topic类型 : yoho_task_push

消息格式体

参数名称 参数类型 可否为空 参数解释 默认值 备注
androidTitle String 安卓推送标题 null
androidContent String 安卓推送内容 null 安卓的推送分为title和content两部分
iosAlert String ios推送内容 null ios的推送只有alert
appendParams String APP跳转链接 null 必须为JSON格式的字符串,给APP跳转使用
sendTime long 发送时间 null 可做定时用,此值小于PUSH服务器的时间即会发送
sceneType String 此次推送的场景 null 品牌上新为ADDED_BRANDS
sceneKey String 此次推送的场景key null 品牌上新时此值为brand_id
uids List 推送给哪些用户 null 大小不要超过10000,量大时自行分片
iosVersions List ios版本号 null
androidVersions List 安卓的版本号 null
  • 参数申明
    • androidTitle和androidContent同时为空,则不会生成安卓的推送任务。
    • iosAlert为空,则不会生成ios的推送任务。
    • sceneType 和 sceneKey 很重要,大数据统计时会用到,请合理命名。
    • uids大小不要超过1W,数据量大时,请自行分片。

生成MQ消息实体的demo

public static void main(String[] args) {
    JSONObject pushMessage = new JSONObject();
    PushTaskMqMessage pushTaskMqMessage = new PushTaskMqMessage();
    //设置安卓推送标题和内容,同时为空则不推送安卓
    pushTaskMqMessage.setAndroidTitle("秒杀活动即将开始");
    pushTaskMqMessage.setAndroidContent("adidas秒杀活动计即将开始,赶紧戳进来>>");

    //设置IOS推送内容,为空则不推送IOS
    pushTaskMqMessage.setIosAlert("您订阅的adidas秒杀活动计即将开始,赶紧戳进来>>");

    //APP跳转链接,有参考文档,一定要是个完整的JSON字符串
    pushTaskMqMessage.setAppendParams("{\"type\":\"event\",\"ad_action\":\"go.url\",\"ad_option\":\"link=http://feature.yoho.cn/1019/1019NEWGIRL/index.html?app_version=4.9.2.1609120001\",\"isLogin\":\"Y\",\"act_id\":\"841\"}");

    //设置推送场景和推送key
    pushTaskMqMessage.setSceneType("SpecilSkill");
    pushTaskMqMessage.setSceneKey("841");

    //设置推送的uids,一批不要超过1W,量大自行分片
    pushTaskMqMessage.setUids(Arrays.asList("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"));

    //设置APP版本,不设则所有的版本
    pushTaskMqMessage.setIosVersions(null);
    pushTaskMqMessage.setAndroidVersions(null);

    //生成丢进mq的字符串
    pushMessage.put("data", JSON.toJSON(pushTaskMqMessage));
    String addToMqString = pushMessage.toJSONString();
    System.out.println(addToMqString);
    //TODO ADD pushMessage json String to RabbitMq,topic is  yoho_task_push
}