您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
maven
<dependency> <groupId>com.xiaomi</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.xiaomi</groupId> <artifactId>MiPush_SDK_Server</artifactId> <version>2.2.18</version> </dependency>
java util
package com.tjg99.commons.util;
import com.xiaomi.xmpush.server.Constants;
import com.xiaomi.xmpush.server.Message;
import com.xiaomi.xmpush.server.Sender;
import com.xiaomi.xmpush.server.Sender.BROADCAST_TOPIC_OP;
import net.sf.json.JSONObject;
import org.json.simple.parser.ParseException;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 小米推送工具类
**/
public class MiPushUtil {
private static String APP_SECRET_KEY_ANDROID = "asdasdasdasdasdasd";
private static String APP_SECRET_KEY_IOS = "asdasdasdasdasd==";
private static String MY_PACKAGE_NAME = "com.tjg99";
/**
* 向所有设备发送推送
* @param messagePayload 消息
* @param title 消息标题
* @param description 消息描述
* @param ads_type 消息类型
* @param ads_links 消息链接
* @throws IOException
* @throws ParseException
**/
public static void sendAllBroadcast(String messagePayload, String title, String description, String ads_type,
String ads_links) throws IOException, ParseException {
Constants.useOfficial();
Map map = new HashMap();
map.put("ads_type", ads_type);
map.put("ads_links", ads_links);
Message message = new Message.Builder().title(title).description(description).payload(messagePayload)
.extra("data", JSONObject.fromObject(map).toString()).restrictedPackageName(MY_PACKAGE_NAME)
.notifyType(1).passThrough(0) // 使用默认提示音提示
.build();
//安卓推送
Sender sender_android = new Sender(APP_SECRET_KEY_ANDROID);
// 根据topicList做并集运算, 发送消息到指定一组设备上
sender_android.broadcastAll(message, 3);
//ios推送
Sender sender_ios = new Sender(APP_SECRET_KEY_IOS);
// 根据topicList做并集运算, 发送消息到指定一组设备上
sender_ios.broadcastAll(message, 3);
}
/**
* 指定标签推送(推送指定类型用户)
* @param messagePayload 消息
* @param title 消息标题
* @param description 消息描述
* @param ads_type 消息类型
* @param ads_links 消息链接
* @param topicList 指定推送类型
* @throws IOException
* @throws ParseException
**/
public static void sendBroadcast(String messagePayload, String title, String description, String ads_type,
String ads_links, List<String> topicList) throws IOException, ParseException {
Constants.useOfficial();
Map map = new HashMap();
map.put("ads_type", ads_type);
map.put("ads_links", ads_links);
Message message = new Message.Builder().title(title).description(description).payload(messagePayload)
.extra("data", JSONObject.fromObject(map).toString()).restrictedPackageName(MY_PACKAGE_NAME)
.notifyType(1).passThrough(0) // 使用默认提示音提示
.build();
// 安卓推送
Sender sender_android = new Sender(APP_SECRET_KEY_ANDROID);
// 根据topicList做并集运算, 发送消息到指定一组设备上
sender_android.multiTopicBroadcast(message, topicList, BROADCAST_TOPIC_OP.UNION, 3);
// ios推送
//Constants.useSandbox();
Sender sender_ios = new Sender(APP_SECRET_KEY_IOS);
// 根据topicList做并集运算, 发送消息到指定一组设备上
sender_ios.multiTopicBroadcast(message, topicList, BROADCAST_TOPIC_OP.UNION, 3);
}
/**
* 指定alias推送(单个或多个)
* @param messagePayload 消息
* @param title 消息标题
* @param description 消息描述
* @param ads_type 消息类型
* @param ads_links 消息链接
* @param aliasList 指定alias
* @throws IOException
* @throws ParseException
**/
public static void sendMessageToAliases(String messagePayload, String title, String description, String ads_type,
String ads_links, List<String> aliasList) throws IOException, ParseException {
Constants.useOfficial();
Map map = new HashMap();
map.put("ads_type", ads_type);
map.put("ads_links", ads_links);
Message message = new Message.Builder().title(title).description(description).payload(messagePayload)
.extra("data", JSONObject.fromObject(map).toString()).restrictedPackageName(MY_PACKAGE_NAME)
.notifyType(1).passThrough(0) // 使用默认提示音提示
.build();
//安卓推送
Sender sender_android = new Sender(APP_SECRET_KEY_ANDROID);
sender_android.sendToAlias(message, aliasList, 3);
//ios推送
//Constants.useSandbox();
Sender sender_ios = new Sender(APP_SECRET_KEY_IOS);
sender_ios.sendToAlias(message, aliasList, 3);
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。