极光推送

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();

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值