前几天项目需要推送功能,朋友推荐使用极光推送,分享一下demo,
极光官网https://www.jiguang.cn注册账号及创建应用,这里面就有对应的APPkey、secert
“推送设置”列举Android 设置,app是需要唯一的应用包名
极光推送需要的pom依赖
cn.featherfly
bccs-api
3.0.1
cn.jpush.api
jpush-client
3.2.17
cn.jpush.api
jiguang-common
1.1.1
io.netty
netty-all
4.1.6.Final
compile
把极光账号放单独文件
app.key=000000000
master.secert=000000000
public class JiGuangPush {
// 设置账号的app_key、masterSecret,这里我是从配置文件获取
private static String APP_KEY = ResourceUtil.getConfigByName("app.key");
private static String MASTER_SECRET = ResourceUtil.getConfigByName("master.secert");
public static int jpushAndroid(Mapparm) {
parm.put("msg","this is test massage");
JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
//推送的关键,构造一个payload
PushPayload payload = PushPayload.newBuilder()
//指定android平台的用户
.setPlatform(Platform.android())
//你app中的所有用户
.setAudience(Audience.all())
// .setAudience(Audience.registrationId(parm.get("id")))//registrationId指定用户
.setNotification(Notification.android(parm.get("msg"), "this title", parm))
//发送内容
.setOptions(Options.newBuilder().setApnsProduction(false).build())
.setMessage(Message.content(parm.get("msg")))//自定义信息
.build();
try {
PushResult pu = jpushClient.sendPush(payload);
JSONObject json= JSONObject.fromObject(pu);
if (json.get("statusCode")=="0"){
// System.out.println(12131);
return 1;
}
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
return 0;
}
使用main调用
public class demo {
public static void main(String[] args) {
//设置推送参数
Mapparm = new HashMap();
//这里的id是,移动端集成极光并登陆后,极光用户的rid
parm.put("id", "140fe1da9ecc3f36ba8");
//这里输入你要推送的信息
parm.put("msg","this is test msg");
long t1=System.currentTimeMillis();
for ( int i=0;i<1;i++){
int j= JiGuangPush.jpushAndroid(parm);
System.out.println(j);
}
System.out.println(System.currentTimeMillis()-t1);
}
}
完成