Export (0) Print
Expand All

wns object

Updated: October 15, 2014

Enables you to send push notifications to a Windows Store or universal Windows app from Microsoft Azure Mobile Services server scripts using Azure Notification Hubs.

createNativeRegistration(channel, tags, optionsOrCallback, callback)
Creates a native WNS registration.

Parameters

Name Type Argument Description

channel

string

The device channel URI.

tags

string | array

A single tag or array of tags (comma-separated list, no spaces).

options

object

<optional>

The request options or callback.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

createOrUpdateNativeRegistration(registrationId, channel, tags, optionsOrCallback, callback)
Creates or updates a native WNS registration.

Parameters

Name Type Argument Description

registrationId

string

The registration identifier.

channel

string

The device channel URI.

tags

string | array

A single tag or array of tags (comma-separated list, no spaces).

options

object

<optional>

The request options or callback.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

createOrUpdateRawTemplateRegistration(registrationId, channel, tags, template, optionsOrCallback, callback)
Creates or updates a custom template registration. Use this method to have full control on the template format. You must also specify the X-WNS-Type header (possible values: wns/toast, wns/tile, wns/badge, wns/raw).

Parameters

Name Type Argument Description

registrationId

string

The registration identifier.

channel

string

The device channel URI.

tags

string | array

A single tag or array of tags (comma-separated list, no spaces).

template

string

The XML template for the registration.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

pnsCredentialName

object

<optional>

The pns credentials to use.

headers

object

<optional>

The wns headers to include.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

createRawTemplateRegistration(channel, tags, template, optionsOrCallback, callback)
Creates a custom template registration. Use this method to have full control on the template format. You must also specify the X-WNS-Type header (possible values: wns/toast, wns/tile, wns/badge, wns/raw).

Parameters

Name Type Argument Description

channel

string

The device channel URI.

tags

string | array

A single tag or array of tags (comma-separated list, no spaces).

template

string

The XML template for the registration.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

pnsCredentialName

object

<optional>

The pns credentials to use.

headers

object

<optional>

The wns headers to include.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

createTile*Registration(channel, tags, template, options, callback)
Creates a new registration with a tile template. There is a method for each tile template in the tile template catalog, such as createTileSquarePeekImageAndText01Registration.

Parameters

Name Type Argument Description

channel

string

The device channel URI.

tags

string | array

A single tag or array of tags (comma-separated list, no spaces).

template

object

The body template of the registration.

Properties

Name Type Description

text{1..n}

string

Value of the text element with ID specified, such as text1. The number of text* properties depends on the tile type.

image{1..n}src

string

Value of the src attribute of the image element with id specified, such as image1. The number of image* properties depends on the tile type.

image{1..n}alt

string

Value of the alt attribute of the image element with id specified, such as image1. The number of image* properties depends on the tile type.

lang

string

Value of the language of the binding element.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

createToast*Registration(channel, tags, template, options, callback)
Creates a new registration with a toast template. There is a method for each toast template in the toast template catalog, such as createToastText01Registration.

Parameters

Name Type Argument Description

channel

string

The device channel URI.

tags

string | array

A single tag or array of tags (comma-separated list, no spaces).

template

object

The body template of the registration.

Properties

Name Type Description

text{1..n}

string

Value of the text element with ID specified, such as text1. The number of text* properties depends on the toast type.

image{1..n}src

string

Value of the src attribute of the image element with id specified, such as image1. The number of image* properties depends on the toast type.

image{1..n}alt

string

Value of the alt attribute of the image element with id specified, such as image1. The number of image* properties depends on the toast type.

lang

string

Value of the language of the binding element.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

listRegistrationsByChannel(channel, optionsOrCallback, callback)
Retrieves registrations by channel URI.

Parameters

Name Type Argument Description

channel

string

The device channel URI.

options

object

<optional>

The request options or callback function. Additional properties are passed as headers.

Properties

Name Type Argument Description

top

object

<optional>

Specifies the maximum number of registration to obtain from the call.

skip

object

<optional>

Specifies the number of registrations to skip in the call.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

send(tags, payload, type, optionsOrCallback, callback)
Sends a custom WNS notification. Use this method if you want to have full control on the payload.

Parameters

Name Type Argument Description

tags

array | string

A single tag, tag expression, or array of tags.

payload

string

The XML payload for the message.

type

string

The message type. Corresponds to header X-WNS-Type (options are: wns/raw, wns/tile and wns/toast).

optionsOrCallback

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

A JSON object that specifies the success and error callback functions.

sendBadge(tags, value, optionsOrCallback, callback)
Sends a wns/badge WNS notification.

Parameters

Name Type Argument Description

tags

array | string

Comma-separated list or array of tag identifiers.

value

object | string

Either a numeric value or a string value that specifies a predefined badge glyph. Numerically, this value can accept any valid integer. A value of 0 clears the badge, values from 1-99 display as given, and any value greater than 99 displays as 99+. For details, see the badge element topic.

optionsOrCallback

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

A JSON object that specifies the success and error callback functions.

sendRaw(tags, payload, optionsOrCallback, callback)
Sends a wns/raw WNS notification.

Parameters

Name Type Argument Description

tags

array | string

Comma-separated list or array of tag identifiers.

payload

object | string

The raw payload.

optionsOrCallback

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

A JSON object that specifies the success and error callback functions.

sendTile*(tags, payload, options, callback)
Sends a Tile notification. There is a method for each tile template in the tile template catalog, such as sendTileSquarePeekImageAndText01.

Parameters

Name Type Argument Description

tags

string | array

A single tag or tag expression.

payload

object

The message payload. Multiple payload parameters can be passed.

Properties

Name Type Description

text{1..n}

string

Value of the text element with ID specified, such as text1. The number of text* properties depends on the tile type.

image{1..n}src

string

Value of the src attribute of the image element with id specified, such as image1. The number of image* properties depends on the tile type.

image{1..n}alt

string

Value of the alt attribute of the image element with id specified, such as image1. The number of image* properties depends on the tile type.

lang

string

Value of the language of the binding element.

type

string

Used in the general sendTile method.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

sendToast*(tags, payload, options, callback)
Sends a toast notification. There is a method for each toast template in the toast template catalog, such as sendToastText01.

Parameters

Name Type Argument Description

tags

string | array

A single tag or tag expression.

payload

object

The message payload.

Properties

Name Type Description

text{1..n}

string

Value of the text element with ID specified, such as text1. The number of text* properties depends on the toast type.

image{1..n}src

string

Value of the src attribute of the image element with id specified, such as image1. The number of image* properties depends on the toast type.

image{1..n}alt

string

Value of the alt attribute of the image element with id specified, such as image1. The number of image* properties depends on the toast type.

lang

string

Value of the language of the binding element.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

<optional>

A JSON object that specifies the success and error callback functions.

updatesRawTemplateRegistration(registrationId, channel, tags, template, optionsOrCallback, callback)
Updates an existing raw template registration.

Parameters

Name Type Argument Description

registrationId

string

The registration identifier.

channel

string

The device channel URI.

tags

string | array

The tags for the registration.

template

string | array

The raw template for the registration.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

pnsCredentialName

object

<optional>

The pns credentials to use.

headers

object

<optional>

The wns headers to include.

etag

object

<optional>

The etag to include.

callback

object

A JSON object that specifies the success and error callback functions.

updateTile*Registration(registrationId, channel, tags, template, options, callback)
Updates an existing template registration with a new tile template. There is a method for each tile template in the tile template catalog, such as updadteTileSquarePeekImageAndText01Registration.

Parameters

Name Type Argument Description

registrationId

string

The registration identifier.

channel

string

The device channel URI.

tags

string | array

The tags for the registration.

template

object

The body template of the registration.

Properties

Name Type Description

text{1..n}

string

Value of the text element with ID specified, such as text1. The number of text* properties depends on the tile type.

image{1..n}src

string

Value of the src attribute of the image element with id specified, such as image1. The number of image* properties depends on the tile type.

image{1..n}alt

string

Value of the alt attribute of the image element with id specified, such as image1. The number of image* properties depends on the tile type.

lang

string

Value of the language of the binding element.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

A JSON object that specifies the success and error callback functions.

updateToast*Registration(registrationId, channel, tags, template, options, callback)
Updates an existing template registration with a new toast template. There is a method for each toast template in the toast template catalog, such as updateToastText01Registration.

Parameters

Name Type Argument Description

registrationId

string

The registration identifier.

channel

string

The device channel URI.

tags

string | array

The tags for the registration.

template

object

The body template of the registration.

Properties

Name Type Description

text{1..n}

string

Value of the text element with ID specified, such as text1. The number of text* properties depends on the toast type.

image{1..n}src

string

Value of the src attribute of the image element with id specified, such as image1. The number of image* properties depends on the toast type.

image{1..n}alt

string

Value of the alt attribute of the image element with id specified, such as image1. The number of image* properties depends on the toast type.

lang

string

Value of the language of the binding element.

options

object

<optional>

The request options or callback.

Properties

Name Type Argument Description

headers

object

<optional>

The wns headers to include.

callback

object

A JSON object that specifies the success and error callback functions.

For an example of how to send push notifications from your mobile service to a Windows app, see Add push notifications to your Mobile Services app (Windows Store C#/Windows Store JavaScript/universal Windows C#/universal Windows JavaScript).

All methods return undefined.

The payload object has the following considerations with respect to naming and order of fields based on the specific template:

  • textN specifies the string value of the Nth text field in document order, starting from 1.

  • imageNsrc specifies the URL of the Nth image in document order, starting from 1.

  • imageNalt specifies the alt text of the Nth image in document order, starting from 1.

  • Any fields that are missing are assumed to be empty strings.

  • Any extra fields not required by a particular template are ignored.

When you call the sendRaw method, the notification payload is delivered to the app and not displayed in the UI. For more information, see Raw notification overview (Windows Store apps).

The following script uses the send function on the wns object to send a toast notification to a Windows Store app.

function insert(item, user, request) {
// Define a payload for the Windows Store toast notification.
var payload = '<?xml version="1.0" encoding="utf-8"?><toast><visual>' +    
    '<binding template="ToastText01">  <text id="1">' +
    item.text + '</text></binding></visual></toast>';

request.execute({
    success: function() {
        // If the insert succeeds, send a notification.
        push.wns.send(null, payload, 'wns/toast', {
            success: function(pushResponse) {
                console.log("Sent push:", pushResponse);
                request.respond();
                },              
                error: function (pushResponse) {
                    console.log("Error Sending push:", pushResponse);
                    request.respond(500, { error: pushResponse });
                    }
                });
            }
        });
}

The following script calls the sendRaw method of the wns object to send a pre-formatted toast notification by using the ToastImageAndText03 template.

function insert(item, user, request) {
    request.execute({
        success: function() {
            // Write to the response and then send a raw notification in the background.
            request.respond();
            push.wns.sendRaw(null,'{ notification: raw, text: "Raw notification string" }' + 
            item.text, {
                success: function(pushResponse) {
                    console.log("Sent push:", pushResponse);
                }
            });
        }
    });
}

Show:
© 2014 Microsoft