一:根據手機號推送java
一、推送類AliPushClientUtil.javaios
package org.springframework.system.alipush.push;spring
import org.apache.commons.lang.StringUtils;
import org.springframework.system.jPush.pojo.Message;
import org.springframework.system.jPush.pojo.MsgBody;
import org.springframework.utils.JsonMapper;apache
import com.aliyuncs.DefaultAcsClient;json
import com.aliyuncs.push.model.v20160801.PushRequest;
import com.aliyuncs.push.model.v20160801.PushResponse;app
/**
*
* <阿里雲推送>
* @author 朱東東
* @version [v1.6, 2017年5月3日]
* @since [app後臺/阿里推送]
*/
public class AliPushClientUtil extends AliPush {ui
public static void pushNotice_ToIOS(String account,int type,String message,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
logger.info("陪玩推送IOS端AliPushClientUtils pushNotice_ToAndroid account="+account+ "&&type="+type+"&&message="+message+"&&deviceExtParameters="+deviceExtParameters);
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(AppKeyIOS);
pushRequest.setTarget("ACCOUNT");//推送目標: device:推送給設備; account:推送給指定賬號,tag:推送給自定義標籤; all: 推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2. 多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("iOS");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setTitle(message);//消息的標題
pushRequest.setBody(message);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("PRODUCT");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSSubtitle(message);//iOS10通知副標題的內容
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送ios陪玩大神端推送用戶出現了問題 | pushNotice_IosPwDsd | Appkey_iospwDsd");
e.printStackTrace();
}
}
}阿里雲
//阿里推送給電競幫app(安卓陪玩、ios買家端)
public static void pushNotice_ToALL(String account,int type,String message,String deviceExtParameters){
if (StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(AppKey);
pushRequest.setTarget("ACCOUNT");//推送目標:device:推送給設備;account:推送給指定賬號;tag:推送給自定義標籤;all:推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2.多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("ALL");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setBody(message);//消息的內容
pushRequest.setTitle(message);
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
//設置安卓Android推送配置
pushRequest.setAndroidMusic("default");//Android通知音樂
pushRequest.setAndroidOpenType("APPLICATION");//點擊通知後動做 "APPLICATION":打開應用 ;"ACTIVITY":打開AndroidActivity;"URL":打開URL;"NONE":無跳轉
pushRequest.setAndroidExtParameters(deviceExtParameters);//通知的擴展屬性(注意 : 該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setAndroidNotifyType("BOTH");//通知的提醒方式 "VIBRATE":震動 ;"SOUND":聲音; "BOTH":聲音和震動 ;NONE:靜音
pushRequest.setStoreOffline(true);//離線消息是否保存,若保存,在推送時候,用戶即便不在線,下一次上線則會收到
pushRequest.setAndroidPopupActivity("com.tianrui.nj.aidaiplayer.codes.broadcoastreciver.AssistPopAct");//輔助彈出的Activity和StoreOffline參數設爲true
pushRequest.setAndroidPopupTitle(message);
pushRequest.setAndroidPopupBody(message);
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送-推送給安卓陪玩買家端、ios簽名買家端出現了問題");
e.printStackTrace();
}
}
}
//阿里推送給電競幫app(安卓陪玩、ios買家端) 分主副標題
public static void pushNotice_ToALL_Edit_Content(String account,int type,String message,String content,String deviceExtParameters){
if (StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(AppKey);
pushRequest.setTarget("ACCOUNT");//推送目標:device:推送給設備;account:推送給指定賬號;tag:推送給自定義標籤;all:推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2.多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("ALL");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setTitle(message);//消息的標題
pushRequest.setBody(content);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSSubtitle(message);//iOS10通知副標題的內容
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
//設置安卓Android推送配置
pushRequest.setAndroidMusic("default");//Android通知音樂
pushRequest.setAndroidOpenType("APPLICATION");//點擊通知後動做 "APPLICATION":打開應用 ;"ACTIVITY":打開AndroidActivity;"URL":打開URL;"NONE":無跳轉
pushRequest.setAndroidExtParameters(deviceExtParameters);//通知的擴展屬性(注意 : 該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setAndroidNotifyType("BOTH");//通知的提醒方式 "VIBRATE":震動 ;"SOUND":聲音; "BOTH":聲音和震動 ;NONE:靜音
pushRequest.setStoreOffline(true);//離線消息是否保存,若保存,在推送時候,用戶即便不在線,下一次上線則會收到
pushRequest.setAndroidPopupActivity("com.tianrui.nj.aidaiplayer.codes.broadcoastreciver.AssistPopAct");//輔助彈出的Activity和StoreOffline參數設爲true
pushRequest.setAndroidPopupTitle(message);
pushRequest.setAndroidPopupBody(message);
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送-推送給安卓陪玩買家端、ios簽名買家端出現了問題");
e.printStackTrace();
}
}
}
//阿里推送給ios電競幫代練大神端(appStore版本)、安卓陪玩大神端(代練接單、陪玩接單)
public static void pushNotice_ToIosDsd(String account,int type,String message,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(AppKey_IosDsd);
pushRequest.setTarget("ACCOUNT");//推送目標:device:推送給設備;account:推送給指定賬號,tag:推送給自定義標籤;all:推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device,則對應的值爲 設備id1,設備id2.多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("ALL");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE:消息; NOTICE:通知
pushRequest.setBody(message);//消息的內容
pushRequest.setTitle(message);
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
//設置安卓Android推送配置
pushRequest.setAndroidMusic("default");//Android通知音樂
pushRequest.setAndroidOpenType("APPLICATION");//點擊通知後動做 "APPLICATION":打開應用 ;"ACTIVITY":打開AndroidActivity;"URL":打開URL;"NONE":無跳轉
pushRequest.setAndroidExtParameters(deviceExtParameters);//通知的擴展屬性(注意 : 該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setAndroidNotifyType("BOTH");//通知的提醒方式 "VIBRATE":震動 ;"SOUND":聲音; "BOTH":聲音和震動 ;NONE:靜音
pushRequest.setStoreOffline(true);//離線消息是否保存,若保存,在推送時候,用戶即便不在線,下一次上線則會收到
pushRequest.setAndroidPopupActivity("com.tianrui.nj.aidaiace.code.app.AssistPopAct");//輔助彈出的Activity和StoreOffline參數設爲true
pushRequest.setAndroidPopupTitle(message);
pushRequest.setAndroidPopupBody(message);
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送給ios電競幫代練大神端(appStore版本)、安卓陪玩大神端(代練接單、陪玩接單)出現了問題 | pushNotice_ToIosDsd | AppKey_IosDsd");
e.printStackTrace();
}
}
}
//阿里推送給ios電競幫代練大神端(appStore版本)、安卓陪玩大神端(代練接單、陪玩接單) 分主副標題
public static void pushNotice_ToIosDsd_Edit_Content(String account,int type,String message,String content,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(AppKey_IosDsd);
pushRequest.setTarget("ACCOUNT");//推送目標:device:推送給設備;account:推送給指定賬號,tag:推送給自定義標籤;all:推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device,則對應的值爲 設備id1,設備id2.多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("ALL");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE:消息; NOTICE:通知
pushRequest.setTitle(message);//消息的標題
pushRequest.setBody(content);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSSubtitle(message);//iOS10通知副標題的內容
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
//設置安卓Android推送配置
pushRequest.setAndroidMusic("default");//Android通知音樂
pushRequest.setAndroidOpenType("APPLICATION");//點擊通知後動做 "APPLICATION":打開應用 ;"ACTIVITY":打開AndroidActivity;"URL":打開URL;"NONE":無跳轉
pushRequest.setAndroidExtParameters(deviceExtParameters);//通知的擴展屬性(注意 : 該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setAndroidNotifyType("BOTH");//通知的提醒方式 "VIBRATE":震動 ;"SOUND":聲音; "BOTH":聲音和震動 ;NONE:靜音
pushRequest.setStoreOffline(true);//離線消息是否保存,若保存,在推送時候,用戶即便不在線,下一次上線則會收到
pushRequest.setAndroidPopupActivity("com.tianrui.nj.aidaiace.code.app.AssistPopAct");//輔助彈出的Activity和StoreOffline參數設爲true
pushRequest.setAndroidPopupTitle(message);
pushRequest.setAndroidPopupBody(message);
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送給ios電競幫代練大神端(appStore版本)、安卓陪玩大神端(代練接單、陪玩接單)出現了問題 | pushNotice_ToIosDsd | AppKey_IosDsd");
e.printStackTrace();
}
}
}
//給ios玩家端推送通知
public static void pushNotice_ToIosPw(String account,int type,String message,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(Appkey_iospw);
pushRequest.setTarget("ACCOUNT");//推送目標: device:推送給設備; account:推送給指定賬號,tag:推送給自定義標籤; all: 推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2. 多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("iOS");//設備類型 ANDROID iOS ALL.
pushRequest.setTitle(message);
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setBody(message);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送給ios玩家端推送通知用戶出現了問題 | pushNotice_ToIospw | Appkey_iospw");
e.printStackTrace();
}
}
}
//給ios玩家端推送通知
public static void pushNotice_ToIosPw_Edit_Content(String account,int type,String message,String content,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(Appkey_iospw);
pushRequest.setTarget("ACCOUNT");//推送目標: device:推送給設備; account:推送給指定賬號,tag:推送給自定義標籤; all: 推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2. 多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("iOS");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setTitle(message);//消息的標題
pushRequest.setBody(content);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSSubtitle(message);//iOS10通知副標題的內容
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送給ios玩家端推送通知用戶出現了問題 | pushNotice_ToIospw | Appkey_iospw");
e.printStackTrace();
}
}
}
//ios陪玩大神端推送
public static void pushNotice_IosPwDsd(String account,int type,String message,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(Appkey_iospwDsd);
pushRequest.setTarget("ACCOUNT");//推送目標: device:推送給設備; account:推送給指定賬號,tag:推送給自定義標籤; all: 推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2. 多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("iOS");//設備類型 ANDROID iOS ALL.
pushRequest.setTitle(message);
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setBody(message);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送ios陪玩大神端推送用戶出現了問題 | pushNotice_IosPwDsd | Appkey_iospwDsd");
e.printStackTrace();
}
}
}
//ios陪玩大神端推送 分主副標題
public static void pushNotice_IosPwDsd_Edit_Content(String account,int type,String message,String content,String deviceExtParameters){
if(StringUtils.isNotBlank(account)) {
try {
DefaultAcsClient client = newDefaultAcsClient();
PushRequest pushRequest = new PushRequest();
// 推送目標
pushRequest.setAppKey(Appkey_iospwDsd);
pushRequest.setTarget("ACCOUNT");//推送目標: device:推送給設備; account:推送給指定賬號,tag:推送給自定義標籤; all: 推送給所有
pushRequest.setTargetValue(account);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2. 多個值使用逗號分隔.(賬號與設備有一次最多100個的限制)
pushRequest.setDeviceType("iOS");//設備類型 ANDROID iOS ALL.
// 安卓和IOS共同推送配置
pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE
pushRequest.setTitle(message);//消息的標題
pushRequest.setBody(content);//消息的內容
// 設置蘋果IOS推送配置
pushRequest.setIOSMusic("default");//iOS通知聲音
pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯)
pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境
pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效
pushRequest.setIOSRemind(true);
pushRequest.setIOSSubtitle(message);//iOS10通知副標題的內容
pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category
pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId());
} catch (Exception e) {
System.out.println("阿里推送ios陪玩大神端推送用戶出現了問題 | pushNotice_IosPwDsd | Appkey_iospwDsd");
e.printStackTrace();
}
}
}
public static void main(String[] args) {
String result="";
try {
Message m=new Message();
MsgBody b=new MsgBody();
b.setOrderType("0");
b.setMsg("反饋完成");
b.setOrderId("1,"+"2"+","+"123456789");
m.setMsgType("1");
m.setMsgBody(b);
pushNotice_ToIosDsd( "15651788870" , 1, "大神陪玩火熱上線",new JsonMapper().toJson(m));
result="success";
} catch (Exception e) {
result="error";
e.printStackTrace();
}
System.out.println(result);
}code
}ip
2.參數 AliPushClientUtils.pushNotice_ToIOS(Joiner.on(",").join(iosDsdList), 1, "您有新的訂單消息,請注意查看", new JsonMapper().toJson(message));
====================================================================================================================
二:根據deviceId推送
public static void pushNotice_ToALL(String deviceId,int type,String message,String deviceExtParameters,int delayPush){ logger.info("代練推送AliPushClientUtil pushNotice_ToALL account=" + deviceId + "&&type="+type +"&&message="+message+ "&&delayPush" + delayPush); if (StringUtils.isNotBlank(deviceId)) { try { DefaultAcsClient client = newDefaultAcsClient(); PushRequest pushRequest = new PushRequest(); // 推送目標 pushRequest.setAppKey(AppKey); pushRequest.setTarget("DEVICE");//推送目標:device:推送給設備;account:推送給指定賬號;tag:推送給自定義標籤;all:推送給所有 pushRequest.setTargetValue(deviceId);//根據Target來設定,如Target=device, 則對應的值爲 設備id1,設備id2.多個值使用逗號分隔.(賬號與設備有一次最多100個的限制) pushRequest.setDeviceType("ALL");//設備類型 ANDROID iOS ALL. // 安卓和IOS共同推送配置 pushRequest.setPushType("NOTICE");//消息類型 MESSAGE NOTICE pushRequest.setTitle(message);//消息的標題 pushRequest.setBody(message);//消息的內容 // 設置蘋果IOS推送配置 pushRequest.setIOSMusic("default");//iOS通知聲音 pushRequest.setIOSExtParameters(deviceExtParameters);//通知的擴展屬性(注意:該參數要以json map的格式傳入,不然會解析出錯) pushRequest.setIOSApnsEnv("DEV");//"DEV":表示開發環境 ;"PRODUCT":表示生產環境 pushRequest.setIOSRemindBody(message);//iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind爲true時有效 pushRequest.setIOSRemind(true); pushRequest.setIOSSubtitle(message);//iOS10通知副標題的內容 pushRequest.setIOSNotificationCategory(deviceExtParameters);//指定iOS10通知Category pushRequest.setIOSMutableContent(true);//是否容許擴展iOS通知內容 //設置安卓Android推送配置 pushRequest.setAndroidMusic("default");//Android通知音樂 pushRequest.setAndroidOpenType("APPLICATION");//點擊通知後動做 "APPLICATION":打開應用 ;"ACTIVITY":打開AndroidActivity;"URL":打開URL;"NONE":無跳轉 pushRequest.setAndroidExtParameters(deviceExtParameters);//通知的擴展屬性(注意 : 該參數要以json map的格式傳入,不然會解析出錯) pushRequest.setAndroidNotifyType("BOTH");//通知的提醒方式 "VIBRATE":震動 ;"SOUND":聲音; "BOTH":聲音和震動 ;NONE:靜音 pushRequest.setStoreOffline(true);//離線消息是否保存,若保存,在推送時候,用戶即便不在線,下一次上線則會收到 pushRequest.setAndroidPopupActivity("com.tianrui.nj.aidaiplayer.codes.broadcoastreciver.AssistPopAct");//輔助彈出的Activity和StoreOffline參數設爲true pushRequest.setAndroidPopupTitle(message); pushRequest.setAndroidPopupBody(message); // 推送控制 if(delayPush>0){ final Date pushDate = new Date(System.currentTimeMillis() + delayPush * 1000); // 30 final String pushTime = ParameterHelper.getISO8601Time(pushDate); pushRequest.setPushTime(pushTime);//延遲推送時間 } PushResponse pushResponse = client.getAcsResponse(pushRequest); System.out.printf("RequestId: %s, MessageID: %s\n",pushResponse.getRequestId(), pushResponse.getMessageId()); } catch (Exception e) { System.out.println("阿里推送|代練訂單匹配|推送給安卓陪玩買家端、ios簽名買家端出現了問題"); e.printStackTrace(); } } }