极光推送注意事项与简单实现

2019-07-25  本文已影响0人  Kamiya_
Java后台注意事项
1、向ios发送推送消息如果需要消息标题,需要依赖IosAlert类
//ios推送消息体   title:标题    msg:消息内容
IosAlert alert = IosAlert.newBuilder().setTitleAndBody(parm.get("title"), null, parm.get("msg")).build();
PushPayload.newBuilder().setAlert(alert)
2、向ios发送推送消息需指定开发环境(Android不区分模式
// true : 生产环境
// false : 测试环境
.setOptions(Options.newBuilder().setApnsProduction(true).build())
ios端收不到生产环境推送原因:

1、需注意修改开发环境 apsForProduction:yes
2、注意打包时证书环境配置*
3、极光平台生产证书是否认证
4、appKey是否正确

最后附上一个简单的例子
id:Registration ID
title:标题
msg:内容
//极光推送>>All所有平台指定用户
  public static void jpushAll(Map<String, String> parm) {

        //ios推送消息体
        IosAlert alert = IosAlert.newBuilder().setTitleAndBody(parm.get("title"), null, parm.get("msg")).build();
        //创建JPushClient
        JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
        //创建option
        PushPayload payload = PushPayload.newBuilder()
                .setPlatform(Platform.all())  //所有平台的用户
                .setAudience(Audience.registrationId(parm.get("id")))//registrationId指定用户
                .setNotification(Notification.newBuilder()
                        .addPlatformNotification(IosNotification.newBuilder() //发送ios
                                .setAlert(alert) //消息体
                                .setBadge(+1)
                                .setSound("happy") //ios提示音
                               // .addExtras(parm) //附加参数
                                .build())
                        .addPlatformNotification(AndroidNotification.newBuilder() //发送android
                               // .addExtras(parm) //附加参数
                                .setTitle(parm.get("title"))
                                .setAlert(parm.get("msg")) //消息体
                                .build())
                        .build())
                .setOptions(Options.newBuilder().setApnsProduction(true).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
               // .setMessage(Message.newBuilder().setMsgContent(parm.get("msg")).addExtras(parm).build())//自定义信息
                .build();
        try {
            PushResult pu = jpushClient.sendPush(payload);
            System.out.println(pu.toString());
        } catch (APIConnectionException e) {
            e.printStackTrace();
        } catch (APIRequestException e) {
            e.printStackTrace();
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读