初次学习jpush

来源:互联网 发布:淘宝卖家登陆手机验证 编辑:程序博客网 时间:2024/06/05 20:38

            初次学习jpush,自己也看了官方文档,也经过前辈们的指导,自己于是将这段代码分享给大家。

            我使用的是maven集成sdk



public class JiGuangPush {
   private static final Logger log = LoggerFactory.getLogger(JiGuangPush.class);
   private static String masterSecret = "73d9d2e86e1a709bedbf6ea4";
   private static String appKey = "c251baf64bdea6f51e4f1a05";
   private static final String ALERT = "abcd";    
   /**
    * 极光推送
    */
   public void jiguangPush(){
       String alias = "com.YunZhong.milefinance";//声明别名
       log.info("对别名" + alias + "的用户推送信息");
       PushResult result = push(String.valueOf(alias),ALERT);
       if(result != null && result.isResultOK()){
        System.out.println("推送成功");
           log.info("针对别名" + alias + "的信息推送成功!");
       }else{
        System.out.println("推送失败");
           log.info("针对别名" + alias + "的信息推送失败!");
       }
   }
   
   /**
    * 生成极光推送对象PushPayload(采用java SDK)
    * @param alias
    * @param alert
    * @return PushPayload
    */
   public static PushPayload buildPushObject_android_ios_alias_alert(String alias,String alert){
       return PushPayload.newBuilder()
               .setPlatform(Platform.android_ios())
               .setAudience(Audience.alias(alias))
               .setNotification(Notification.newBuilder()
                       .addPlatformNotification(AndroidNotification.newBuilder()
                               .addExtra("type", "infomation")
                               .setAlert(alert)
                               .build())
                       .addPlatformNotification(IosNotification.newBuilder()
                               .addExtra("type", "infomation")
                               .setAlert(alert)
                               .build())
                       .build())
               .setOptions(Options.newBuilder()
                       .setApnsProduction(false)//true-推送生产环境 false-推送开发环境(测试使用参数)
                       .setTimeToLive(90)//消息在JPush服务器的失效时间(测试使用参数)
                       .build())
               .build();
   }
   /**
    * 极光推送方法(采用java SDK)
    * @param alias
    * @param alert
    * @return PushResult
    */
   public static PushResult push(String alias,String alert){
       ClientConfig clientConfig = ClientConfig.getInstance();
       JPushClient jpushClient = new JPushClient(masterSecret, appKey, null, clientConfig);
       PushPayload payload = buildPushObject_android_ios_alias_alert(alias,alert);
       try {
           return jpushClient.sendPush(payload);
       } catch (APIConnectionException e) {
           e.printStackTrace();
           return null;
       } catch (APIRequestException e) {
           log.error("Error response from JPush server. Should review and fix it. ", e);
          log.info("HTTP Status: " + e.getStatus());
          log.info("Error Code: " + e.getErrorCode());
          log.info("Error Message: " + e.getErrorMessage());
          log.info("Msg ID: " + e.getMsgId());
           return null;
       }    
   }
}