閱讀378 返回首頁    go 小米 go 小米 note


Java__SDK手冊_OpenAPI 1.0_移動推送-阿裏雲

1 獲取AccessKeyId和AccessKeySecret

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

2 獲取appKey

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

3 引入SDK依賴

  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-push</artifactId>
  4. <version>2.2.4</version>
  5. </dependency>

4 示例代碼(替換成您的AccessKeyId、AccessKeySecret、appKey)

  1. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
  2. DefaultAcsClient client = new DefaultAcsClient(profile);
  3. final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm:ss");
  4. final String date = dateFormat.format(new Date());
  5. PushRequest pushRequest = new PushRequest();
  6. // 推送目標
  7. pushRequest.setAppKey(appKey);
  8. pushRequest.setTarget("device"); //推送目標: device:推送給設備; account:推送給指定帳號,tag:推送給自定義標簽; all: 推送給全部
  9. pushRequest.setTargetValue("_YOUR_DEVICE_IDS_HERE"); //根據Target來設定,如Target=device, 則對應的值為 設備id1,設備id2. 多個值使用逗號分隔.(帳號與設備有一次最多100個的限製)
  10. pushRequest.setDeviceType(3); // 設備類型deviceType 取值範圍為:0~3. iOS設備: 0; Android設備: 1; 全部: 3, 這是默認值.
  11. // 推送配置
  12. pushRequest.setType(1); // 0:表示消息(默認為0), 1:表示通知
  13. pushRequest.setTitle(date); // 消息的標題
  14. pushRequest.setBody("PushRequest body"); // 消息的內容
  15. pushRequest.setSummary("PushRequest summary"); // 通知的摘要
  16. // 推送配置: iOS
  17. pushRequest.setiOSBadge("5"); // iOS應用圖標右上角角標
  18. pushRequest.setiOSMusic("default"); // iOS通知聲音
  19. pushRequest.setiOSExtParameters("{"k1":"ios","k2":"v2"}"); //自定義的kv結構,開發者擴展用 針對iOS設備
  20. pushRequest.setApnsEnv("DEV");
  21. //pushRequest.setRemind(true); // 推送時設備不在線(既與移動推送的服務端的長連接通道不通),則這條推送會做為通知,通過蘋果的APNs通道送達一次(發送通知時,Summary為通知的內容,Message不起作用)。注意:離線消息轉通知僅適用於生產環境
  22. // 推送配置: Android
  23. //設置該參數後啟動小米托管彈窗功能,此處指定通知點擊後跳轉的Activity(托管彈窗的前提條件:1. 繼承小米輔助通道;2. storeOffline設為true
  24. //pushRequest.setXiaomiActivity("_Your_XiaoMi_Activity_");
  25. pushRequest.setAndroidOpenType("3"); // 點擊通知後動作,1:打開應用 2: 打開應用Activity 3:打開 url 4 : 無跳轉邏輯
  26. pushRequest.setAndroidOpenUrl("https://www.baidu.com"); // Android收到推送後打開對應的url,僅僅當androidOpenType=3有效
  27. pushRequest.setAndroidExtParameters("{"k1":"android","k2":"v2"}"); // 設定android類型設備通知的擴展屬性
  28. // 推送控製
  29. //final Date pushDate = new Date(System.currentTimeMillis() + 30 * 1000); // 30秒之間的時間點, 也可以設置成你指定固定時間
  30. //final String pushTime = ParameterHelper.getISO8601Time(pushDate);
  31. // pushRequest.setPushTime(pushTime); // 延後推送。可選,如果不設置表示立即推送
  32. //pushRequest.setStoreOffline(false); // 離線消息是否保存,若保存, 在推送時候,用戶即使不在線,下一次上線則會收到
  33. //final String expireTime = ParameterHelper.getISO8601Time(new Date(System.currentTimeMillis() + 12 * 3600 * 1000)); // 12小時後消息失效, 不會再發送
  34. //pushRequest.setExpireTime(expireTime);
  35. //pushRequest.setBatchNumber("100010"); // 批次編號,用於活動效果統計. 設置成業務可以記錄的字符串
  36. PushResponse pushResponse = client.getAcsResponse(pushRequest);
  37. System.out.printf("RequestId: %s, ResponseId: %sn",
  38. pushResponse.getRequestId(), pushResponse.getResponseId());

最後更新:2016-12-12 11:12:22

  上一篇:go 推送查詢接口__API列表_OpenAPI 1.0_移動推送-阿裏雲
  下一篇:go net__SDK手冊_OpenAPI 1.0_移動推送-阿裏雲