首先在个推官网上申请账号,里面有java的SDK和教程、
服务端代码:
配置:
<!--移动端消息推送(个推)start-->
<dependency>
<groupId></groupId>
<artifactId>gexin-rp-sdk-base</artifactId>
<version>4.0.0.22</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>gexin-rp-sdk-http</artifactId>
<version>4.0.1.17</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>gexin-rp-sdk-template</artifactId>
<version>4.0.0.16</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>gexin-rp-fastjson</artifactId>
<version>1.0.0.1</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
<!--移动端消息推送(个推)end-->
jar包从个推官网上下载后放到自己的manve仓库在中
java代码:
package ;
import ;
import ;
import ;
import ;
import ;
import ;
import .Style0;
/**
* Created by nxw on 2018/7/11.
* 移动端消息推送工具类
*/
public class AppPushUtils {
//定义常量, appId、appKey、masterSecret 在"个推控制台"中获得的应用配置
// 由IGetui管理页面生成,是您的应用与SDK通信的标识之一,每个应用都对应一个唯一的AppID
private static String appId = "eAKHYriq2b69NGnAO9CaaA";
// 预先分配的第三方应用对应的Key,是您的应用与SDK通信的标识之一。
private static String appKey = "nfDkSekZq66QrPFgd9Q3r";
// 个推服务端API鉴权码,用于验证调用方合法性。在调用个推服务端API时需要提供。(请妥善保管,避免通道被盗用)
private static String masterSecret = "hcmvRMYo6C7YPSSTO9KuX6";
// 设置通知消息模板
/*
* 1. appId
* 2. appKey
* 3. 要传送到客户端的 msg
* 3.1 标题栏:key = title,
* 3.2 通知栏内容: key = titleText,
* 3.3 穿透内容:key = transText
*/
private static NotificationTemplate getNotifacationTemplate(String appId, String appKey, Message msg){
// 在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用
NotificationTemplate template = new NotificationTemplate();
// 设置appid,appkey
(appId);
(appKey);
// 穿透消息设置为,1 强制启动应用
(1);
// 设置穿透内容
(() + "::" + () + "::" + ());
(());
// 设置style
Style0 style = new Style0();
// 设置通知栏标题和内容
(());
(());
// 设置通知,响铃、震动、可清除
(true);
(true);
(true);
// 设置
(style);
return template;
}
// 对单个用户推送消息
/*
* 1. cid
* 2. 要传到客户端的 msg
* 2.1 标题栏:key = title,
* 2.2 通知栏内容: key = titleText,
* 2.3 穿透内容:key = transText
*/
public static void sendAppMsg(String cid, Message msg) {
// 代表在个推注册的一个 app,调用该类实例的方法来执行对个推的请求
IGtPush push = new IGtPush(appKey, masterSecret);
// 创建信息模板
NotificationTemplate template = getNotifacationTemplate(appId, appKey, msg);
//定义消息推送方式为,单推
SingleMessage message = new SingleMessage();
// 设置推送消息的内容
(template);
// 设置推送目标
Target target = new Target();
(appId);
// 设置cid
(cid);
// 获得推送结果
("正在推送app消息...");
IPushResult result = (message, target);
(().toString());
/*
* 1. 失败:{result=sign_error}
* 2. 成功:{result=ok, taskId=OSS-0212_1b7578259b74972b2bba556bb12a9f9a, status=successed_online}
* 3. 异常
*/
}
}
里面的message对象可以根据自己的项目的消息类进行修改。
调用方法:
//添加消息
Message message=new Message();
("eventinfo");
(());
(new Date());
(());
("事件上报消息");
("您有一条事件上报消息待处理!");
(());
(new Date());
(());
(message);
info=(info);
List<SysUser> users=().getUsers();
for (SysUser u:users) {
if((())){
((),());
}
}
用户的cId通过移动端:
var cId = ().clientid;
移动端框架使用mui框架
jar包从个推官网上下载后放到自己的manve仓库在中