导出 (0) 打印
全部展开

mpns 对象

更新时间: 2013年6月

在 Windows Azure 移动服务服务器脚本中公开 Microsoft 推送通知服务 (MPNS) 的功能。

此对象包含以下成员:

sendFlipTile

向通道发送翻转磁贴通知。

note注释
sendFlipTile 方法仅支持将通知发送到 Windows Phone 7.8 和更高版本。

语法

sendFlipTile(channel, payload, options)

参数

 

Parameter 说明

channel

必要的通道 URI 值或 URI 值数组,其指示接收通知的通道。

payload

包含通知信息的必需的 JSON 对象,其中包含以下字段:

  • backgroundImage - 磁贴的背景图像的 URI。

  • count - 在磁贴上出现的数字。

  • title - 磁贴的标题文本。

  • backBackgroundImage – 在磁贴背面显示的图像的 URI。

  • backTitle – 磁贴背面的标题。

  • backContent – 磁贴背面的文本。

  • id – 相关的辅助磁贴的 ID。

  • smallBackgroundImage – 在磁贴缩小为其小尺寸时磁贴的背景图像的 URI。

  • wideBackgroundImage – 在磁贴放大为其大尺寸时磁贴的背景图像的 URI。

  • wideBackContent - 在磁贴扩展到其大尺寸时背面磁贴的内容。

  • wideBackBackgroundImage – 在磁贴扩展到其大尺寸时要处于该磁贴背面上的图像的 URI。

有关翻转磁贴模板的详细信息,请参阅 Flip Tile template for Windows Phone 8

options

用于捕获通知结果的回调:

{
    success: success,
    error: error
}

其中,success 是在发送通知后调用的函数,error 是在出现错误时调用的函数。

在推送操作成功后,success 函数将传递给一个 JSON 对象并且使用以下信息填充该对象:

{
    statusCode: http_status_code, 
    deviceConnectionStatus: 'connection_status', 
    notificationStatus: 'notification_status', 
    subscriptionStatus: 'subscription_status', 
    title: 'title_field', 
    pushType: 'flipTile', 
    tileTemplate: 'tile_template' 
}

该对象还包含针对向 MPNS 提供的所有推送通知选项的字段。

返回

未定义。

sendTile

向通道发送磁贴通知。

语法

sendTile(channel, payload, options)

参数

 

Parameter 说明

channel

必要的通道 URI 值或 URI 值数组,其指示接收通知的通道。

payload

包含通知信息的必需的 JSON 对象,其中包含以下字段:

  • backgroundImage - 磁贴的背景图像的 URI。

  • count - 在磁贴上出现的数字。

  • title - 磁贴的标题文本。

  • backBackgroundImage – 在磁贴背面显示的图像的 URI。

  • backTitle – 磁贴背面的标题。

  • backContent – 磁贴背面的文本。

  • id – 相关的辅助磁贴的 ID。

    仅支持将通知发送到 Windows Phone 7.5 和更高版本。

有关此磁贴模板的详细信息,请参阅 Windows Phone OS 7.1 Tile template

options

用于捕获通知结果的回调:

{
    success: success,
    error: error
}

其中,success 是在发送通知后调用的函数,error 是在出现错误时调用的函数。

在推送操作成功后,success 函数将传递给一个 JSON 对象并且使用以下信息填充该对象:

{
    statusCode: http_status_code, 
    deviceConnectionStatus: 'connection_status', 
    notificationStatus: 'notification_status', 
    subscriptionStatus: 'subscription_status', 
    title: 'title_field', 
    pushType: 'tile', 
    tileTemplate: 'tile_template' 
}

该对象还包含针对向 MPNS 提供的所有推送通知选项的字段。

返回

未定义。

sendToast

向通道发送 toast 通知。

语法

sendToast(channel, payload, options)

参数

 

Parameter 说明

channel

必要的通道 URI 值或 URI 值数组,其指示接收通知的通道。

payload

包含通知信息的必需对象,如下所示:

{
    text1: 'Bold text:',
    text2: 'normal text',
    param: 'NewPage.xaml?item=5'
}

其中,text1text2 是 toast 文本字符串,param 是一个可选的 URI 参数,指定要在您的应用程序中打开 XAML 页以及任何查询字符串参数。

param 字段仅支持将通知发送到 Windows Phone 7.5 和更高版本。

有关发送 toast 通知的详细信息,请参阅 Toasts for Windows Phone62d355e3-2cb6-4b16-97b9-76dec5e8b797

options

用于捕获通知结果的可选对象:

{
    success: success,
    error: error
}

其中,success 是在发送通知后调用的函数,error 是在出现错误时调用的函数。

在推送操作成功后,success 函数将传递给一个 JSON 对象并且使用以下信息填充该对象:

{ 
    statusCode: http_status_code, 
    deviceConnectionStatus: 'connection_status', 
    notificationStatus: 'notification_status', 
    subscriptionStatus: 'subscription_status', 
    text1: 'toast_text1', 
    text2: 'toast_text1', 
    pushType: 'toast' 
}

返回

未定义。

sendRaw

将原始推送通知字符串发送到通道。

语法

sendRaw(channel, payload, options)

参数

 

Parameter 说明

channel

必要的通道 URI 值或 URI 值数组,其指示接收通知的通道。

payload

不做修改地传送到客户端的应用程序特有字符串。

{
    payload: 'raw notification string'
}

其中,payload 是通知字符串。

note注释
代替向 payload 参数提供某一对象,您可以只提供原始通知字符串来代替 payload

options

用于捕获通知结果的可选对象:

{
    success: success,
    error: error
}

其中,success 是在发送通知后调用的函数,error 是在出现错误时调用的函数。

在推送操作成功后,success 函数将传递给一个 JSON 对象并且使用以下信息填充该对象:

{ 
    statusCode: http_status_code, 
    deviceConnectionStatus: 'connection_status', 
    notificationStatus: 'notification_status', 
    subscriptionStatus: 'subscription_status', 
    payload: 'payload_string', 
    pushType: 'raw' 
}

返回

未定义。

移动服务 不要求您向 MPNS 注册您的应用程序以便启用经过了身份验证的使用。因此,您不能通过使用 MPNS 每天为每个用户发送超过 500 条消息。

下面的脚本使用 mpns 对象将翻转磁贴通知发送给 Windows Phone 8 应用程序。

function insert(item, user, request) {
    request.execute({
        success: function() {
            request.respond();
            sendNotifications();
        }
    });


function sendNotifications() {
    var channelTable = tables.getTable('Channel');
    channelTable.read({
        success: function(channels) {
            channels.forEach(function(channel) {
                push.mpns.sendFlipTile(channel.uri, {
                    title: item.text
                }, {
                    success: function(pushResponse) {
                        console.log("Sent push:", pushResponse);
                    }
                });
            });
        }
    });
}


}

显示:
© 2014 Microsoft