• 刚发了两个关于极光推送的网上Demo,再次自己结合官网总结一下,以便加深印象


    简单源码如下:

    //Map<String, String> parm是我自己传过来的参数,同学们可以自定义参数
    public static void jpushAndroid(Map<String, String> parm) {
    // 设置好账号的app_key和masterSecret
    String appKey = "12e1c6d64793a7578400a773";
    String masterSecret = "546b568dfe28ef114a93c929";
    //创建JPushClient
    JPushClient jpushClient = new JPushClient(masterSecret, appKey);

    //推送的关键,构造一个payload
    PushPayload payload = PushPayload.newBuilder()
    .setPlatform(Platform.android())//指定android平台的用户
    .setAudience(Audience.tag(parm.get("userId")))//推送目标是指定userName的用户 Audience.all()--你项目中的所有用户
    //发送内容,这里不要盲目复制粘贴,这里是我从controller层中拿过来的参数)
    .setNotification(Notification.android(parm.get("msg"), parm.get("title"), parm))//第一个参数为推送的通知,第二个为标题,第三个暂理解为推送的消息(开发人员可见)
    //这里是指定开发环境,不用设置也没关系
    .setOptions(Options.newBuilder().setApnsProduction(false).build())
    .setMessage(Message.content(parm.get("msg")))//自定义信息
    .build();
    try {
    PushResult pu = jpushClient.sendPush(payload);
    } catch (APIConnectionException e) {
    e.printStackTrace();
    } catch (APIRequestException e) {
    e.printStackTrace();
    }
    }

    方法加粗部分PushPayload 的创建 是推送的关键
    setPlatform(Platform.android())方法----Platform.android()参数是指定安卓平台的用户,参数为Platform.ios()是指定IOS平台的用户,参数为Platform.all()指定所有平台的用户。

    setAudience(Audience.tag("tag名"))方法--- 参数名为Audience.tag("tag名")向指定目标的设备发推送。注意要先设置tag名,否则会抛出异常。
                            
    参数名为Audience.alias("alias名")指定别名的设备发推送。注意要先设置tag名,否则会抛出异常。
    setNotification(Notification.android(parm.get("msg"), parm.get("title"), parm))//第一个参数为推送的通知,第二个为标题,第三个为自定义消息(开发人员通过一定方法可见,不会有界面通知,可以写称null)

    setOptions(Options.newBuilder().setApnsProduction(false).build())//这里是指定开发环境,不用设置也没关系
    setMessage(Message.content(parm.get("msg")))//自定义的推送通知信息

    以上为个人总结,请列为大牛指出不足,希望在代码的道路上越走越远,像着架构师前进

    学海无涯,唯苦作舟
     
     
     
  • 相关阅读:
    将HTTP请求对象转成curl命令行
    图片爬虫实践
    [CF1499E] Chaotic Merge
    [ICPC2020南京I] Interested in Skiing
    [ICPC2018西安J] Philosophical … Balance
    [ICPC2018西安L] Eventual … Journey
    [ICPC2018西安I] Misunderstood … Missing
    [ICPC2018西安D] Deja vu of … Go Players
    [ICPC2018西安F] Interstellar … Fantasy
    [ICPC2020南京L] Let's Play Curling
  • 原文地址:https://www.cnblogs.com/yueguanguanyun/p/8485637.html
Copyright © 2020-2023  润新知