极光推送

来源:互联网 发布:protobuf c windows 编辑:程序博客网 时间:2024/05/17 08:40
package com.rn.wisdom.utils.JPushUtil;import cn.jiguang.common.resp.APIConnectionException;import cn.jiguang.common.resp.APIRequestException;import cn.jpush.api.JPushClient;import cn.jpush.api.push.model.Message;import cn.jpush.api.push.model.Platform;import cn.jpush.api.push.model.PushPayload;import cn.jpush.api.push.model.audience.Audience;import cn.jpush.api.push.model.notification.Notification;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.InputStream;import java.net.URL;import java.util.HashMap;import java.util.Map;import java.util.Properties;/** * Created by  * on 2017/9/12. */public class JPushUtil {    static {        URL url = JPushUtil.class.getClassLoader().getResource("PushConfig.properties");        Properties properties = new Properties();        InputStream in = null;        try {            in = new BufferedInputStream(                    new FileInputStream(url.getPath()));            properties.load(in);            masterSecret = properties.getProperty("JPush.masterSecret");            appKey = properties.getProperty("JPush.appKey");            //关闭流        } catch (Exception e) {            e.printStackTrace();        } finally {            try {                in.close();            } catch (Exception e) {                e.printStackTrace();            }        }    }    private static String masterSecret;// 极光推送帐号    private static String appKey;// 极光推送密码    private Map<String, String> param = new HashMap<>();// 推送时附带参数    private String content;// 消息内容    private String alia;// 接收方标识    private String title;// 消息标题    public JPushUtil(String alia, String title, String content) {        this.content = content;        this.alia = alia;        this.title = title;    }    /**     * 用户执行调用     */    public void push() {        new Thread(new JPushThread(this)).start();    }    /**     * 推送消息     */    void pushMessage(){        JPushClient jpushClient = new JPushClient(masterSecret, appKey);        PushPayload androidPayload = buildPushObject_android_alias_alert();        PushPayload iosPayload = buildPushObject_ios_alias_alert();        try {            jpushClient.sendPush(androidPayload);            jpushClient.sendPush(iosPayload);        } catch (APIConnectionException | APIRequestException e) {            e.printStackTrace();        }    }    // 构建安卓推送对象    private PushPayload buildPushObject_android_alias_alert() {        return PushPayload                .newBuilder()                .setPlatform(Platform.android())                .setAudience(Audience.alias(alia))                .setNotification(Notification.alert(""))                .setMessage(                        Message.newBuilder().setTitle(title)                                .setMsgContent(content)                                .addExtras(param).build()).build();    }    // 构建ios推送对象    private PushPayload buildPushObject_ios_alias_alert() {        return PushPayload                .newBuilder()                .setPlatform(Platform.ios())                .setAudience(Audience.alias(alia))                .setNotification(Notification.alert(""))                .setMessage(                        Message.newBuilder().setTitle(title)                                .setMsgContent(content)                                .addExtras(param).build()).build();    }
String alias = uuid + String.valueOf(userId);alias = MD5Util.MD5(alias);JPushUtil jPushUtil = new JPushUtil(alias, "新通知", "您有一条新,请及时处理");jPushUtil.push();

}
原创粉丝点击