zoukankan      html  css  js  c++  java
  • 极光推送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 表示要推送开发环境   默认是开发
        }
    }
  • 相关阅读:
    python note 30 断点续传
    python note 29 线程创建
    python note 28 socketserver
    python note 27 粘包
    python note 26 socket
    python note 25 约束
    Sed 用法
    python note 24 反射
    python note 23 组合
    python note 22 面向对象成员
  • 原文地址:https://www.cnblogs.com/zhaoyan001/p/7771992.html
Copyright © 2011-2022 走看看