更新时间:2020-03-31 12:06
EMAS中心仓库: http://nexus-ce.emas-poc.com/
访问该maven仓库需要配置账号/密码,账号信息咨询EMAS环境管理员。
settings.xml
配置示例:
<servers>
<server>
<id>emas-public</id>
<username>_EMAS_MAVEN_USERNAME_</username>
<password>_EMAS_MAVEN_PASSWORD_</password>
</server>
</servers>
<profiles>
<profile>
<id>emas</id>
<repositories>
<repository>
<id>emas-public</id>
<url>http://nexus-ce.emas-poc.com/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>emas</activeProfile>
</activeProfiles>
<dependency>
<groupId>com.alibaba.emas</groupId>
<artifactId>emas-openapi-sdk-push</artifactId>
<version>1.0.1</version>
</dependency>
SDK中的类 | API(对应类中的方法) | API功能描述 |
---|---|---|
PushApi | pushPost | 推送消息 |
咨询EMAS环境管理员,获取OpenAPI配置信息:
属性 | 含义 |
---|---|
endpoint | 访问OpenAPI的网络入口url |
accessKey | 访问OpenAPI的密钥key |
secret | 访问OpenAPI的密钥secret |
OpenAPI配置信息示例:
accessKey: _EMAS_OPENAPI_ACCESS_KEY_
secret: _EMAS_OPENAPI_ACCESS_SECRET_
endpoint: http://_EMAS_OPENAPI_DOMAIN_:31080/agoo/v1
PushRequest对象属性的含义:
属性 | 含义 |
---|---|
pushType | 推送类型,可选通知或消息,默认为通知 |
sandbox | 是否为开发环境(仅iOS通知有效) |
actionType | 后续操作类型,打开App/URL/Activity(iOS当前仅支持打开App) |
sendType | 发送类型,全推/按设备/按别名 |
targetDevices | 目标设备列表,最多100个 |
targetAliases | 目标别名列表,最多100个 |
badge | 角标数(仅对iOS有效) |
iconUrl | 图标URL(仅对Android有效) |
remindType | 提醒方式:震动、声音、震动+声音、无提醒(仅对Android有效) |
pictureResource | 图片资源(仅对iOS有效) |
soundResource | 声音资源 |
silent | 是否为静默通知 |
notificationChannel | Android 8.0通知通道 |
extParams | 自定义参数(最多5个,key最多20字符,value最多100字符) |
expireTime | 过期时间 |
channel | 手动指定发送通道,不指定时自动选择通道,一般无需设置,仅对Android有效 |
public void testPush() {
String accessKey = "_EMAS_OPENAPI_ACCESS_KEY_";
String secret = "_EMAS_OPENAPI_ACCESS_SECRET_";
String endpoint = "_EMAS_OPENAPI_ENDPOINT_";
PushApi api = new PushApi(accessKey, secret, endpoint);
PushRequest request = new PushRequest();
request.setAppKey("12345678");
request.setTitle("title");
request.setContent("content");
request.setSendType(PushRequest.SendTypeEnum.ALIAS);
request.setTargetAliases(Arrays.asList("alias1", "alias2"));
request.setExpireTime(OffsetDateTime.now().plusDays(1)); // 设置过期时间
try {
PushWebResult result = api.pushPost(request); // 发起推送请求
System.out.println("Push result: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
错误码 | 描述 |
---|---|
119130 | 缺少AppKey参数 |
119131 | 缺少Title参数 |
119132 | 缺少Content参数 |
119134 | 缺少ActionTarget参数 |
119135 | 缺少SendType参数 |
119136 | 缺少TargetDevices参数 |
119137 | 缺少TargetAliases参数 |
119138 | 缺少ExpireTime参数 |
119139 | 缺少Sandbox参数 |
119150 | Title长度超出限制 |
119151 | SubTitle长度超出限制 |
119152 | Content长度超出限制 |
119153 | ActionTarget长度超出限制 |
119154 | IconUrl长度超出限制 |
119155 | PictureResource长度超出限制 |
119156 | SoundResource长度超出限制 |
119157 | NotificationChannel长度超出限制 |
119158 | ExtParams key长度超出限制 |
119159 | ExtParams value长度超出限制 |
119160 | TargetDevices列表个数超出限制 |
119161 | TargetAliases列表个数超出限制 |
119162 | ExtParams key/value个数超出限制 |
119170 | ActionType参数无效 |
119171 | RemindType参数无效 |
119172 | SendType参数无效 |
119173 | ExtParams参数无效 |
119174 | Badge参数无效 |
119175 | ExpireTime参数无效 |
在文档使用中是否遇到以下问题
更多建议
匿名提交