极光推送与极光IM

最近接了极光的推送和IM,赞一下极光,他们的客服挺好的。

极光推送会帮我们在后台推送和聊天,我们只需要按照他们文档调用他们的api。

推送可以推送所有人,按别名,按组名,按极光regID来推送。

//所有人推送

public static void jpushAll(Map<String, Object> map) {
// 设置好账号的ACCESS_KEY和SECRET_KEY


String masterSecret = "";
String appKey = "";


// 创建JPushClient
JPushClient jpushClient = new JPushClient(masterSecret, appKey);
// 推送的关键,构造一个payload


PushPayload payload = PushPayload.newBuilder()
.setPlatform(Platform.all()) // 所有平台的用户
.setAudience(Audience.all())//所有用户
.setNotification(Notification.alert(map.get("Atitle")))
.setMessage(Message.content(String.valueOf(map.get("msg"))))
.build();
try {
PushResult pu = jpushClient.sendPush(payload);
System.out.println("success");
System.out.println(pu.msg_id);
System.out.println(pu.sendno);
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}

}

/**    通过regID推送给个人
* 生成极光推送对象PushPayload(采用java SDK)

* @param alias
* @param alert
* @return PushPayload
*/
public static PushPayload buildPushObject_android_ios_reg_alert(String regId, String msg) {
return PushPayload.newBuilder()
.setPlatform(Platform.android_ios())
.setAudience(Audience.registrationId(regId))
.setNotification(Notification.newBuilder()
.addPlatformNotification(
AndroidNotification.newBuilder()
// .addExtra("type", "infomation")
.setAlert(msg).build()) 
.addPlatformNotification(
IosNotification.newBuilder()
// .addExtra("type", "infomation")
.setAlert(msg)
.autoBadge()
.build())
.build() )
.setOptions(Options.newBuilder().setApnsProduction(false)// true-推送生产环境 false-推送开发环境(测试使用参数)
// .setTimeToLive(90)// 消息在JPush服务器的失效时间(测试使用参数)
.build())
.build();
}


/**
* 极光推送方法(采用java SDK)

* @param alias
* @param alert
* @return PushResult
*/
public static PushResult push(String regId, String msg) {
ClientConfig clientConfig = ClientConfig.getInstance();
JPushClient jpushClient = new JPushClient(masterSecret, appKey);
PushPayload payload = buildPushObject_android_ios_reg_alert(regId, msg);
try {
return jpushClient.sendPush(payload);

} catch (APIConnectionException e) {
log.error("Connection error. Should retry later. ", e);
return null;
} catch (APIRequestException e) {
log.error("Error response from JPush server. Should review and fix it. ", e);
log.info("HTTP Status: " + e.getStatus());
log.info("Error Code: " + e.getErrorCode());
log.info("Error Message: " + e.getErrorMessage());
log.info("Msg ID: " + e.getMsgId());
return null;
}

}


极光IM聊天不需要服务端的的话主要是WEB端集成,后台我只做了注册,写在自己业务注册的最后一步,当用户注册成功和极光IM注册都成功时让其通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值