378
windows
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-阿裏雲