极光推送api
JPush iOS
從上圖可以看出,JPush iOS Push 包括 2 個部分,APNs 推送(代理),與 JPush 應用內消息。
紅色部分是 APNs 推送,JPush 代理開發者的應用(需要基于開發者提供的應用證書),向蘋果 APNs 服務器推送。由 APNs Server 推送到 iOS 設備上。
藍色部分是 JPush 應用內推送部分,即 App 啟動時,內嵌的 JPush SDK 會開啟長連接到 JPush Server,從而 JPush Server 可以推送消息到 App 里。
APNs 通知
APNs 通知:是指通過向 Apple APNs 服務器發送通知,到達 iOS 設備,由 iOS 系統提供展現的推送。用戶可以通過 IOS 系統的 “設置” >> “通知” 進行設置,開啟或者關閉某一個 App 的推送能力。
JPush iOS SDK 不負責 APNs 通知的展現,只是向 JPush 服務器端上傳 Device Token 信息,JPush 服務器端代理開發者向 Apple APNs 推送通知。
獲取 APNs 推送內容
應用內消息
應用內消息:JPush iOS SDK 提供的應用內消息功能,在 App 在前臺時能夠收到推送下來的消息。App 可使用此功能來做消息下發動作。
此消息不經過 APNs 服務器,完全由 JPush 提供功能支持。
獲取應用內消息推送內容
APNs通知與應用內消息對比
如果只需要發送通知,則可以忽略應用內消息的處理。對于兩種消息的代碼處理可以參考API 部分的描述。
JPush API v3 支持同時一次調用同時推送 APNs 通知與 JPush 應用內消息。這在某些應用場景里是有意義的。
| 推送原則 | 由JPush服務器發送至APNS服務器,再下發到手機。 | 由JPush直接下發,每次推送都會嘗試發送,如果用戶在線則立即收到。否則保存為離線。 |
| 離線消息 | 離線消息由APNS服務器緩存按照Apple的邏輯處理。 | 用戶不在線JPush server 會保存離線消息,時長默認保留一天。離線消息保留5條。 |
| 推送與證書環境 | 應用證書和推送指定的iOS環境匹配才可以收到。 | 自定義消息與APNS證書環境無關。 |
| 接收方式 | 應用退出,后臺以及打開狀態都能收到APNS | 需要應用打開,與JPush 建立連接才能收到。 |
| 展示效果 | 如果應用后臺或退出,會有系統的APNS提醒。 如果應用處于打開狀態,則不展示。 | 非APNS,默認不展示??赏ㄟ^獲取接口自行編碼處理。 |
| 處理函數 | Apple提供的接口:didReceiveRemoteNotification | JPush提供的接口:networkDidReceiveMessage |
iOS SDK 集成
請參考以下文檔與教程,來集成 IOS SDK。
- IOS 集成指南
iOS SDK 說明
iOS 版本支持
- 支持的iOS版本為6.0及以上版本。
- 支持iOS版本為10.0以上的版本時需知。
- Notification Service Extension證書配置時需要注意BundleID不能與Main Target一致,證書需要單獨額外配置。
- 請將Notification Service Extension中的Deployment Target設置為10.0。
- 在XCode7或者更低的版本中刪除Notification Service Extension所對應的Target。
- 在XCode7或者更低的版本中請將引入的'UserNotifications.framework'刪除。
組成
- 頭文件 JPUSHService.h
- 靜態庫文件 jpush-ios-x.x.x.a,jcore-ios-x.x.x.a
注意事項
- 請參考iOS常見問題
JPush APNs 通知的意義
iOS 平臺上推送通知,只有 APNs 這個官方的通道,是可以隨時送達的。一般開發者都是自己部署應用服務器向 APNs Server 推送。
JPush iOS 推送相比直接向 APNs 推送有什么好處呢?
- 減少開發及維護成本:
- 應用開發者不需要去開發維護自己的推送服務器與 APNs 對接。
- 集成了 JPush iOS SDK 后不必自己維護更新 device token。
- 通過 JPush 的 Web Portal 直接推送,也可以調用JPush的 HTTP 協議 API 來完成,開發工作量大大減少。
- 減少運營成本:
- 極光推送支持一次推送,同時向 Android, iOS, WinPhone 三個平臺。支持統一的 API 與推送界面。
- 極光推送提供標簽、別名綁定機制,以及提供了非常細分的用戶分群方式,運營起來非常簡單、直觀。
- 提供應用內推送:
- 除了使得 APNs 推送更簡單,也另外提供應用內消息推送。這在類似于聊天的場景里很有必要。
JPush APNs 實現
JPush APNs 的實現可以參考極光博客的一篇文章:http://blog.jiguang.cn/apns/
Push API?v3
這是 Push API 最近的版本。
相比于 API v2 版本,v3 版本的改進為:
- 完全基于 https,不再提供 http 訪問;
- 使用 HTTP Basic Authentication 的方式做訪問授權。這樣整個 API 請求可以使用常見的 HTTP 工具來完成,比如:curl,瀏覽器插件等;
- 推送內容完全使用 JSON 的格式;
- 支持的功能有所改進:支持多 tag 的與或操作;可單獨發送通知或者自定義消息,也可同時推送通知與自定義消息;windows phone 目前只有通知。
推送概述
功能說明
向某單個設備或者某設備列表推送一條通知、或者消息。
推送的內容只能是 JSON 表示的一個推送對象。
調用地址
POST https://api.jpush.cn/v3/push
請求示例
curl --insecure -X POST -v https://api.jpush.cn/v3/push -H "Content-Type: application/json" -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" -d '{"platform":"all","audience":"all","notification":{"alert":"Hi,JPush !","android":{"extras":{"android-key1":"android-value1"}},"ios":{"sound":"sound.caf","badge":"+1","extras":{"ios-key1":"ios-value1"}}}}'> POST /v3/push HTTP/1.1 > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==返回示例
< HTTP/1.1 200 OK < Content-Type: application/json {"sendno":"18","msg_id":"1828256757"}調用驗證
HTTP Header(頭)里加一個字段(Key/Value對):
Authorization: Basic base64_auth_string 其中 base64_auth_string 的生成算法為:base64(appKey:masterSecret)
即,對 appKey 加上冒號,加上 masterSecret 拼裝起來的字符串,再做 base64 轉換。
推送對象
一個推送對象,以 JSON 格式表達,表示一條推送相關的所有信息。
| platform | 必填 | 推送平臺設置 |
| audience | 必填 | 推送設備指定 |
| notification | 可選 | 通知內容體。是被推送到客戶端的內容。與 message 一起二者必須有其一,可以二者并存 |
| message | 可選 | 消息內容體。是被推送到客戶端的內容。與 notification 一起二者必須有其一,可以二者并存 |
| sms_message | 可選 | 短信渠道補充送達內容體 |
| options | 可選 | 推送參數 |
| cid | 可選 | 用于防止 api 調用端重試造成服務端的重復推送而定義的一個標識符。 |
示例與說明
{"cid": "8103a4c628a0b98974ec1949-711261d4-5f17-4d2f-a855-5e5a8909b26e","platform": "all","audience": {"tag": ["深圳","北京"]},"notification": {"android": {"alert": "Hi, JPush!","title": "Send to Android","builder_id": 1,"extras": {"newsid": 321}},"ios": {"alert": "Hi, JPush!","sound": "default","badge": "+1","extras": {"newsid": 321}}},"message": {"msg_content": "Hi,JPush","content_type": "text","title": "msg","extras": {"key": "value"}},"sms_message":{"content":"sms msg content","delay_time":3600},"options": {"time_to_live": 60,"apns_production": false,"apns_collapse_id":"jiguang_test_201706011100"} }platform:推送平臺
JPush 當前支持 Android, iOS, Windows Phone 三個平臺的推送。其關鍵字分別為:"android", "ios", "winphone"。
如果目標平臺為 iOS 平臺 需要在 options 中通過 apns_production 字段來設定推送環境。True 表示推送生產環境,False 表示要推送開發環境; 如果不指定則為推送生產環境
推送到所有平臺:
{ "platform" : "all" }指定特定推送平臺:
{ "platform" : ["android", "ios"] }audience:推送目標
推送設備對象,表示一條推送可以被推送到哪些設備列表。確認推送設備對象,JPush 提供了多種方式,比如:別名、標簽、注冊ID、分群、廣播等。
all
如果要發廣播(全部設備),則直接填寫 “all”。
推送目標
廣播外的設備選擇方式,有如下幾種:
| tag | JSON Array | 標簽OR | 數組。多個標簽之間是 OR 的關系,即取并集。 | 用標簽來進行大規模的設備屬性、用戶屬性分群。 一次推送最多 20 個。
|
| tag_and | JSON Array | 標簽AND | 數組。多個標簽之間是 AND 關系,即取交集。 | 注意與 tag 區分。一次推送最多 20 個。 |
| tag_not | JSON Array | 標簽NOT | 數組。多個標簽之間,先取多標簽的并集,再對該結果取補集。 | 一次推送最多 20 個。 |
| alias | JSON Array | 別名 | 數組。多個別名之間是 OR 關系,即取并集。 | 用別名來標識一個用戶。一個設備只能綁定一個別名,但多個設備可以綁定同一個別名。一次推送最多 1000 個。
|
| registration_id | JSON Array | 注冊ID | 數組。多個注冊ID之間是 OR 關系,即取并集。 | 設備標識。一次推送最多 1000 個。 |
| segment | JSON Array | 用戶分群ID | 在頁面創建的用戶分群的 ID。定義為數組,但目前限制一次只能推送一個。 | 目前限制是一次只能推送一個。 |
| abtest | JSON Array | A/B Test ID | 在頁面創建的 A/B 測試的 ID。定義為數組,但目前限制是一次只能推送一個。 | 目前限制一次只能推送一個。 |
以上幾種類型至少需要有其一。如果值數組長度為 0,表示該類型不存在。
這幾種類型可以并存,多項的隱含關系是 AND,即取幾種類型結果的交集。
例如:
先計算 tag 中字段 tag1 和 tag2 的結果?tag1或tag2=A;
再計算 tag_and 中字段 tag3 和 tag4 的結果?tag3且tag4=B;
再計算 tag_not 中字段 tag5 和 tag6 的結果?非(tag5或tag6)=C?。
最終的結果為?A且B且C?。
示例
- 推送給全部(廣播):
- 推送給多個標簽(只要在任何一個標簽范圍內都滿足):在深圳、廣州、或者北京
- 推送給多個標簽(需要同時在多個標簽范圍內):在深圳并且是“女”
- 推送給多個別名:
- 推送給多個注冊ID:
- 可同時推送指定多類推送目標:在深圳或者廣州,并且是 “女” “會員”
notification:通知
“通知”對象,是一條推送的實體內容對象之一(另一個是“消息”),是會作為“通知”推送到客戶端的。
其下屬屬性包含 4 種,3 個平臺屬性,以及一個 "alert" 屬性。
alert
通知的內容在各個平臺上,都可能只有這一個最基本的屬性 "alert"。
這個位置的 "alert" 屬性(直接在 notification 對象下),是一個快捷定義,各平臺的 alert 信息如果都一樣,則可不定義。如果各平臺有定義,則覆蓋這里的定義。
上面定義的 notification 對象,將被推送到 "platform" 指定的多個平臺,并且其通知 alert 信息都一樣。
android
Android 平臺上的通知,JPush SDK 按照一定的通知欄樣式展示。
支持的字段有:
| alert | string | 必填 | 通知內容 | 這里指定了,則會覆蓋上級統一指定的 alert 信息;內容可以為空字符串,則表示不展示到通知欄。 |
| title | string | 可選 | 通知標題 | 如果指定了,則通知里原來展示 App名稱的地方,將展示成這個字段。 |
| builder_id | int | 可選 | 通知欄樣式ID | Android SDK 可設置通知欄樣式,這里根據樣式 ID 來指定該使用哪套樣式。 |
| priority | int | 可選 | 通知欄展示優先級 | 默認為0,范圍為 -2~2 ,其他值將會被忽略而采用默認。 |
| category | string | 可選 | 通知欄條目過濾或排序 | 完全依賴 rom 廠商對 category 的處理策略 |
| style | int | 可選 | 通知欄樣式類型 | 默認為0,還有1,2,3可選,用來指定選擇哪種通知欄樣式,其他值無效。有三種可選分別為bigText=1,Inbox=2,bigPicture=3。 |
| alert_type | int | 可選 | 通知提醒方式 | 可選范圍為 -1 ~ 7 ,對應 Notification.DEFAULT_ALL = -1 或者 Notification.DEFAULT_SOUND = 1, Notification.DEFAULT_VIBRATE = 2, Notification.DEFAULT_LIGHTS = 4 的任意 “or” 組合。默認按照 -1 處理。 |
| big_text | string | 可選 | 大文本通知欄樣式 | 當 style = 1 時可用,內容會被通知欄以大文本的形式展示出來。支持 api 16以上的rom。 |
| inbox | JSONObject | 可選 | 文本條目通知欄樣式 | 當 style = 2 時可用, json 的每個 key 對應的 value 會被當作文本條目逐條展示。支持 api 16以上的rom。 |
| big_pic_path | string | 可選 | 大圖片通知欄樣式 | 當 style = 3 時可用,可以是網絡圖片 url,或本地圖片的 path,目前支持.jpg和.png后綴的圖片。圖片內容會被通知欄以大圖片的形式展示出來。如果是 http/https 的url,會自動下載;如果要指定開發者準備的本地圖片就填sdcard 的相對路徑。支持 api 16以上的rom。 |
| extras | JSON Object | 可選 | 擴展字段 | 這里自定義 JSON 格式的 Key/Value 信息,以供業務使用。 |
iOS
iOS 平臺上 APNs 通知結構。
該通知內容會由 JPush 代理發往 Apple APNs 服務器,并在 iOS 設備上在系統通知的方式呈現。
該通知內容滿足 APNs 的規范,支持的字段如下:
| alert | string或JSON Object | 必填 | 通知內容 | 這里指定內容將會覆蓋上級統一指定的 alert 信息;內容為空則不展示到通知欄。支持字符串形式也支持官方定義的alert payload?結構 |
| sound | string | 可選 | 通知提示聲音 | 如果無此字段,則此消息無聲音提示;有此字段,如果找到了指定的聲音就播放該聲音,否則播放默認聲音,如果此字段為空字符串,iOS 7 為默認聲音,iOS 8及以上系統為無聲音。(消息) 說明:JPush 官方 API Library (SDK) 會默認填充聲音字段。提供另外的方法關閉聲音。 |
| badge | int | 可選 | 應用角標 | 如果不填,表示不改變角標數字;否則把角標數字改為指定的數字;為 0 表示清除。JPush 官方 API Library(SDK) 會默認填充badge值為"+1",詳情參考:badge +1 |
| content-available | boolean | 可選 | 推送喚醒 | 推送的時候攜帶"content-available":true 說明是 Background Remote Notification,如果不攜帶此字段則是普通的Remote Notification。詳情參考:Background Remote Notification |
| mutable-content | boolean | 可選 | 通知擴展 | 推送的時候攜帶”mutable-content":true 說明是支持iOS10的UNNotificationServiceExtension,如果不攜帶此字段則是普通的Remote Notification。詳情參考:UNNotificationServiceExtension |
| category | string | 可選 | ? | IOS8才支持。設置APNs payload中的"category"字段值 |
| extras | JSON Object | 可選 | 附加字段 | 這里自定義 Key/value 信息,以供業務使用。 |
iOS 通知 JPush 要轉發給 APNs 服務器。APNs 協議定義通知長度為 2048 字節。
JPush 因為需要重新組包,并且考慮一點安全冗余,要求"iOS":{ } 及大括號內的總體長度不超過:2000 個字節。JPush 使用 utf-8 編碼,所以一個漢字占用 3 個字節長度。
服務端發送消息串
{"notification" : {"ios" : {"alert" : "hello, JPush!", "sound" : "sound.caf", "badge" : 1, "extras" : {"news_id" : 134, "my_key" : "a value"}}} }客戶端收到apns
{"_j_msgid" = 813843507;aps = {alert = "hello,JPush!";badge = 1;sound = "sound.caf";};"my_key" = "a value";"news_id" = 134; }winphone
Windows Phone 平臺上的通知。
該通知由 JPush 服務器代理向微軟的 MPNs 服務器發送,并在 Windows Phone 客戶端的系統通知欄上展示。
該通知滿足 MPNs 的相關規范。當前 JPush 僅支持 toast 類型:
| alert | string | 必填 | 通知內容 | 會填充到 toast 類型 text2 字段上。這里指定了,將會覆蓋上級統一指定的 alert 信息;內容為空則不展示到通知欄。 |
| title | string | 可選 | 通知標題 | 會填充到 toast 類型 text1 字段上。 |
| _open_page | string | 可選 | 點擊打開的頁面名稱 | 點擊打開的頁面。會填充到推送信息的 param 字段上,表示由哪個 App 頁面打開該通知。可不填,則由默認的首頁打開。 |
| extras | JSON Object | 可選 | 擴展字段 | 作為參數附加到上述打開頁面的后邊。 |
message:自定義消息
應用內消息。或者稱作:自定義消息,透傳消息。
此部分內容不會展示到通知欄上,JPush SDK 收到消息內容后透傳給 App。需要 App 自行處理。
iOS 平臺上,此部分內容在推送應用內消息通道(非APNS)獲取。Windows Phone 暫時不支持應用內消息。
消息包含如下字段:
| msg_content | string | 必填 | 消息內容本身 |
| title | string | 可選 | 消息標題 |
| content_type | string | 可選 | 消息內容類型 |
| extras | JSON Object | 可選 | JSON 格式的可選參數 |
sms_message:短信補充
溫馨提示:
使用短信業務,會產生額外的運營商費用,具體請咨詢商務,聯系電話:400-612-5955 商務QQ:800024881
用于設置短信推送內容以及短信發送的延遲時間。手機接收號碼,開發者需要先把用戶的手機號碼與設備的registration id匹配。綁定方法:服務端-Device-更新設備
與原有 JSON 業務協議相匹配,消息有如下字段信息:
| content | string | 必填 | 不能超過480個字符。"你好,JPush"為8個字符。70個字符記一條短信費,如果超過70個字符則按照每條67個字符拆分,逐條計費。單個漢字、標點、英文都算一個字。 |
| delay_time | int | 必填 | 單位為秒,不能超過24小時。設置為0,表示立即發送短信。該參數僅對android平臺有效,iOS 和 Winphone平臺則會立即發送短信 |
options:可選參數
推送可選項。
當前包含如下幾個可選項:
| sendno | int | 可選 | 推送序號 | 純粹用來作為 API 調用標識,API 返回時被原樣返回,以方便 API 調用方匹配請求與返回。 |
| time_to_live | int | 可選 | 離線消息保留時長(秒) | 推送當前用戶不在線時,為該用戶保留多長時間的離線消息,以便其上線時再次推送。默認 86400 (1 天),最長 10 天。設置為 0 表示不保留離線消息,只有推送當前在線的用戶可以收到。 |
| override_msg_id | long | 可選 | 要覆蓋的消息ID | 如果當前的推送要覆蓋之前的一條推送,這里填寫前一條推送的 msg_id 就會產生覆蓋效果,即:1)該 msg_id 離線收到的消息是覆蓋后的內容;2)即使該 msg_id Android 端用戶已經收到,如果通知欄還未清除,則新的消息內容會覆蓋之前這條通知;覆蓋功能起作用的時限是:1 天。如果在覆蓋指定時限內該 msg_id 不存在,則返回 1003 錯誤,提示不是一次有效的消息覆蓋操作,當前的消息不會被推送。 |
| apns_production | boolean | 可選 | APNs是否生產環境 | True 表示推送生產環境,False 表示要推送開發環境;如果不指定則為推送生產環境。JPush 官方 API LIbrary (SDK) 默認設置為推送 “開發環境”。 |
| apns_collapse_id | string | 可選 | 更新 iOS 通知的標識符 | APNs 新通知如果匹配到當前通知中心有相同 apns-collapse-id 字段的通知,則會用新通知內容來更新它,并使其置于通知中心首位。collapse id 長度不可超過 64 bytes。 |
| big_push_duration | int | 可選 | 定速推送時長(分鐘) | 又名緩慢推送,把原本盡可能快的推送速度,降低下來,給定的n分鐘內,均勻地向這次推送的目標用戶推送。最大值為1400.未設置則不是定速推送。 |
cid: 推送唯一標識符
調用地址
GET https://api.jpush.cn/v3/push/cid[?count=n[&type=xx]]
功能說明
cid 是用于防止 api 調用端重試造成服務端的重復推送而定義的一個推送參數。
用戶使用一個 cid 推送后,再次使用相同的 cid 進行推送,則會直接返回第一次成功推送的結果,不會再次進行推送。
CID的有效期為1天。CID的格式為:{appkey}-{uuid}
在使用cid之前,必須通過接口獲取你的 cid 池。獲取時type=push或者不傳遞type值。
調用示例
Request Header
curl --insecure -X GET -v https://api.jpush.cn/v3/push/cid?count=3 -H "Content-Type: application/json" -u "2743204aad6fe2572aa2d8de:e674a3d0fd42a53b9a58121c" GET /v3/push/cid?count=3 Authorization: Basic (base64 auth string) Content-Type: text/plain Accept: application/jsonRequest Params
count可選參數。數值類型,不傳則默認為1。范圍為[1, 1000] type可選參數。CID類型。取值:push(默認), scheduleResponse Header
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8Response Data {"cidlist":["8103a4c628a0b98994ec1949-128eeb45-471c-49f3-b442-a05c20c9ed56","8103a4c628a0b98994ec1949-6e44d7f1-89f5-48a8-bec4-e359c15b13e5","8103a4c628a0b98994ec1949-47e0a960-ce67-4e71-94ce-b4b9e8813af0"] }Response Params
cidlistcid列表Group Push API: 應用分組推送
調用地址
POST https://api.jpush.cn/v3/grouppush
功能說明
該 API 用于為開發者在 portal 端創建的應用分組創建推送。 groupkey 可以在創建的分組信息中獲取,使用起來同 appkey 類似,但在使用的時候前面要加上 “group-” 前綴。
注:暫不支持 option 中 override_msg_id 的屬性。
調用示例
curl --insecure -X POST -v https://api.jpush.cn/v3/grouppush -H "Content-Type: application/json" -u "group-e4c938578ee598be517a2243:71d1dc4dae126674ed386b7b" -d '{"platform":["android"],"audience":"all","notification":{"android":{"alert":"notification content","title":"notification title"}},"message":{"msg_content":"message content"}}'推送校驗 API
調用地址
POST https://api.jpush.cn/v3/push/validate
功能說明
該 API 只用于驗證推送調用是否能夠成功,與推送 API 的區別在于:不向用戶發送任何消息。 其他字段說明:同推送 API。
調用返回
| 1000 | 系統內部錯誤 | 服務器端內部邏輯錯誤,請稍后重試。 | 500 |
| 1001 | 只支持 HTTP Post 方法 | 不支持 Get 方法。 | 405 |
| 1002 | 缺少了必須的參數 | 必須改正 | 400 |
| 1003 | 參數值不合法 | 必須改正。參數不合法的情況如:Audience參數中tag,alias,registration_id有空值;單發指定的 registration_id 非法或者格式錯誤。 | 400 |
| 1004 | 驗證失敗 | 必須改正。詳情請看:調用驗證 | 401 |
| 1005 | 消息體太大 | 必須改正。 Android平臺Notification+Message長度限制為4000字節; iOS Notification 中 “iOS”:{ } 及大括號內的總體長度不超過:2000個字節(包括自定義參數和符號),iOS 的 Message部分長度不超過 4000 字節; WinPhone平臺Notification長度限制為1000字節 | 400 |
| 1008 | app_key參數非法 | 必須改正 | 400 |
| 1009 | 推送對象中有不支持的key | 必須改正 | 400 |
| 1011 | 沒有滿足條件的推送目標 | 請檢查audience | 400 |
| 1020 | 只支持 HTTPS 請求 | 必須改正 | 404 |
| 1030 | 內部服務超時 | 稍后重試 | 503 |
| 2002 | API調用頻率超出該應用的限制 | 聯系極光商務或技術支持開通更高的 API 調用頻率 | 429 |
| 2003 | 該應用appkey已被限制調用 API | 聯系技術支持查明限制原因和尋求幫助 | 403 |
| 2004 | 無權限執行當前操作 | 必須改正。當前調用 API 的源 ip 地址不在該應用的 ip 白名單中。 | 403 |
| 2005 | 信息發送量超出合理范圍。 | 檢測到目標用戶累計發送消息量過大,超過合理的使用范圍,需要檢查業務邏輯或者聯系技術支持。 | 403 |
參考
- HTTP 返回碼:HTTP-Status-Code
- 獲取推送送達API:Report-API
- 老版本 Push API:Push API v2
- HTTP 規范參考:HTTP基本認證
- Apple APNs 規范:Apple Push Notification Service
- Microsoft MPNs 規范:Push notifications for Windows Phone 8
總結
- 上一篇: GAN的理论基础之KL散度与JS散度
- 下一篇: 数字逻辑实验五 七人表决器