378
iPhone_iPad_Mac_手机_平板_苹果apple
Java__SDK手册_OpenAPI 1.0_移动推送-阿里云
1 获取AccessKeyId和AccessKeySecret
2 获取appKey
>>前往移动推动控制台获取 app列表->应用证书
3 引入SDK依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-push</artifactId>
<version>2.2.4</version>
</dependency>
4 示例代码(替换成您的AccessKeyId、AccessKeySecret、appKey)
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);
final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm:ss");
final String date = dateFormat.format(new Date());
PushRequest pushRequest = new PushRequest();
// 推送目标
pushRequest.setAppKey(appKey);
pushRequest.setTarget("device"); //推送目标: device:推送给设备; account:推送给指定帐号,tag:推送给自定义标签; all: 推送给全部
pushRequest.setTargetValue("_YOUR_DEVICE_IDS_HERE"); //根据Target来设定,如Target=device, 则对应的值为 设备id1,设备id2. 多个值使用逗号分隔.(帐号与设备有一次最多100个的限制)
pushRequest.setDeviceType(3); // 设备类型deviceType 取值范围为:0~3. iOS设备: 0; Android设备: 1; 全部: 3, 这是默认值.
// 推送配置
pushRequest.setType(1); // 0:表示消息(默认为0), 1:表示通知
pushRequest.setTitle(date); // 消息的标题
pushRequest.setBody("PushRequest body"); // 消息的内容
pushRequest.setSummary("PushRequest summary"); // 通知的摘要
// 推送配置: iOS
pushRequest.setiOSBadge("5"); // iOS应用图标右上角角标
pushRequest.setiOSMusic("default"); // iOS通知声音
pushRequest.setiOSExtParameters("{"k1":"ios","k2":"v2"}"); //自定义的kv结构,开发者扩展用 针对iOS设备
pushRequest.setApnsEnv("DEV");
//pushRequest.setRemind(true); // 推送时设备不在线(既与移动推送的服务端的长连接通道不通),则这条推送会做为通知,通过苹果的APNs通道送达一次(发送通知时,Summary为通知的内容,Message不起作用)。注意:离线消息转通知仅适用于生产环境
// 推送配置: Android
//设置该参数后启动小米托管弹窗功能,此处指定通知点击后跳转的Activity(托管弹窗的前提条件:1. 继承小米辅助通道;2. storeOffline设为true
//pushRequest.setXiaomiActivity("_Your_XiaoMi_Activity_");
pushRequest.setAndroidOpenType("3"); // 点击通知后动作,1:打开应用 2: 打开应用Activity 3:打开 url 4 : 无跳转逻辑
pushRequest.setAndroidOpenUrl("https://www.baidu.com"); // Android收到推送后打开对应的url,仅仅当androidOpenType=3有效
pushRequest.setAndroidExtParameters("{"k1":"android","k2":"v2"}"); // 设定android类型设备通知的扩展属性
// 推送控制
//final Date pushDate = new Date(System.currentTimeMillis() + 30 * 1000); // 30秒之间的时间点, 也可以设置成你指定固定时间
//final String pushTime = ParameterHelper.getISO8601Time(pushDate);
// pushRequest.setPushTime(pushTime); // 延后推送。可选,如果不设置表示立即推送
//pushRequest.setStoreOffline(false); // 离线消息是否保存,若保存, 在推送时候,用户即使不在线,下一次上线则会收到
//final String expireTime = ParameterHelper.getISO8601Time(new Date(System.currentTimeMillis() + 12 * 3600 * 1000)); // 12小时后消息失效, 不会再发送
//pushRequest.setExpireTime(expireTime);
//pushRequest.setBatchNumber("100010"); // 批次编号,用于活动效果统计. 设置成业务可以记录的字符串
PushResponse pushResponse = client.getAcsResponse(pushRequest);
System.out.printf("RequestId: %s, ResponseId: %sn",
pushResponse.getRequestId(), pushResponse.getResponseId());
最后更新:2016-12-12 11:12:22
上一篇:
推送查询接口__API列表_OpenAPI 1.0_移动推送-阿里云
下一篇:
net__SDK手册_OpenAPI 1.0_移动推送-阿里云
联系人管理__管理系统配置_用户指南_业务实时监控服务 ARMS-阿里云
GetObjectACL__关于Object操作_API 参考_对象存储 OSS-阿里云
怎样在OSS中使用带IP限制的访问控制___对象存储(OSS)授权问题_授权常见问题_访问控制-阿里云
直播录制视频转点播__使用手册_视频直播-阿里云
Shell 作业配置__作业_用户指南_E-MapReduce-阿里云
数据转发到表格存储中__规则引擎_控制台使用手册_阿里云物联网套件-阿里云
使用条件更新__最佳实践_表格存储-阿里云
OSS 参考使用说明__开发准备_开发人员指南_E-MapReduce-阿里云
创建 Job__SchedulerX for EDAS_二方服务_企业级分布式应用服务 EDAS-阿里云
计划任务__系统管理_用户指南(Linux)_数据管理-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云