全部产品

.NET

更新时间:2020-09-03 18:05:41

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. using Aliyun.Acs.Core;
  2. using Aliyun.Acs.Core.Exceptions;
  3. using Aliyun.Acs.Core.Profile;
  4. using Aliyun.Acs.Push.Model.V20160801;
  5. using System;

4. 示例代码

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

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

  1. using System;
  2. using System.Collections.Generic;
  3. using Aliyun.Acs.Core;
  4. using Aliyun.Acs.Core.Exceptions;
  5. using Aliyun.Acs.Core.Profile;
  6. using Aliyun.Acs.Push.Model.V20160801;
  7. namespace PushDemo
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
  14. DefaultAcsClient client = new DefaultAcsClient(profile);
  15. var request = new PushRequest();
  16. request.AppKey = "appKey";
  17. request.PushType = "NOTICE";
  18. request.DeviceType = "ALL";
  19. request.Target = "DEVICE";
  20. request.TargetValue = "deviceIds";
  21. request.Body = "ALi Push Title";
  22. request.Title = "Ali Push Body";
  23. try {
  24. var response = client.GetAcsResponse(request);
  25. Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
  26. }
  27. catch (ServerException e)
  28. {
  29. Console.WriteLine(e);
  30. }
  31. catch (ClientException e)
  32. {
  33. Console.WriteLine(e);
  34. }
  35. }
  36. }
  37. }