匯出 (0) 列印
全部展開
本主題尚未接受評分 - 為這個主題評分

apns 物件

更新日期: 2013年2月

在 Windows Azure Mobile Services 伺服器指令碼中公開 Apple 推送通知服務 (APNS) 的功能。

apns 物件具有下列方法:

send

傳送通知給特定裝置。

語法

apns.send(deviceToken, payload, options)

參數

 

參數 說明

deviceToken

必要 Token 值,指出哪個裝置接收通知。

payload

必要的物件,其中包含通知資訊,採用的格式如下:

{
     badge: badge_number,
     alert: 'alert_text',
     sound: 'sound_file',
     payload: payload_object,
     expiry: expire_date
}

其中 badge_number 是要在應用程式圖示上方顯示的數字,alert_text 是快顯警示訊息,sound_file 是收到通知時要播放的聲音,payload_object 是包含通知文字的 JSON 物件,而 expire_date 是自此不再傳遞通知的日期。

options

指定錯誤處理常式函數的選擇性物件,採用的格式如下:

{
    error : function(err) {
        // handle the error here.
    }
}

提供給回呼的錯誤輸出具有下列格式:

{
    statusCode : error_status,
    deviceToken : 'device_token',
    statusDescription : 'error_description' 
}

其中 error_status 是該錯誤的狀態碼,device_token 會指出哪個裝置產生錯誤,而 error_description 是該錯誤的文字描述。

傳回值

未定義。

getFeedback

用來向 APNS 要求有關裝置特定推送通知失敗的資訊。

語法

apns.getFeedback(completion)

參數

 

參數 說明

completion

具有 successerror 處理常式的 completion 物件,如下所示:

{
    success: function(devices) {
        // Code that executes when the method succeeds.
    },
    error: function(err) {
        // Code that executes when the method fails.
    }
}

未提供錯誤處理常式時,錯誤會寫入記錄檔。

devices 輸出物件採用下列格式:

[ 
    { 
        deviceToken : 'device_token1', 
        timeStamp : 'time_stamp_datetime1'
    },
{ 
        deviceToken : 'device_token2', 
        timeStamp : 'time_stamp_datetime2'
    },
    { n }
]

傳回值

未定義。

apns 物件是從伺服器指令碼中的 push 物件取得。如需完整範例,請參閱<開始使用推送通知>。

當指定 payload 物件的 alert 欄位時,指派的文字值會顯示為快顯通知。即使應用程式未執行,此通知仍會顯示。當應用程式正在執行時,則只會顯示 payload 物件的 payload 欄位中的資料。

APNS 會追蹤因為應用程式不再安裝於裝置上而失敗的通知。行動服務可讓您從 APNS 回饋服務中存取這項資訊,並移除裝置 Token,好讓您可以避免傳送通知給已解除安裝之應用程式的額外成本。為了這樣做,行動服務會定期呼叫 processFeedback 函數。在此函數中,您可以在 apns 物件上呼叫 getFeedback 方法。這個方法會傳回代表失敗的物件陣列,其中每個物件都有 deviceTokentimeStamp 欄位。裝置陣列會在 success: 處理常式中傳回。未提供錯誤處理常式時,錯誤會寫入行動服務的記錄檔。

下列範例會呼叫 send 方法,在新的項目插入資料表時,傳送文字通知給特定的裝置。

function insert(item, user, request) {
    request.execute({
        success: function() {
            // Write to the response and then send the push notification.
            request.respond();
            push.apns.send(item.deviceToken, {
                payload: { itemText: item.text, userId: user.userId } 
            });
        }
    });
}

下列 processFeedback 指令碼是由行動服務呼叫,並且可用來執行 getFeedback 方法。

function processFeedback() {

    push.apns.getFeedback({
        success: function(results) {
            // results will be an array of objects, each with 'deviceToken' and 'time' properties
            if (results.length > 0) {
                  // TODO - update your storage to mark or delete devices appropriately
                  console.warn("APNS feedback received for the following device tokens.",  results);
            }
        }
    });
}

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。