一、概述
依託融雲在即時通訊領域深厚的技術積累及多年穩定可靠的消息推送服務能力,融雲決定推出廣播推送產品。融雲廣播推送服務產品重視對推送效果的數據真實性和公開透明,從可推送總人數到實際推送人數、Android / iOS 各自達到率和打開率,全面真實的數據反應,幫助您及時調整運營方案。
二、客戶端使用說明
1、SDK 支持
要求使用 2.3.8 及以上版本的融雲 SDK,老版本用戶需要先升級 SDK 版本後才能從使用。
2、iOS 集成指南
1)開發者在執行融雲 SDK 初始化方法 init
後,可以調用 recordLaunchOptionsEvent
接口統計推送點擊率,通過 getPushExtraFromLaunchOptions
接口獲取推送的自定義附加信息。代碼示例如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //開發者自己的業務代碼 //初始化融雲SDK [[RCIM sharedRCIM] initWithAppKey:RONGCLOUD_IM_APPKEY]; //開發者自己的業務代碼 /** * 統計推送打開率 */ [[RCIMClient sharedRCIMClient] recordLaunchOptionsEvent:launchOptions]; /** * 獲取融雲推送服務擴展字段 * nil 表示該啓動事件不包含來自融雲的推送服務 */ NSDictionary *pushServiceData = [[RCIMClient sharedRCIMClient] getPushExtraFromLaunchOptions:launchOptions]; if (pushServiceData) { NSLog(@"該啓動事件包含來自融雲的推送服務"); for (id key in [pushServiceData allKeys]) { NSLog(@"%@", pushServiceData[key]); } } else { NSLog(@"該啓動事件不包含來自融雲的推送服務"); } }
2)收到遠程推送後,可以調用 recordRemoteNotificationEvent
接口統計推送點擊率,通過 getPushExtraFromRemoteNotification
接口獲取推送的擴展字段。代碼示例如下:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { /** * 統計推送打開率 */ [[RCIMClient sharedRCIMClient] recordRemoteNotificationEvent:userInfo]; /** * 獲取融雲推送服務擴展字段 * nil 表示該啓動事件不包含來自融雲的推送服務 */ NSDictionary *pushServiceData = [[RCIMClient sharedRCIMClient] getPushExtraFromRemoteNotification:userInfo]; if (pushServiceData) { NSLog(@"該遠程推送包含來自融雲的推送服務"); for (id key in [pushServiceData allKeys]) { NSLog(@"key = %@, value = %@", key, pushServiceData[key]); } } else { NSLog(@"該遠程推送不包含來自融雲的推送服務"); } }
3、Android 集成指南
1)在 AndroidManifest.xml
文件裏面,加上對應 push 統計消息的 url 過濾。以 TestPushActivity
爲例如下:
<activity android:name=“.activity.TestPushActivity" android:launchMode="singleTask" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:host="此處爲你的包名" android:pathPrefix="/push_message" android:scheme="rong" /> </intent-filter> </activity>
2)在 TestPushActivity
裏可以通過 intent.getData()
方法獲取 url 裏各數據內容,並根據業務需要進行處理,示例代碼如下:
/** * 當前 Activity 只是演示了一個操作過程,未加載任何 view, */public class TestPushActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); getPushMessage(intent); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); getPushMessage(intent); } /** * Android push 消息 */ private void getPushMessage(Intent intent) { if (intent != null && intent.getData() != null && intent.getData().getScheme().equals("rong")) { //該條推送消息的內容。 String content = intent.getData().getQueryParameter("pushContent"); //標識該推送消息的唯一 Id。 String id = intent.getData().getQueryParameter("pushId"); //用戶自定義參數 json 格式,解析後用戶可根據自己定義的 Key 、Value 值進行業務處理。 String extra = intent.getData().getQueryParameter("extra"); //統計通知欄點擊事件. RongIMClient.recordNotificationEvent(id); Log.d("TestPushActivity", "--content:" + content + "--id:" + id + "---extra:" + extra); } } }
url 攜帶字段說明:
字段名 | 描述 |
---|---|
pushContent | 該條推送消息的內容。 |
pushId | 標識該推送消息的唯一 Id。 |
extra | 用戶自定義參數 json 格式,解析後用戶可根據自己定義的 Key 、Value 值進行業務處理。 |
三、Server API 廣播推送
廣播推送可精準及時的向符合條件的應用中用戶推送消息,幫助開發者提升用戶忠誠度及留存率。廣播推送服務包括兩個功能:一個是發送廣播消息,一個是推送(Push):
廣播(Broadcast) 是一種業務概念,是通過後臺管理界面或者調用服務端接口,向 App 中的所有用戶發送一條消息。
推送(Push) 是一種技術概念,是指從服務端實時發送信息到客戶端。
大家概念中的典型推送服務是類似
APNS(Apple Push Notification Service)
、GCM(Google Cloud Messaging)
等服務。在國內,由於谷歌服務不能使用,因此您的應用必須使用第三方或者自己研發的服務來推送。因爲融雲是使用長連接技術來實現 IM 服務的,和典型的 Push 服務具有相同的長連接機制,所以,很多開發者也會直接使用融雲來實現推送功能。
在某些場合,iOS 平臺的
推送
(通過 APNS 的 Push)和遠程通知
(Remote Notification)表示相同的意思,可以互相替換使用。
1、添加標籤方法
爲應用中的用戶添加標籤,如果某用戶已經添加了標籤,再次對用戶添加標籤時將覆蓋之前設置的標籤內容。
方法名:/user/tag/set
簽名方法:請參考 通用 API 接口簽名規則
URL:https://api.cn.ronghub.com/user/tag/set.[format]
[format] 表示返回格式,可以爲 json
或 xml
,注意不要帶 [ ]。
HTTP 方法:POST
請注意:發送請求時 HTTP Request Header 中的 Content-Type
類型必須爲 application/json
示例
HTTP 請求:
POST /user/tag/set.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"userId":"31232","tags":["bj","男"]}
表單參數
名稱 | 類型 | 說明 |
---|---|---|
userId | String | 用戶 Id。(必傳) |
tags | String[] | 用戶標籤,一個用戶最多添加 20 個標籤,每個 tags 最大不能超過 40 個字節,標籤中不能包含特殊字符。(必傳) |
返回值
名稱 | 類型 | 說明 |
---|---|---|
code | int | 返回碼,200 爲正常。 |
JSON 格式:
{"code":200}
XML 格式:
<xml><code>200</code></xml>
返回值請參考 API 方法返回值說明
2、批量添加標籤方法
爲應用中的用戶批量添加標籤,如果某用戶已經添加了標籤,再次對用戶添加標籤時將覆蓋之前設置的標籤內容。
方法名:/user/tag/batch/set
簽名方法:請參考 通用 API 接口簽名規則
URL:https://api.cn.ronghub.com/user/tag/batch/set.[format]
[format] 表示返回格式,可以爲 json
或 xml
,注意不要帶 [ ]。
HTTP 方法:POST
請注意:發送請求時 HTTP Request Header 中的 Content-Type
類型必須爲 application/json
示例
HTTP 請求:
POST /user/tag/batch/set.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"userIds":["id1","id2"],"tags":["bj","男"]}
表單參數
名稱 | 類型 | 說明 |
---|---|---|
userIds | String[] | 用戶 Id,一次最多支持 1000 個用戶。(必傳) |
tags | String[] | 用戶標籤,一個用戶最多添加 20 個標籤,每個 tags 最大不能超過 40 個字節,標籤中不能包含特殊字符。(必傳) |
返回值
名稱 | 類型 | 說明 |
---|---|---|
code | int | 返回碼,200 爲正常。 |
JSON 格式:
{"code":200}
XML 格式:
<xml><code>200</code></xml>
返回值請參考 API 方法返回值說明
3、廣播消息方法
此方法與 /message/broadcast 廣播消息方法發送機制一樣,可選擇更多發送條件。
該功能開發環境下可免費使用。生產環境下,您需要在開發者後臺“應用/IM 服務/高級功能設置”中開通公有云專業版後,在“廣播消息和推送”中,開啓後才能使用。收費詳情
方法名:/push
調用頻率:推送和廣播消息合計每小時只能發送 2 次,每天最多發送 3 次。
簽名方法:請參考 通用 API 接口簽名規則
URL:https://api.cn.ronghub.com/push.[format]
[format] 表示返回格式,可以爲 json
或 xml
,注意不要帶 [ ]。
HTTP 方法:POST
請注意:發送請求時 HTTP Request Header 中的 Content-Type
類型必須爲 application/json
,SDK 中會話類型爲 SYSTEM
示例
HTTP 請求:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"fromuserid": "fromuseId1","audience":{"tag":["女","年輕"],"tag_or":["北京","上海"],"userid":["123","456"],"is_to_all":false},"message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}","objectName": "RC:TxtMsg"},"notification":{"alert":"this is a push","ios": {"alert": "override alert","extras": {"id": "1","name": "2"}},"android": {"alert": "override alert","extras": {"id": "1","name": "2"}}}}
向指定標籤推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"fromuserid": "fromuseId1","audience":{"tag":["女","年輕","北京"]},"message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}","objectName": "RC:TxtMsg"},"notification":{"alert":"this is a push"}}
向指定用戶推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"fromuserid": "fromuseId1","audience":{"userid":["123","456"]},"message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}","objectName": "RC:TxtMsg"},"notification":{"alert":"this is a push"}}
嚮應用內所有用戶推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"fromuserid": "fromuseId1","audience":{"is_to_all":true},"message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}","objectName": "RC:TxtMsg"},"notification":{"alert":"this is a push"}}
iOS、Android 平臺顯示不同推送內容 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"fromuserid": "fromuseId1","audience":{"is_to_all":true},"message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}","objectName": "RC:TxtMsg"},"notification":{"alert":"this is a push","ios": {"alert": "iOS 通知顯示內容","extras": {"id": "1","name": "2"}},"android": {"alert": "Android 通知顯示內容","extras": {"id": "1","name": "2"}}}}
iOS 平臺靜默推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"fromuserid": "fromuseId1","audience":{"is_to_all":true},"message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}","objectName": "RC:TxtMsg"},"notification":{"alert":"this is a push","ios": {"alert": "iOS 通知顯示內容","contentAvailable":1},"android": {"alert": "Android 通知顯示內容"}}}
表單參數
名稱 | 類型 | 說明 |
---|---|---|
platform | String[] | 目標操作系統,iOS、Android 最少傳遞一個。如果需要給兩個系統推送消息時,則需要全部填寫。(必傳) |
fromuserid | String | 發送人用戶 Id。(必傳) |
audience | String | 推送條件,包括: tag、userid、is_to_all。(必傳) |
tag | String[] | 用戶標籤,每次發送時最多發送 20 個標籤,標籤之間爲 AND 的關係,is_to_all 爲 true 時參數無效。(非必傳) |
tag_or | String[] | 用戶標籤,每次發送時最多發送 20 個標籤,標籤之間爲 OR 的關係,is_to_all 爲 true 時參數無效,tag_or 同 tag 參數可以同時存在。(非必傳) |
userid | String[] | 用戶 Id,每次發送時最多發送 1000 個用戶,如果 tag 和 userid 兩個條件同時存在時,則以 userid 爲準,如果 userid 有值時,則 platform 參數無效,is_to_all 爲 true 時參數無效。(非必傳) |
is_to_all | String | 是否全部推送,false 表示按 tag 、tag_or 或 userid 條件推送,true 表示向所有用戶推送,tag、tag_or 和 userid 條件無效。(必傳) |
content | String | 發送消息內容,參考融雲 Server API 消息類型表.示例說明 ;如果 objectName 爲自定義消息類型,該參數可自定義格式。(必傳) |
objectName | String | 消息類型,參考融雲 Server API 消息類型表.消息標誌 ;可自定義消息類型,長度不超過 32 個字符。(必傳) |
notification | String | 按操作系統類型推送消息內容,如 platform 中設置了給 iOS 和 Android 系統推送消息,而在 notification 中只設置了 iOS 的推送內容,則 Android 的推送內容爲最初 alert 設置的內容。(非必傳) |
alert | String | 默認推送消息內容,如填寫了 iOS 或 Android 下的 alert 時,則推送內容以對應平臺系統的 alert 爲準。(必傳) |
ios | String | 設置 iOS 平臺下的推送及附加信息。 |
android | String | 設置 Android 平臺下的推送及附加信息。 |
alert | String | iOS 或 Android 不同平臺下的推送消息內容,傳入後默認的推送消息內容失效,不能爲空。(非必傳) |
contentAvailable | Int | 針對 iOS 平臺,對 SDK 處於後臺暫停狀態時爲靜默推送,是 iOS7 之後推出的一種推送方式。 允許應用在收到通知後在後臺運行一段代碼,且能夠馬上執行,查看詳細。1 表示爲開啓,0 表示爲關閉,默認爲 0(非必傳) |
extras | String | iOS 或 Android 不同平臺下的附加信息,如果開發者自己需要,可以自己在 App 端進行解析。(非必傳) |
通知提示狀態說明:
1、App 前臺可見時 SDK 處於前臺狀態,這時發送廣播消息時,不提示通知。
2、App 處於後臺活躍狀態或暫停狀態,這時發送廣播消息時,提示的通知內容,爲您設置的
alert
內容。
設置 objectName
推送其他消息類型,詳細請參考融雲消息類型表.消息標誌
返回值
名稱 | 類型 | 說明 |
---|---|---|
code | int | 返回碼,200 爲正常。 |
id | String | 廣播消息唯一標識。 |
JSON 格式:
{"code":200,"id":"50whSR6kQiHb7YgFwQzXIb"}
XML 格式:
<xml><code>200</code><id>50whSR6kQiHb7YgFwQzXIb</id></xml>
返回值請參考 API 方法返回值說明
4、推送方法
該功能在開發環境下可免費使用。生產環境下,您需要登錄開發者後臺,在“應用/IM 服務/高級功能設置”中開通公有云專業版後,在“服務器端發送廣播消息”中,開啓後才能使用。收費詳情
方法名:/push
調用頻率:推送和廣播消息合計每小時只能發送 2 次,每天最多發送 3 次。
簽名方法:請參考 通用 API 接口簽名規則
URL:https://api.cn.ronghub.com/push.[format]
[format] 表示返回格式,可以爲 json
或 xml
,注意不要帶 [ ]。
HTTP 方法:POST
請注意:發送請求時 HTTP Request Header 中的 Content-Type
類型必須爲 application/json
,SDK 中會話類型爲 PUSH_SERVICE
示例
HTTP 請求:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"tag":["女","年輕"],"tag_or":["北京","上海"],"userid":["123","456"],"is_to_all":false},"notification":{"alert":"this is a push","ios": {"title": "標題","alert": "override alert","extras": {"id": "1","name": "2"}},"android": {"alert": "override alert","extras": {"id": "1","name": "2"}}}}
向指定標籤推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"tag":["女","年輕","北京"]},"notification":{"alert":"this is a push"}}
向指定用戶推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"userid":["123","456"]},"notification":{"alert":"this is a push"}}
向指定應用包名中用戶推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"packageName": "cn.xxxxxx.xxx"},"notification":{"alert":"this is a push"}}
嚮應用內所有用戶推送 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"is_to_all":true},"notification":{"alert":"this is a push"}}
iOS、Android 平臺顯示不同推送內容 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"is_to_all":true},"notification":{"alert":"this is a push","ios": {"alert": "iOS 平臺顯示內容","extras": {"id": "1","name": "2"}},"android": {"alert": "Android 平臺顯示內容","extras": {"id": "1","name": "2"}}}}
設置 iOS 角標數 HTTP 請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"is_to_all":true},"notification":{"alert":"this is a push","ios": {"alert": "iOS 平臺顯示內容","badge":2,"extras": {"id": "1","name": "2"}},"android": {"alert": "Android 平臺顯示內容","extras": {"id": "1","name": "2"}}}}
設置 iOS 推送標題請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"is_to_all":true},"notification":{"alert":"this is a push","ios": {"title": "iOS 平臺顯示標題","alert": "iOS 平臺顯示內容","extras": {"id": "1","name": "2"}},"android": {"alert": "Android 平臺顯示內容","extras": {"id": "1","name": "2"}}}}
設置 iOS 靜默推送請求示例:
POST /push.json HTTP/1.1Host: api.cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314Timestamp: 1408706337Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"platform":["ios","android"],"audience":{"is_to_all":true},"notification":{"alert":"this is a push","ios": {"title": "iOS 平臺顯示標題","alert": "iOS 平臺顯示內容","contentAvailable":1},"android": {"alert": "Android 平臺顯示內容"}}}
表單參數
名稱 | 類型 | 說明 |
---|---|---|
platform | String[] | 目標操作系統,iOS、Android 最少傳遞一個。如果需要給兩個系統推送消息時,則需要全部填寫。(必傳) |
audience | String | 推送條件,包括:tag 、userid 、packageName 、 is_to_all。(必傳) |
tag | String[] | 用戶標籤,每次發送時最多發送 20 個標籤,標籤之間爲 AND 的關係,is_to_all 爲 true 時參數無效。(非必傳) |
tag_or | String[] | 用戶標籤,每次發送時最多發送 20 個標籤,標籤之間爲 OR 的關係,is_to_all 爲 true 時參數無效,tag_or 同 tag 參數可以同時存在。(非必傳) |
userid | String[] | 用戶 Id,每次發送時最多發送 1000 個用戶,如果 tag 和 userid 兩個條件同時存在時,則以 userid 爲準,如果 userid 有值時,則 platform 參數無效,is_to_all 爲 true 時參數無效。(非必傳) |
packageName | String | 應用包名,is_to_all 爲 true 時,此參數無效。與 tag、tag_or 同時存在時爲 And 的關係,向同時滿足條件的用戶推送。與 userid 條件同時存在時,以 userid 爲準進行推送。(非必傳) |
is_to_all | String | 是否全部推送,false 表示按 tag 、tag_or 或 userid 條件推送,true 表示向所有用戶推送,tag、tag_or 和 userid 條件無效。(必傳) |
notification | String | 按操作系統類型推送消息內容,如 platform 中設置了給 iOS 和 Android 系統推送消息,而在 notification 中只設置了 iOS 的推送內容,則 Android 的推送內容爲最初 alert 設置的內容。(必傳) |
alert | String | notification 下 alert,默認推送消息內容,如填寫了 iOS 或 Android 下的 alert 時,則推送內容以對應平臺系統的 alert 爲準。(必傳) |
ios | String | 設置 iOS 平臺下的推送及附加信息。 |
android | String | 設置 Android 平臺下的推送及附加信息。 |
title | String | 通知欄顯示的推送標題,僅針對 iOS 平臺,支持 iOS 8.2 及以上版本,參數在 ios 節點下設置,詳細可參考“設置 iOS 推送標題請求示例”。(非必傳) |
contentAvailable | Int | 針對 iOS 平臺,靜默推送是 iOS7 之後推出的一種推送方式。 允許應用在收到通知後在後臺運行一段代碼,且能夠馬上執行,查看詳細。1 表示爲開啓,0 表示爲關閉,默認爲 0(非必傳) |
alert | String | iOS 或 Android 不同平臺下的推送消息內容,傳入後默認的推送消息內容失效,不能爲空。(非必傳) |
extras | String | iOS 或 Android 不同平臺下的附加信息,如果開發者自己需要,可以自己在 App 端進行解析。(非必傳) |
badge | int | 應用角標,僅針對 iOS 平臺;不填時,表示不改變角標數;爲 0 或負數時,表示 App 角標上的數字清零;否則傳相應數字表示把角標數改爲指定的數字,最大不超過 9999,參數在 ios 節點下設置,詳細可參考“設置 iOS 角標數 HTTP 請求示例”。(非必傳) |
返回值
名稱 | 類型 | 說明 |
---|---|---|
code | int | 返回碼,200 爲正常。 |
id | String | 推送唯一標識。 |
JSON 格式:
{"code":200,"id":"50whSR6kQiHb7YgFwQzXIb"}
XML 格式:
<xml><code>200</code><id>50whSR6kQiHb7YgFwQzXIb</id></xml>
返回值請參考 API 方法返回值說明
四、開發者站點廣播推送
爲方便運營人員使用,融雲開發者後臺提供了廣播推送功能。包括:推送
和廣播消息
。
推送:是指從服務端實時發送信息到客戶端,與廣播消息的區別是客戶端會收到遠程推送通知,不會收到聊天消息。如圖:
廣播消息:是向 App 中的用戶發送一條消息,與推送的區別是用戶在線時客戶端會收到聊天消息(如圖 1),不在線時會收到遠程推送通知,下次上線後會以離線消息方式發送(如圖 2) 。
圖 1
圖 2
更多概念解析請參見融雲消息與推送概念答疑。