package com.brframework.commonapppush.service; import cn.hutool.crypto.SecureUtil; import cn.hutool.http.HttpUtil; import cn.hutool.http.Method; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.brframework.commonapppush.exception.AppPushException; import com.brframework.commonapppush.vo.*; /** * 推送 * @author xu * @date 2019/11/18 19:22 */ public interface AppPushService { /** * 用户消息推送通知 * @param userTokens 推送的用户 * @param title 推送的标题 * @param text 推送的内容 * @param uri 点击推送的跳转内容(android有效) * @param description 推送的描述 * @return */ void sendUnicastNotification(String userTokens, String title, String text, String uri, String description); /** * 广播消息推送通知 * @param title 推送的标题 * @param text 推送的内容 * @param uri 点击推送的跳转内容(android有效) * @param description 推送的描述 * @return */ void sendBroadcastNotification(String title, String text, String uri, String description); /** * android群推 * @param title * @param text * @param uri * @param description * @return */ String sendBroadcastNotificationForAndroid(String title, String text, String uri, String description); /** * ios群推 * @param title * @param text * @param description * @return */ String sendBroadcastNotificationForIOS(String title, String text, String description); /** * IOS单推 * @param deviceTokens * @param title * @param text * @param description * @return */ String sendUnicastNotificationForIOS(String deviceTokens, String title, String text, String description); /** * android单推 * @param deviceTokens * @param title * @param text * @param uri * @param description * @return */ String sendUnicastNotificationForAndroid(String deviceTokens, String title, String text, String uri, String description); /** * 推送请求 * @param requestBody * @return */ String request(Object requestBody, String os); /** * 签名 * @param requestMethod * @param url * @param body * @param appMasterSecret * @return */ String umsign(Method requestMethod, String url, String body, String appMasterSecret); }