一、创建应用
登录信鸽管理后台,我的应用-新建应用。
image.png
创建完成之后点击查看应用就可以获取到 appId和 secretKey
image.png
二、导入相关依赖
在项目的pom.xml里引入jar包
<dependency>
<groupId>com.github.xingePush</groupId>
<artifactId>xinge</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>
<repositories>
<repository>
<id>xingePush</id>
<url>https://raw.githubusercontent.com/xingePush/maven-repository/snapshot/</url>
</repository>
</repositories>
三、创建对象使用账号推送
前提是android已经调试好了,当用户登录时候使用用户账号去信鸽平台注册。这时候才能使用账号推送。
/**
* androidApp对象
*/
private final static XingeApp androidApp = new XingeApp(appId, secretKey);
/**
* ios对象
*/
private final static XingeApp iOSApp = new XingeApp(appId, secretKey);
/**
* 信鸽推送
*
* @param title 标题
* @param content 内容
* @param accountNos 接收人id集合
* @param custom 自定义参数键值对
* @param env 手机类型
* @param messageType推送方式
* @return org.json.JSONObject
*/
public static JSONObject pushSingleAccount(String title, String content, ArrayList<String> accountNos, Map<String, Object> custom,
int env, String pushType) {
PushAppRequest request = new PushAppRequest();
//推送方式
Message message = new Message();
//自己定义一个枚举、判断使用单推还是群推
if (pushType.equals(PushType.SOLE)) {
//这里是使用账号单独推送
request.setAudience_type(AudienceType.account);
} else {
//这里是使用账号群推送
request.setAudience_type(AudienceType.account_list);
}
request.setAccount_list(accountNos);
request.setMessage_type(MessageType.notify);
request.setMessage(message);
request.setPush_id("0");
JSONObject jsonObject;
//判断使用android推送还是ios推送
if (env == XinGeAppType.android.getChName()) {
request.setPlatform(Platform.android);
MessageAndroid messageAndroid = new MessageAndroid();
messageAndroid.setCustom_content(JSON.toJSONString(custom));
ClickAction clickAction = new ClickAction();
clickAction.setActivity("这里是后台控制点击之后app跳转的路径");
messageAndroid.setAction(clickAction);
message.setTitle(title);
message.setContent(content);
message.setAndroid(messageAndroid);
request.setEnvironment(Environment.dev);
jsonObject = androidApp.pushApp(request);
} else{
request.setPlatform(Platform.ios);
//ios分测试环境和生产环境我这里就默认测试环境了
request.setEnvironment(Environment.dev);
MessageIOS messageIOS = new MessageIOS();
messageIOS.setCustom(JSON.toJSONString(custom));
Aps aps = new Aps();
Alert alert = new Alert();
alert.setBody(content);
aps.setAlert(alert);
aps.setBadge_type(1);
messageIOS.setAps(aps);
message.setIos(messageIOS);
jsonObject = iOSApp.pushApp(request);
}
return jsonObject;
}
/** 小枚举,类里有很多枚举需要自己定义 */
public enum XinGeAppType {
android(1),
ios(2);
XinGeAppType(int chName){
this.chName = chName;
}
private int chName;
public int getChName() {
return chName;
}
public void setChName(int chName) {
this.chName = chName;
}
}
有需要的朋友可以具体参考信鸽文档
网友评论