HTML5+規範:Push(管理推送訊息功能)__HTML

來源:互聯網
上載者:User

   Push模組管理推送訊息功能,可以實現線上、離線的訊息推送,通過plus.push可擷取推送訊息管理對象。 1、方法 1.1、addEventListener: 添加推送訊息事件監聽器

     void plus.push.addEventListener( event, listener, Boolean );

說明:添加推送訊息事件監聽器,當指定推送事件發出時觸發。

參數:

type: ( String ) 必選 事件類型,支援事件類型:"click"-從系統訊息中心點擊訊息啟動應用事件;"receive"-應用從推送伺服器接收到推送訊息事件。

listener: ( PushReceiveCallback ) 必選 事件監聽器回呼函數,在接收到推送訊息時調用

capture: ( Boolean ) 可選 是否捕獲事件,此處可忽略

傳回值:void : 無

平台支援:Android - 2.2+ (支援),iOS - 4.3+ (支援): 在用戶端在運行時收到推送訊息觸發receive事件,離線接收到的推送訊息全部進入系統訊息中心。

樣本:

<!DOCTYPE html><html><head><meta charset="utf-8"/><meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/><title>Push Example</title><script type="text/javascript">// 監聽plusready事件  document.addEventListener( "plusready", function(){// 擴充API載入完畢,現在可以正常調用擴充API// 添加監聽從系統訊息中心點擊某條訊息啟動應用事件plus.push.addEventListener( "click", function ( msg ) {// 分析msg.payload處理商務邏輯alert( "You clicked: " + msg.content );}, false );}, false );</script></head><body></body></html>


1.2、clear: 清空所有推送訊息

      void plus.push.clear();

說明:清空系統訊息中心所有的推送訊息。

傳回值:void : 無 1.3、createMessage: 建立本地訊息

         void plus.push.createMessage( content, payload, option );

說明:在本地直接建立推送訊息,並添加到系統訊息中心。

參數:

content: ( String ) 必選 訊息顯示的內容,在系統通知中樞中顯示的常值內容。

payload: ( String ) 可選 訊息承載的資料,可根據商務邏輯自訂資料格式。

option: ( MessageOptions ) 可選 建立訊息的額外參數,參考MessageOptions。

傳回值:void : 無 1.4、getAllMessage: 擷取所有推送訊息

      PushMessage[] plus.push.getAllMessage();

說明:擷取用戶端接收到的所有推送訊息。 僅包括在系統訊息中心顯示的推送訊息,不包括調用setAutoNotification(false)方法設定不顯示推送訊息後接收到的訊息。

傳回值:PushMessage : Array[PushMessage]對象,推送訊息PushMessage數組。

平台支援:Android - 2.2+ (支援),iOS - 4.3+ (不支援): 無法擷取系統訊息中心的訊息列表,調用此方法返回空數組。 1.5、getClientInfo: 擷取用戶端推送標識資訊

          ClientInfo plus.push.getClientInfo();

說明:用戶端標識資訊用於商務服務器下發推送訊息時提交給推送伺服器的資料,用於說明下發推送訊息的接收者(用戶端)。需要用戶端在第一次運行時提交到商務服務器儲存。

傳回值:ClientInfo : 用戶端推送標識資訊對象

樣本:

<!DOCTYPE html><html><head><meta charset="utf-8"/><meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/><title>Push Example</title><script type="text/javascript">// 監聽plusready事件  document.addEventListener( "plusready", function(){// 擴充API載入完畢,現在可以正常調用擴充API// 擷取用戶端標識資訊var info = plus.push.getClientInfo();alert( JSON.stringify( info ) );// 添加監聽從系統訊息中心點擊訊息啟動事件plus.push.addEventListener( "click", function ( msg ) {// 分析msg.payload處理商務邏輯alert( "You clicked: " + msg.content );}, false );</script></head><body></body></html>


1.6、setAutoNotification: 設定程式是否將訊息顯示在系統訊息中心

         void plus.push.setAutoNotification( notify );

說明:預設情況下程式在接收到推送訊息後將會在系統訊息中心顯示,通過此方法可關閉預設行為,接收到推送訊息後不在系統訊息中心顯示,通過addEventListener方法的“receive”事件監聽處理接收到的訊息。 在這種模式下可通過createMessage方法建立在系統訊息中心顯示的訊息。

參數:

notify: ( Boolean ) 必選 是否自動提示推送訊息。可取值true或false,true表示自動顯示推送訊息,false則不顯示。預設值為true。

傳回值:void : 無

平台支援:Android - 2.2+ (支援): 如果程式沒有運行時接收到推送訊息,則在程式啟動後調用addEventListener方法監聽“receive”事件時返回接收到的訊息。 注意:個推平台僅透傳訊息才支援此功能,其它訊息依然會顯示到系統訊息中心。

iOS - 4.3+ (不支援): 無法修改是否顯示離線推送訊息,當程式在前台運行時接收到訊息時一定不會添加到系統訊息中心,當程式在不再前台運行時一定會添加到系統訊息中。

樣本:

<!DOCTYPE html><html><head><meta charset="utf-8"/><meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/><title>Push Example</title><script type="text/javascript">// 監聽plusready事件  document.addEventListener( "plusready", function(){// 擴充API載入完畢,現在可以正常調用擴充API// 在程式運行時接收到的訊息不顯示在系統訊息中心plus.push.setAutoNotification( false );}, false );</script></head><body></body></html>


1.7、remove: 刪除推送訊息

                void plus.push.remove( message )

說明:刪除系統訊息中心指定的推送訊息,可通過getAllMessage方法擷取所有的訊息後進行操作。

參數:message: ( PushMessage ) 必選 要刪除的訊息對象,可通過getAllMessage()方法來擷取訊息。

傳回值:void : 無

平台支援:Android - 2.2+ (支援),iOS - 4.3+ (不支援): 無法對單條訊息進行刪除操作,可調用clear()方法清空所有訊息。 2、對象 2.1、ClientInfo: JSON對象,擷取的用戶端標識資訊

屬性:

 (1)、token: (String 類型 )裝置令牌(iOS裝置唯一標識),用於APNS服務推送中標識裝置的身份。平台支援Android - 2.2+ (支援): 裝置的唯一標識號,通常與clientid值一致。iOS - 4.5+ (支援): 裝置的DeviceToken值,向APNS伺服器發送推送訊息時使用。

 (2)、clientid: (String 類型 )推送服務令牌(裝置唯一標識),用於標識推送資訊接收者身份。第三方推送伺服器管理的裝置唯一標識,在iOS平台此值通常與token不同;在其它平台此值通常與token值一致。

 (3)、appid: (String 類型 )第三方推送服務的應用標識。第三方推送伺服器管理的應用標識,通常需要在第三方推送伺服器平台進行註冊擷取。

 (4)、appkey: (String 類型 )第三方推送伺服器的應用索引值。第三方推送伺服器管理的應用索引值,通常需要在第三方推送伺服器平台進行註冊擷取。 2.1、PushMessage: JSON對象,推送訊息對象

屬性:

 (1)、title: (String 類型 )推送訊息顯示的標題。平台支援Android - 2.2+ (支援)iOS - ALL (支援): 。

 (2)、content: (String 類型 )推送訊息顯示的內容。

 (3)、payload: (JSON 類型 )推送訊息承載的資料。如果推送訊息中傳輸的資料不符合JSON格式,則作為String類型資料儲存。

 (4)、aps: (JSON 類型 )Apple APNS推送協議資料。平台支援Android - 2.2+ (不支援): 不支援此資料,傳回值為undefined。iOS - 5.0+ (支援): 僅封裝標準APNS協議中的資料,其它資料封裝在payload中。如果是通過本地API建立的訊息此屬性值則為undefined。 2.1、MessageOptions: JSON對象,獲用戶端建立本地訊息的參數

屬性:

 (1)、title: (String 類型 )推送訊息的標題。在系統訊息中心顯示的通知訊息標題,預設值為程式的名稱。平台支援Android - ALL (支援),iOS - 5.0+ (不支援): 不支援設定訊息的標題,固定為程式的名稱。

 (2)、sound: (String 類型 )推送訊息的提示音,顯示訊息時的播放的提示音,可取值: “system”-表示使用系統通知提示音; “none”-表示不使用提示音; 預設值為“system”。平台支援Android - 2.3+ (支援),iOS - 5.1+ (支援): 當程式在前台運行時,提示音不生效。 註:通常應該設定延遲時間,當程式切換到後台才建立本地推送訊息時生效。

 (3)、cover: (Boolean 類型 )是否覆蓋上一次提示的訊息。可取值true或false,true為覆蓋,false不覆蓋,預設為permission中設定的cover值。平台支援

Android - ALL (支援)。iOS - 5.0+ (不支援): 不支援覆蓋訊息,只能建立新的訊息。

 (4)、when: (Date 類型 )訊息上顯示的提示時間。預設為目前時間,如果延遲顯示則使用延時後顯示訊息的時間。平台支援Android - ALL (支援),iOS - 5.0+ (不支援): 不支援設定訊息的顯示時間,由系統自動管理訊息的建立時間。

 (5)、delay: (Number 類型 )提示訊息延遲顯示的時間。當裝置接收到推送訊息後,可不立即顯示,而是延遲一段時間顯示,延遲時間單位為s,預設為0s,立即顯示。平台支援:Android - 2.2+ (支援),iOS - 4.3+ (支援): 不支援title、cover、when屬性,忽略其屬性值。 3、回調方法 3.1、PushReceiveCallback: 用戶端接收到推動訊息的回呼函數

void onReceive( msg ) {

// Recieved push message code.

}

參數:msg: ( String ) 必選 接收到的推送資訊msg

傳回值:void : 無 3.2、PushClickCallback: 使用者點擊推送訊息事件的回呼函數

void onClick( msg ) {

// Clicked push message code.

}

參數:msg: ( String ) 必選 使用者點擊的推送資訊msg

傳回值:void : 無

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.