エクスポート (0) 印刷
すべて展開

wns オブジェクト

更新日: 2012年3月

Windows Azure のモバイル サービスのサーバー スクリプトで Windows 通知サービス (WNS) の機能を公開します。

このオブジェクトには、通知を送信するために使用する次の一連のメソッドがあります。

sendTile*

特定のチャネルにタイル通知を送信します。sendTile* メソッドのバージョンごとに使用する WNS タイル テンプレートが異なります。

構文

パラメーター

 

パラメーター 説明

channel

通知を受信するチャネルを示す必須のチャネル URI 値または URI 値の配列。

payload

通知情報を含む必須のオブジェクト。必要なフィールドは、特定の通知のトースト テンプレートに基づきます。たとえば、sendTileWideImageAndText02 メソッドを呼び出す場合は、次のフィールドを含む payload オブジェクトを指定します。

{
    text1: 'text field 1',
    text2: 'text field 2',
    image1src: 'image1.png',
    image1alt: 'alt text'
}

payload オブジェクトのフィールドの名前と順序については、「解説」を参照してください。

options

通知の成功コールバック、エラー コールバック、およびその他の省略可能な動作を指定するために使用されるオブジェクト。

{
    success: success,
    error: error,
    headers: wns_headers 
}

ここで、success は通知を送信した後に呼び出す関数、error はエラーが発生したときに呼び出す関数、headers は WNS に送信される要求に含める追加の HTTP 要求ヘッダーの一覧です。

使用できる HTTP 要求ヘッダーの一覧については、「Push notification service request and response headers」を参照してください。

戻り値

未定義です。

sendToast*

特定のチャネルにトースト通知を送信します。sendToast* メソッドのバージョンごとに使用するトースト テンプレートが異なります。

構文

wns.sendToast*(channel, payload, options)

アスタリスク (*) は、次に示すいずれかのタイル テンプレートのプレースホルダーです。

パラメーター

 

パラメーター 説明

channel

通知を受信するチャネルを示す必須のチャネル URI 値または URI 値の配列。

payload

通知情報を含む必須のオブジェクト。必要なフィールドは、特定の通知のトースト テンプレートに基づきます。たとえば、sendToastImageAndText03 メソッドを呼び出す場合は、次のフィールドを含む payload オブジェクトを指定します。

{
    text1: 'headline text',
    text2: 'body text',
    image1src: 'image1.png',
    image1alt: 'alt text'
}

payload オブジェクトのフィールドの名前と順序については、「解説」を参照してください。

options

通知の成功コールバック、エラー コールバック、およびその他の省略可能な動作を指定するために使用されるオブジェクト。

{
    success: success,
    error: error,
    headers: wns_headers, 
    launch: launch_uri,
    duration: duration_time 
}

ここで、success は通知を送信した後に呼び出す関数、error はエラーが発生したときに呼び出す関数、headers は WNS に送信される要求に含める追加の HTTP 要求ヘッダーの一覧、launch_uri はトースト通知が発生したときの移動先となる省略可能な URI、duration_time はトースト通知が表示される時間の長さです。

使用できる HTTP 要求ヘッダーの一覧については、「Push notification service request and response headers」を参照してください。

duration_time フィールドに指定できる値は、longshort です。

戻り値

未定義です。

sendBadge

特定のチャネルにバッジ通知を送信します。

構文

wns.sendBadge(channel, value, options)

パラメーター

 

パラメーター 説明

channel

通知を受信するチャネルを示す必須のチャネル URI 値または URI 値の配列。

value

定義済みのバッジ グリフを指定する数値または文字列値。数値の場合、この値には有効な整数を使用できます。値 0 の場合はバッジを消去し、1 ~ 99 の値の場合は指定したとおりに表示し、99 を超す値の場合は 99+ と表示します。サポートされている文字列値は、次のとおりです。

  • なし

  • activity

  • alert

  • 使用可能

  • away

  • busy

  • newMessage

  • 一時停止されました

  • playing

  • unavailable

  • error

  • attention

詳細については、「Badge schema」を参照してください。

options

通知の成功コールバック、エラー コールバック、およびその他の省略可能な動作を指定するために使用されるオブジェクト。

{
    success: success,
    error: error,
    headers: wns_headers, 
}

ここで、success は通知を送信した後に呼び出す関数、error はエラーが発生したときに呼び出す関数、headers は WNS に送信される要求に含める追加の HTTP 要求ヘッダーの一覧です。

使用できる HTTP 要求ヘッダーの一覧については、「Push notification service request and response headers」を参照してください。

戻り値

未定義です。

sendRaw

特定のチャネルに直接通知を送信します。

構文

wns.sendRaw(channel, value, options)

パラメーター

 

パラメーター 説明

channel

通知を受信するチャネルを示す必須のチャネル URI 値または URI 値の配列。

value

変更せずにクライアントに配信されるアプリケーション固有の文字列。

options

通知の成功コールバック、エラー コールバック、およびその他の省略可能な動作を指定するために使用されるオブジェクト。

{
    success: success,
    error: error,
    headers: wns_headers, 
}

ここで、success は通知を送信した後に呼び出す関数、error はエラーが発生したときに呼び出す関数、headers は WNS に送信される要求に含める追加の HTTP 要求ヘッダーの一覧です。

使用できる HTTP 要求ヘッダーの一覧については、「Push notification service request and response headers」を参照してください。

戻り値

未定義です。

send

特定のチャネルに書式設定済みの通知を送信します。

Important重要
このメソッドを使用するには、選択した通知の種類に固有のペイロード形式を確認しておく必要があります。

構文

wns.send(channel, payload, type, value, options)

パラメーター

 

パラメーター 説明

channel

通知を受信するチャネルを示す必須のチャネル URI 値または URI 値の配列。

payload

変更せずにクライアントに配信されるアプリケーション固有の文字列。

ペイロード形式については、Windows ストア アプリ ドキュメントのプッシュ通知に関するトピックを参照してください。詳細については、「The tile template catalog」、「The toast template catalog」、および「Badge overview」を参照してください。

type

通知の種類を次のいずれかの文字列値として指定します。

 

説明

wns/badge

タイルにバッジ オーバーレイを作成する通知。通知要求に含まれる Content-Type ヘッダーを "text/xml" に設定する必要があります。

wns/tile

タイル コンテンツを更新する通知。通知要求に含まれる Content-Type ヘッダーを "text/xml" に設定する必要があります。

wns/toast

クライアントでトーストを発生させる通知。通知要求に含まれる Content-Type ヘッダーを "text/xml" に設定する必要があります。

wns/raw

カスタム ペイロードを含むことができ、アプリに直接配信される通知。通知要求に含まれる Content-Type ヘッダーを "application/octet-stream" に設定する必要があります。

options

通知の成功コールバック、エラー コールバック、およびその他の省略可能な動作を指定するために使用されるオブジェクト。

{
    success: success,
    error: error,
    headers: wns_headers, 
}

ここで、success は通知を送信した後に呼び出す関数、error はエラーが発生したときに呼び出す関数、headers は WNS に送信される要求に含める追加の HTTP 要求ヘッダーの一覧です。

使用できる HTTP 要求ヘッダーの一覧については、「Push notification service request and response headers」を参照してください。

戻り値

未定義です。

payload オブジェクトには、特定のテンプレートに基づくフィールドの名前と順序に関する次の考慮事項があります。

  • textN には、1 から始まるドキュメント順で N 番目のテキスト フィールドの文字列値を指定します。

  • imageNsrc には、1 から始まるドキュメント順で N 番目の画像の URL を指定します。

  • imageNalt には、1 から始まるドキュメント順で N 番目の画像の alt テキストを指定します。

  • 不足しているフィールドは、空の文字列と見なされます。

  • 特定のテンプレートに必要ない余分なフィールドは無視されます。

sendRaw メソッドを呼び出した場合、通知ペイロードはアプリに配信され、UI には表示されません。詳細については、「Raw notification overview (Windows Store apps)」を参照してください。

次のスクリプトでは、wns オブジェクトを使用して、Windows ストア アプリにトースト通知を送信します。

function insert(comment, user, request) { 
  request.execute({ 
    success: function() { 
      var sql = "SELECT deviceId FROM devices " + 
      "INNER JOIN posts ON devices.userId = posts.userId " + 
      "WHERE posts._id = ?"; 
      mssql.query(sql, [comment.postId], { 
        success: function(results) { 
          if(results.length > 0) { 
            push.wns.sendToastText04(results[0].deviceId, { 
              text1: comment.username + ' commented on your post!' 
            }); 
          } 
        } 
      }); 
      // Write to the response for the original request while the push notification happens in the background 
      request.respond(); 
    } 
  }); 
}

次のスクリプトでは、ToastImageAndText03 テンプレートを使用して、wns オブジェクトの sendRaw メソッドを呼び出し、書式設定済みのトースト通知を送信します。

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(item.channel,'{ notification: raw, text: "Raw notification string" }' + 
            item.text, {
                success: function(pushResponse) {
                    console.log("Sent push:", pushResponse);
                }
            });
        }
    });
}

次のスクリプトでは、ToastImageAndText03 テンプレートを使用して、wns オブジェクトの send メソッドを呼び出し、書式設定済みのトースト通知を送信します。

function insert(item, user, request) {
    request.execute({
        success: function() {
            // Write to the response and then send the pre-formatted notification in the background.
            request.respond();
            push.wns.send(item.channel,'<toast launch=""><visual lang="en-US">' +
            '<binding template="ToastImageAndText03"><image id="1" src="imageUri" />' + 
            '<text id="1">Template: ToastImageAndText03</text>' + 
            '<text id="2">' + item.text + '</text></binding></visual></toast>',
            "wns/toast", {
                success: function(pushResponse) {
                    console.log("Sent push:", pushResponse);
                }
            });
        }
    });
}

表示:
© 2014 Microsoft