您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。