极光推送java代码

package com.zheng.cms.web.jpush.util;

import cn.jpush.api.JPushClient;
import cn.jpush.api.common.APIConnectionException;
import cn.jpush.api.common.APIRequestException;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Options;
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.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;
import java.util.Map;

public class JPushClientUtil {

    private static Logger logger = LoggerFactory.getLogger(JPushClientUtil.class);
    private static final String appKey = "466f7032ac604e02fb7bda89"; // 必填,例如466f7032ac604e02fb7bda89
    private static final String masterSecret = "13ac09b17715bd117163d8a1";// "13ac09b17715bd117163d8a1";//必填,每个应用都对应一个masterSecret
    protected static JPushClient jpush = null;
    private static final int MAX = Integer.MAX_VALUE;
    private static boolean flag=false;

    public static void main(String[] args) {
        //String msgTitle = "推送测试";
        String msgContent = "看到信息了么,看到就推送成功了!";
        //String userid="7753b9c538de44c791bb44eed1980d39";
        //pushMessage(msgContent);
        //       String[] alias={"143","143"};
                   /* Map<String,String> extras=new HashMap<String,String>();
                    extras.put("type", "3");
                    //pushNotification("title","tet","13611112222");
                    pushAndroidNotification("renz",extras,"3",alias );*/
        Map<String, String> extras = new HashMap<String, String>();
        // 添加附加信息
        extras.put("url", "htt://baidu.com");
        sendAllsetNotification(msgContent,extras);
    }

    private static void init(){
        if(!flag){
            jpush = new JPushClient(masterSecret, appKey);
            flag=true;
        }
    }



    /**
     +     * 推送所有信息
     +     * @param msgContent
     +     */
    public static void pushMessage(String msgContent) {

        init();
        PushResult pushResult;
        try {
            pushResult = jpush.sendMessageAll(msgContent);
            if(pushResult.isResultOK()){
                logger.info("发送成功");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


    /**
     * 给所有平台的所有用户发通知
     */
    public static void sendAllsetNotification(String message,Map<String, String> extras)
    {

        init();
        PushPayload payload = buildPushObject_all_alias_alert(message, extras);
        try
        {
            PushResult result = jpush.sendPush(payload);
            logger.info(result.toString());
        }
        catch (APIConnectionException e)
        {
            logger.info("推送失败!",e);
        }
        catch (APIRequestException e)
        {
            logger.info("APIRequestException" + e);
            logger.info("Error Message: " + e.getErrorMessage());
            System.out.println("Error Message: " + e.getErrorMessage());
        }
    }


    /**
     * 推送 通知
     */
    public static void pushNotification(String title,String alert,String...alias ) {

        init();
        Map extras= new HashMap();
        PushResult pushResult1;
        PushResult pushResult2;
        try {
            pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
            pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
            //jpush.
            if(pushResult1.isResultOK()){
                logger.info("android发送成功");
            }else{
                logger.info("android发送失败");
            }
            if(pushResult2.isResultOK()){
                logger.info("Ios发送成功");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * 推送ANDROID客户端通知
     */
    public static void pushAndroidNotification(String title,Map<String,String> extras,String alert,String...alias ) {
        init();
        PushResult pushResult1;
        try {
            pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
            if(pushResult1.isResultOK()){
                logger.info("android发送成功");
            }else{
                logger.info("android发送失败");
            }

        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * 推送Ios通知
     */
    public static void pushIosNotification(String alert,Map<String,String> extras,String...alias ) {
        init();
        PushResult pushResult2;
        try {
            pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);

            if(pushResult2.isResultOK()){
                logger.info("Ios发送成功");
            }else{
                logger.info("Ios发送失败");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * 推送 通知
     */
    public static void pushNotification(String alert,String alias ) {
        init();
        Map extras= new HashMap();
        extras.put("1", "1");
        PushResult pushResult2;
        try {
            pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
            if(pushResult2.isResultOK()){
                logger.info("android发送成功");
            }else{
                logger.info("android发送失败");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


    /**
     * 发送通知
     *
     * @param message
     * @param extras
     * @return
     * @author WangMeng
     * @date 2017年1月13日
     */
    private static PushPayload buildPushObject_all_alias_alert(String message,
                                                               Map<String, String> extras)
    {
        return PushPayload.newBuilder()
                .setPlatform(Platform.android_ios())
                // 设置平台
                .setAudience(Audience.all())
                // 按什么发送 tag alia
                .setNotification(
                        Notification
                                .newBuilder()
                                .setAlert(message)
                                .addPlatformNotification(
                                        AndroidNotification.newBuilder().addExtras(extras).build())
                                .addPlatformNotification(
                                        IosNotification.newBuilder().addExtras(extras).build())
                                .build())
                // 发送消息
                .setOptions(Options.newBuilder().setApnsProduction(false).build()).build();
        //设置ios平台环境  True 表示推送生产环境,False 表示要推送开发环境   默认是开发
    }
}
package com.zheng.cms.web.jpush.util;

import cn.jpush.api.JPushClient;
import cn.jpush.api.common.APIConnectionException;
import cn.jpush.api.common.APIRequestException;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Options;
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.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;
import java.util.Map;

public class JPushClientUtil {

    private static Logger logger = LoggerFactory.getLogger(JPushClientUtil.class);
    private static final String appKey = "466f7032ac604e02fb7bda89"; // 必填,例如466f7032ac604e02fb7bda89
    private static final String masterSecret = "13ac09b17715bd117163d8a1";// "13ac09b17715bd117163d8a1";//必填,每个应用都对应一个masterSecret
    protected static JPushClient jpush = null;
    private static final int MAX = Integer.MAX_VALUE;
    private static boolean flag=false;

    public static void main(String[] args) {
        //String msgTitle = "推送测试";
        String msgContent = "看到信息了么,看到就推送成功了!";
        //String userid="7753b9c538de44c791bb44eed1980d39";
        //pushMessage(msgContent);
        //       String[] alias={"143","143"};
                   /* Map<String,String> extras=new HashMap<String,String>();
                    extras.put("type", "3");
                    //pushNotification("title","tet","13611112222");
                    pushAndroidNotification("renz",extras,"3",alias );*/
        Map<String, String> extras = new HashMap<String, String>();
        // 添加附加信息
        extras.put("url", "htt://baidu.com");
        sendAllsetNotification(msgContent,extras);
    }

    private static void init(){
        if(!flag){
            jpush = new JPushClient(masterSecret, appKey);
            flag=true;
        }
    }



    /**
     +     * 推送所有信息
     +     * @param msgContent
     +     */
    public static void pushMessage(String msgContent) {

        init();
        PushResult pushResult;
        try {
            pushResult = jpush.sendMessageAll(msgContent);
            if(pushResult.isResultOK()){
                logger.info("发送成功");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


    /**
     * 给所有平台的所有用户发通知
     */
    public static void sendAllsetNotification(String message,Map<String, String> extras)
    {

        init();
        PushPayload payload = buildPushObject_all_alias_alert(message, extras);
        try
        {
            PushResult result = jpush.sendPush(payload);
            logger.info(result.toString());
        }
        catch (APIConnectionException e)
        {
            logger.info("推送失败!",e);
        }
        catch (APIRequestException e)
        {
            logger.info("APIRequestException" + e);
            logger.info("Error Message: " + e.getErrorMessage());
            System.out.println("Error Message: " + e.getErrorMessage());
        }
    }


    /**
     * 推送 通知
     */
    public static void pushNotification(String title,String alert,String...alias ) {

        init();
        Map extras= new HashMap();
        PushResult pushResult1;
        PushResult pushResult2;
        try {
            pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
            pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
            //jpush.
            if(pushResult1.isResultOK()){
                logger.info("android发送成功");
            }else{
                logger.info("android发送失败");
            }
            if(pushResult2.isResultOK()){
                logger.info("Ios发送成功");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * 推送ANDROID客户端通知
     */
    public static void pushAndroidNotification(String title,Map<String,String> extras,String alert,String...alias ) {
        init();
        PushResult pushResult1;
        try {
            pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
            if(pushResult1.isResultOK()){
                logger.info("android发送成功");
            }else{
                logger.info("android发送失败");
            }

        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * 推送Ios通知
     */
    public static void pushIosNotification(String alert,Map<String,String> extras,String...alias ) {
        init();
        PushResult pushResult2;
        try {
            pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);

            if(pushResult2.isResultOK()){
                logger.info("Ios发送成功");
            }else{
                logger.info("Ios发送失败");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * 推送 通知
     */
    public static void pushNotification(String alert,String alias ) {
        init();
        Map extras= new HashMap();
        extras.put("1", "1");
        PushResult pushResult2;
        try {
            pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
            if(pushResult2.isResultOK()){
                logger.info("android发送成功");
            }else{
                logger.info("android发送失败");
            }
        } catch (APIConnectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (APIRequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


    /**
     * 发送通知
     *
     * @param message
     * @param extras
     * @return
     * @author WangMeng
     * @date 2017年1月13日
     */
    private static PushPayload buildPushObject_all_alias_alert(String message,
                                                               Map<String, String> extras)
    {
        return PushPayload.newBuilder()
                .setPlatform(Platform.android_ios())
                // 设置平台
                .setAudience(Audience.all())
                // 按什么发送 tag alia
                .setNotification(
                        Notification
                                .newBuilder()
                                .setAlert(message)
                                .addPlatformNotification(
                                        AndroidNotification.newBuilder().addExtras(extras).build())
                                .addPlatformNotification(
                                        IosNotification.newBuilder().addExtras(extras).build())
                                .build())
                // 发送消息
                .setOptions(Options.newBuilder().setApnsProduction(false).build()).build();
        //设置ios平台环境  True 表示推送生产环境,False 表示要推送开发环境   默认是开发
    }
}

 

转载于:https://www.cnblogs.com/zhaoyan001/p/7771992.html

极光推送是一款用于实现消息推送的云服务平台,它提供了丰富的消息推送功能。在Java后台中整合极光推送可以通过以下几个步骤来实现: 1. 注册极光推送账号并创建应用:首先,你需要在极光推送官网注册账号,并创建一个应用。在创建应用的过程中,会生成一个AppKey和一个Master Secret,这对应用进行身份验证非常重要。 2. 导入极光推送SDK:在你的Java项目中,你需要导入极光推送Java SDK。你可以在极光推送官网上下载SDK,并将其添加到你的项目中。 3. 配置AppKey和Master Secret:在你的项目中找到配置文件(比如.properties文件),将AppKey和Master Secret配置到文件中。这些配置信息将用于与极光推送服务器进行身份验证。 4. 初始化JPushClient对象:在你的代码中,通过使用AppKey和Master Secret初始化一个JPushClient对象。这个对象将用于与极光推送服务器进行通信。 5. 构建推送消息:使用JPushClient对象,你可以构建不同类型的推送消息,比如通知、自定义消息等。根据你的需求,设置相应的参数,比如目标平台、接收者、通知内容等。 6. 发送推送消息:调用JPushClient对象的sendPush方法,将构建好的推送消息发送给极光推送服务器。服务器会根据你的设置,将消息推送给相应的设备。 以上就是极光推送Java后台整合的基本步骤。你可以根据自己的需求,进一步深入学习和使用极光推送的其他功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值