閱讀375 返回首頁    go 汽車大全


.net__SDK手冊_OpenAPI 2.0_移動推送-阿裏雲

SDK 地址
Demo 地址

1 獲取AccessKeyId和AccessKeySecret

>>前往阿裏雲官網控製台獲取

2 獲取appKey

>>前往移動推動控製台獲取 app列表->應用證書

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)

  1. IClientProfile clientProfile = DefaultProfile.GetProfile("cn-hangzhou", "<your access key id>", "<your access key secret>");
  2. DefaultAcsClient client = new DefaultAcsClient(clientProfile);
  3. PushRequest request = new PushRequest();
  4. // 推送目標
  5. request.AppKey = <your appKey>;
  6. //推送目標: DEVICE:按設備推送 ALIAS : 按別名推送 ACCOUNT:按帳號推送 TAG:按標簽推送; ALL: 廣播推送
  7. request.Target = "ALL";
  8. //根據Target來設定,如Target=DEVICE, 則對應的值為 設備id1,設備id2. 多個值使用逗號分隔.(帳號與設備有一次最多100個的限製)
  9. request.TargetValue = "all";
  10. //消息類型 MESSAGE NOTICE
  11. request.PushType = "NOTICE";
  12. //設備類型 ANDROID iOS ALL.
  13. request.DeviceType = "ALL";
  14. // 消息的標題
  15. request.Title = "Push Title";
  16. // 消息的內容
  17. request.Body = "Push body";
  18. // 推送配置: iOS
  19. // iOS應用圖標右上角角標
  20. request.IOSBadge = 50;
  21. // iOS通知聲音
  22. request.IOSMusic = "default";
  23. //iOS10通知副標題的內容
  24. request.IOSSubtitle = "iOS10 subtitle";
  25. //指定iOS10通知Category
  26. request.IOSNotificationCategory = "iOS10 Notification Category";
  27. //是否允許擴展iOS通知內容
  28. request.IOSMutableContent = true;
  29. //iOS的通知是通過APNs中心來發送的,需要填寫對應的環境信息。"DEV" : 表示開發環境 "PRODUCT" : 表示生產環境
  30. request.IOSApnsEnv = "DEV";
  31. //消息推送時設備不在線(既與移動推送的服務端的長連接通道不通),則這條推送會做為通知,通過蘋果的APNs通道送達一次。注意:離線消息轉通知僅適用於生產環境
  32. request.IOSRemind = true;
  33. //iOS消息轉通知時使用的iOS通知內容,僅當iOSApnsEnv=PRODUCT && iOSRemind為true時有效
  34. request.IOSRemindBody = "iOSRemindBody";
  35. //自定義的kv結構,開發者擴展用 針對iOS設備
  36. request.IOSExtParameters = "{"key1":"value1"}";
  37. // 推送配置: Android
  38. // 通知的提醒方式 "VIBRATE" : 震動 "SOUND" : 聲音 "BOTH" : 聲音和震動 NONE : 靜音
  39. request.AndroidNotifyType = "BOTH";
  40. //通知欄自定義樣式0-100
  41. request.AndroidNotificationBarType = 3;
  42. //通知欄顯示優先級
  43. request.AndroidNotificationBarPriority = 0;
  44. //點擊通知後動作 "APPLICATION" : 打開應用 "ACTIVITY" : 打開AndroidActivity "URL" : 打開URL "NONE" : 無跳轉
  45. request.AndroidOpenType = "NONE";
  46. //Android收到推送後打開對應的url,僅當AndroidOpenType="URL"有效
  47. request.AndroidOpenUrl = "https://www.baidu.com";
  48. //設定通知打開的activity,僅當AndroidOpenType="Activity"有效
  49. request.AndroidActivity = "com.alibaba.push2.demo.XiaoMiPushActivity";
  50. //Android通知音樂
  51. request.AndroidMusic = "default";
  52. //設置該參數後啟動小米托管彈窗功能,此處指定通知點擊後跳轉的Activity(托管彈窗的前提條件:1. 繼承小米輔助通道;2. storeOffline設為true)
  53. request.AndroidXiaoMiActivity = "com.ali.demo.MiActivity";
  54. //小米彈窗標題
  55. request.AndroidXiaoMiNotifyTitle = "Mi Title";
  56. //小米彈窗內容
  57. request.AndroidXiaoMiNotifyBody = "MiActivity Body";
  58. // 設定android類型設備通知的擴展屬性
  59. request.AndroidExtParameters = "{"k1":"android","k2":"v2"}";
  60. // 推送控製
  61. String pushTime = DateTime.UtcNow.AddSeconds(3).ToString("yyyy-MM-ddTHH\:mm\:ssZ");
  62. request.PushTime = pushTime;//延遲3秒發送
  63. String expireTime = DateTime.UtcNow.AddDays(2).ToString("yyyy-MM-ddTHH\:mm\:ssZ");
  64. request.ExpireTime = expireTime;//設置過期時間為2天
  65. request.StoreOffline = false;
  66. try
  67. {
  68. PushResponse response = client.GetAcsResponse(request);
  69. Console.WriteLine("RequestId:" + response.RequestId);
  70. Console.WriteLine("ResponseId:"+response.MessageId);
  71. Console.ReadLine();
  72. } catch (ServerException e)
  73. {
  74. Console.WriteLine(e.ErrorCode);
  75. Console.WriteLine(e.ErrorMessage);
  76. Console.ReadLine();
  77. } catch (ClientException e)
  78. {
  79. Console.WriteLine(e.ErrorCode);
  80. Console.WriteLine(e.ErrorMessage);
  81. Console.ReadLine();
  82. }

最後更新:2016-12-20 21:19:58

  上一篇:go 解綁別名__alias相關_API 列表_OpenAPI 2.0_移動推送-阿裏雲
  下一篇:go 鑒權Action__OpenAPI RAM鑒權_OpenAPI 2.0_移動推送-阿裏雲