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, '<')
.replace(/>/g, '>')
.replace(/"/g, '"');
}
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);
どんな助けでも大歓迎です!