全部产品

Java

更新时间:2020-10-20 11:37:56

1. 获取AccessKey

为了保证云服务的安全,您需要创建一个能访问移动推送资源的RAM子账号,获取该子账号的AccessKey,并使用这个RAM子账号调用移动推送的OpenAPI。

操作步骤

  1. 创建RAM子账号,操作方法请参见创建RAM用户
  2. 授予RAM子账号管理移动推送(MPush)的权限,操作方法请参见为RAM用户授权
  3. 获取子账号的AccessKey信息请参见获取AccessKey

说明:AccessKey包含AccessKey ID和AccessKey Secret。

2. 获取AppKey

登录EMAS控制台,在首页我的产品模块单击您的应用,进入应用管理页面,应用管理页面即可查看AppKey。

3. 引入SDK依赖

  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-push</artifactId>
  4. <version>3.13.6</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.aliyun</groupId>
  8. <artifactId>aliyun-java-sdk-core</artifactId>
  9. <version>[4.3.2,5.0.0)</version>
  10. </dependency>

4 示例代码

说明:示例代码中的accessKeyId、accessKeySecret、appKey需替换为您在2、3步骤中获取到的值。

您可以可以使用可视化调试工具OpenAPI Explorer,获取代码示例。

  1. import com.aliyuncs.DefaultAcsClient;
  2. import com.aliyuncs.IAcsClient;
  3. import com.aliyuncs.exceptions.ClientException;
  4. import com.aliyuncs.exceptions.ServerException;
  5. import com.aliyuncs.profile.DefaultProfile;
  6. import com.google.gson.Gson;
  7. import java.util.*;
  8. import com.aliyuncs.push.model.v20160801.*;
  9. public class Push {
  10. public static void main(String[] args) {
  11. DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
  12. IAcsClient client = new DefaultAcsClient(profile);
  13. PushRequest request = new PushRequest();
  14. request.setRegionId("cn-hangzhou");
  15. request.setAppKey("appKey");
  16. request.setPushType("NOTICE");
  17. request.setDeviceType("ALL");
  18. request.setTarget("DEVICE");
  19. request.setTargetValue("deviceIds");
  20. request.setBody("ALi Push Title");
  21. request.setTitle("Ali Push Body");
  22. try {
  23. PushResponse response = client.getAcsResponse(request);
  24. System.out.println(new Gson().toJson(response));
  25. } catch (ServerException e) {
  26. e.printStackTrace();
  27. } catch (ClientException e) {
  28. System.out.println("ErrCode:" + e.getErrCode());
  29. System.out.println("ErrMsg:" + e.getErrMsg());
  30. System.out.println("RequestId:" + e.getRequestId());
  31. }
  32. }
  33. }