Reputation: 21
This post is similar to Microsoft Band Web Tile not Updating, but the response marked as an answer to that question didn't really solve my issue, so I thought I'd start a new post.
I recently purchased a Band 2 and am trying to set up a web tile that will pull data from a service that provides data in JSON format (not an rss feed). So, I created a single-page non-feed tile using the 5-step authoring tool. When I first deployed the tile to my band, it successfully polled the service and displayed data; however, since that point, the data displayed on the web tile has not updated, even though the refresh interval is set (the default of 30 minutes).
The service that's being called is an ASP.Net Web API service. It is setting the following cache-related headers:
Cache-Control: no-cache Pragma: no-cache Expires: -1 Last-Modified: ETag:
If I review the HTTP logs for the site, I can see where my service endpoint is getting called from my band/phone, roughly every 30 minutes, and the server responds with a 200 OK response on every call - I'm not seeing a 304 Not Modified response on the server side of the transaction.
My band is paired with an Android device (Samsung GS5). I've also tried pairing with an iPhone 6, as well, with the same result. Other tiles on the band seem to work fine (i.e., the standard ones that come with the MS Health app). as part of pairing/re-pairing, I've done a factory reset twice, and that didn't seem to help. I've tried re-starting both phones (when they were paired), as well. That doesn't help, either.
What am I missing?
For reference, here is what the web tile's manifest.json file contains (with placeholders for some data points:
{
"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}}"
}
]
}
Upvotes: 2
Views: 309
Reputation: 73
I share the frustration here. I too have exactly the same issue it seems. I have also been a developer for 20 years. My answer to this problem now is that there is a bug perhaps when JSON is used, and/or with Android phones. I've tried to get answers and discussions with Microsoft but not had any luck. My issue is at Web Tile works once but never refreshes
Upvotes: 0
Reputation: 1871
Some things I can think of:
After that, if you are still having problems please send feedback from inside the Microsoft Health app. Access via Left Nav, bottom under Settings, use the "Help and Feedback".
When reporting feedback, if you can attach the webtile that will help us test the webtile you are having problems with.
Upvotes: 0
Reputation: 1871
Can you supply the URL for the resource? If so I can take a look at your server responses and see why the tile is not refreshing.
Better yet, can you share the webtile and I can try that to see why it is not refreshing. You can build your WebTile at https://developer.microsofthealth.com/WebTile/ and choose to submit it. Reply here with the name of it and I will take a look.
By the way, here is how we handle refresh on a simple tile:
So, if you have Etag or Last-Modified in your server responses then we will use that to send in future requests and that may be causing your problem. In that case you would want to make sure that Etag and Last-Modified are not being sent in your server responses.
Upvotes: 0