小米推送Java代码

网友投稿 293 2023-01-14


小米推送Java代码

maven

com.xiaomi

json-simple

1.1.1

com.xiaomi

MiPush_SDK_Server

2.2.18

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_ABnFiMKOP;

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 topicList) throws IOException, ParseException {

Constants.useOfficial();

Map map = new HashMap();

map.put("ads_type", ads_type);ABnFiMK

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 指http://定alias

* @throws IOException

* @throws ParseException

**/

public static void sendMessageToAliases(String messagePayload, String title, String description, String ads_type,

String ads_links, List 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, aliABnFiMKasList, 3);

}

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实现矩阵顺时针旋转90度的示例
下一篇:java使用三层架构实现电影购票系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~