JPush 是经过考验的大规模 App 推送平台,每天推送消息数超过 5 亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。

1.首先要注册认证极光后台(认证注册完成后会得到appkey和秘钥)

2.去推送设置

极光app通知推送-java

极光app通知推送-java 应用包名由安卓端提供

3.导入依赖jar包

<dependency>
    <groupId>cn.jpush.api</groupId>
    <artifactId>jpush-client</artifactId>
    <version>3.3.7</version>
</dependency>

4. java代码

import cn.jpush.api.JPushClient;
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.PushPayload.Builder;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.Notification;

/**
 * 极光推送工具类
 */

public class JPush {
    private static final String MASTER_SECRET = "";  //TODO(填写你的MASTER_SECRET)
    private static final String APP_KEY = "";     //TODO(填写你的APP_KEY)
    //两个参数分别填写你申请的masterSecret和appKey
    private static JPushClient jPushClient=new JPushClient(MASTER_SECRET,APP_KEY);

    /**
     * 通知推送
     * 备注:推送方式不为空时,推送的值也不能为空;推送方式为空时,推送值不做要求
     * @param type 推送方式:1、“tag”标签推送,2、“alias”别名推送
     * @param  alias 推送的标签或别名值
     * @param context 推送的内容
     * @param title 标题
     */
    public static void pushNotice(String type, String alias, String context, String title){
        Builder builder= PushPayload.newBuilder();
        builder.setPlatform(Platform.all());//设置接受的平台,all为所有平台,包括安卓、ios、和微软的
        //设置如果用户不在线、离线消息保存的时间
        Options options=Options.sendno();
        options.setTimeToLive(86400l);    //设置为86400为保存一天,如果不设置默认也是保存一天
        builder.setOptions(options);
        //设置推送方式
        if(type.equals("alias")){
            builder.setAudience(Audience.alias(alias));//根据别名推送
        }else if(type.equals("tag")){
            builder.setAudience(Audience.tag(alias));//根据标签推送
        }else{
            builder.setAudience(Audience.all());//Audience设置为all,说明采用广播方式推送,所有用户都可以接收到
        }
        //设置为采用通知的方式发送消息
       // builder.setNotification(Notification.alert(title));
        Notification android = Notification.android(context, title,null);
        builder.setNotification(android);
      //builder.setNotification(Notification.alert(alert));
        PushPayload pushPayload=builder.build();
        try{
            //进行推送,实际推送就在这一步
            PushResult pushResult=jPushClient.sendPush(pushPayload);
            System.out.println(pushResult);
        }catch(Exception e){
            e.printStackTrace();
        }
    }

  


    public static void main(String[] args){
        //给标签为18的用户进行消息推送
        JPush.pushNotice("alias","18","安村桥的cod严重超标了,超标值为2.3,请前往环境管家app上查看","【环境管家】数据超标通知");
  
   }

}

到这里就结束啦

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2021-12-04
  • 2021-12-10
  • 2022-02-08
  • 2021-07-03
  • 2022-12-23
猜你喜欢
  • 2021-12-14
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2021-08-14
  • 2021-12-04
相关资源
相似解决方案