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();
}
}
网友评论