Microsoft Band Web Tile没有刷新

时间:2016-01-05 17:24:26

标签: microsoft-band

这篇文章与Microsoft Band Web Tile not Updating类似,但标注为该问题答案的回复并没有真正解决我的问题,所以我想我会开一个新帖子。

我最近购买了Band 2,并且我正在尝试设置一个Web磁贴,它将从提供JSON格式数据的服务(而不是rss feed)中提取数据。因此,我使用5步创作工具创建了单页非馈送磁贴。当我第一次将磁贴部署到我的乐队时,它成功地轮询了服务并显示了数据;但是,从那时起,即使设置了刷新间隔(默认值为30分钟),Web图块上显示的数据也未更新。

被调用的服务是ASP.Net Web API服务。它正在设置以下与缓存相关的标头:

缓存控制:无缓存 Pragma:没有缓存 到期:-1 最后修改: ETag:

如果我查看该网站的HTTP日志,我可以看到我的服务端点从我的频段/电话中调用的位置,大约每30分钟一次,服务器每次通话时都会响应200 OK - I&#39 ; m没有在事务的服务器端看到304 Not Modified响应。

我的乐队与Android设备(三星GS5)配对。我也试过与iPhone 6配对,结果相同。乐队上的其他磁贴似乎工作正常(即MS Health应用程序附带的标准磁贴)。作为配对/重新配对的一部分,我已经两次重置工厂,这似乎没什么帮助。我也尝试重新启动这两款手机(当它们配对时)。这也没有帮助。

我错过了什么?

供参考,这是web tile的manifest.json文件包含的内容(带有一些数据点的占位符:

{
  "manifestVersion": 1,
  "name": "<Name Here>",
  "description": "<Description here>",
  "version": 1,
  "versionString": "1",
  "author": "<Author Here>",
  "organization": "",
  "contactEmail": "",
  "tileIcon": {
    "46": "icons/tileIcon.png"
  },
  "icons": {},
  "refreshIntervalMinutes": 30,
  "resources": [
    {
      "url": "<URL Here>",
      "style": "Simple",
      "content": {
        "_1_bg": "BG",
        "_1_datestring": "DateString",
        "_1_trend": "Trend",
        "_1_direction": "Direction"
      }
    }
  ],
  "pages": [
    {
      "layout": "MSBand_MetricsWithIcons",
      "condition": "true",
      "textBindings": [
        {
          "elementId": "12",
          "value": "BG: {{_1_bg}}"
        },
        {
          "elementId": "22",
          "value": "{{_1_datestring}}"
        },
        {
          "elementId": "32",
          "value": "Trend: {{_1_trend}}, {{_1_direction}}"
        }
      ]
    }
  ],
  "notifications": [
    {
      "condition": "{{_1_bg}} >= 250",
      "title": "HIGH BG: {{_1_bg}}",
      "body": "{{_1_datestring}}"
    },
    {
      "condition": "{{_1_bg}} <= 80",
      "title": "Low BG: {{_1_bg}}",
      "body": "{{_1_datestring}}"
    },
    {
      "condition": "{{_1_bg}} <= 55",
      "title": "REALLY LOW: {{_1_bg}}",
      "body": "{{_1_datestring}}"
    }
  ]
}

3 个答案:

答案 0 :(得分:0)

您能提供资源的URL吗?如果是这样,我可以查看您的服务器响应,看看为什么磁贴没有刷新。

更好的是,你能分享这个网页吗?我可以尝试一下,看看为什么它不令人耳目一新。您可以在https://developer.microsofthealth.com/WebTile/构建WebTile并选择提交。在这里回复它的名称,我将看看。

顺便说一下,这是我们如何在简单的瓷砖上处理刷新:

  1. 如果Etag在最后一个响应中,那么在下一个请求中使用它,让服务器决定是否有新内容提供。
  2. 如果未提供Etag,请查找Last-Modified并在可用时使用。
  3. 否则,处理下载的数据并发送到磁贴。
  4. 因此,如果您在服务器响应中有Etag或Last-Modified,那么我们将使用它来发送将来的请求,这可能会导致您的问题。在这种情况下,您需要确保未在服务器响应中发送Etag和Last-Modified。

答案 1 :(得分:0)

我能想到的一些事情:

  • 在更新发生时,您是否在WebTile上打开磁贴?如果是这样,那么当新数据进入时,乐队的某些FW版本中的图块不会更新,关闭图块并在同步后打开它。
  • 您可以通过点击Microsoft Health应用内左侧导航栏左上角的同步图标,测试您的磁贴同步频率超过30分钟。

之后,如果您仍然遇到问题,请从Microsoft Health应用程序内部发送反馈。通过左侧导航,在“设置”下方进行访问,使用“帮助和反馈”。

报告反馈时,如果您可以附加有助于我们测试网页的网页,那么您就会遇到问题。

答案 2 :(得分:0)

我在这里分享挫折感。我似乎也有完全相同的问题。我也是一名开发人员已有20年。我现在对这个问题的回答是,当使用JSON和/或使用Android手机时,可能存在错误。我试图与微软获得答案和讨论,但没有运气。我的问题是Web Tile works once but never refreshes