0

Windows ストア アプリに定期的なタイルの更新を追加したいと考えています。アプリは azure モバイル サービスで動作し、アイデアは同じサービスを使用してアプリ タイルを更新することなので、azure で次のような読み取りスクリプトを作成しました。

function read(query, user, request) {

mssql.query("select imagenTile, nombreTip from verdetips.tipDiaLiveTileView", {
    success: function(results) {

        var xmlEscape = function (text) {
        return text.replace(/&/g, '&')
           .replace(/</g, '&lt;')
           .replace(/>/g, '&gt;')
           .replace(/"/g, '&quot;');
        }

         var payload = "<?xml version='1.0' encoding='UTF-8'?>" +
         "<tile><visual><binding template='TileWideImageAndText01'>" +
          "<image id='1' src='" + xmlEscape(results[0].imagenTile) + "' alt='Verde Tips'/>" +
          "<text id='1'>" + xmlEscape(results[0].nombreTip) + "</text>" +
          "</binding>" +
          "<binding template='TileSquareText04'>" +
          "<text id='1'>" + xmlEscape(results[0].nombreTip) + "</text>" +
          "</binding></visual></tile>";

         console.log(payload);
         request.respond(statusCodes.OK, payload);
    }
 });
}

このスクリプトに関連付けられたテーブルを呼び出すと、.xml ファイルと同じテキストを取得しますが、.json ファイルではタイルの更新が機能しません。何が欠けていますか?

注: Azure モバイル サービスで push.wns.send を使用してプッシュ通知またはトースト通知を送信する方法を説明しているサイトを見たことがありますが、私のケースはポーリング通知であり、クライアント コードは次のとおりです。

var notifications = Windows.UI.Notifications;
    var polledUri = new Windows.Foundation.Uri("http://verdetips.azure-mobile.net/tables/tipDiaLiveTile");
    //var polledUri = new Windows.Foundation.Uri("http://wowzappelsalvador.azurewebsites.net/tiletest.xml");
    var recurrence = notifications.PeriodicUpdateRecurrence.daily;
    var tileUpdater = notifications.TileUpdateManager.createTileUpdaterForApplication();
    tileUpdater.startPeriodicUpdate(polledUri, recurrence);

どんな助けでも大歓迎です!

4

1 に答える 1

1

現時点では、Azure Mobile Services には JSON 以外のものを返す機能がありません。これは繰り返し要求されるため、この機能はロードマップにあり、近い将来に実装される予定です。

于 2013-01-14T00:46:55.713 に答える