我想向我的 Windows 商店应用程序添加定期磁贴更新,如果我向 tileUpdateManager 提供一个 xml,例如这个地址http://wowzappelsalvador.azurewebsites.net/tiletest.xml ,一切正常。该应用程序适用于 azure 移动服务,其想法是使用相同的服务更新 App 磁贴,因此我在 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 来发送推送或 toast 通知,但我的案例是轮询通知,客户端代码如下:
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);
任何帮助将非常感激!