阿里云移动推送

一:根据手机号推送

1、推送类AliPushClientUtil.java

package org.springframework.system.alipush.push;

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;

import com.aliyuncs.DefaultAcsClient;

import com.aliyuncs.push.model.v20160801.PushRequest;
import com.aliyuncs.push.model.v20160801.PushResponse;


/**
*
* <阿里云推送>
* @author 朱东东
* @version [v1.6, 2017年5月3日]
* @since [app后台/阿里推送]
*/
public class AliPushClientUtil extends AliPush {

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);
}


}

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();
}
}

}

转载于:https://www.cnblogs.com/zhangcf420/p/8080792.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值