Это сообщение похоже на Microsoft Band Web Tile not Updating, но ответ, отмеченный как ответ на этот вопрос, на самом деле не решит мою проблему, поэтому я решил начать новую запись.Microsoft Band Web Tile Not Refreshing
Недавно я приобрел Band 2 и пытаюсь настроить веб-фрагмент, который будет извлекать данные из службы, которая предоставляет данные в формате JSON (а не в RSS-ленте). Таким образом, я создал одностраничную непинговую плиту, используя 5-ступенчатый инструмент авторинга. Когда я впервые развернул плитку в свою группу, он успешно опросил службу и отобразил данные; однако с этой точки данные, отображаемые на веб-фрагменте, не обновлены, даже если установлен интервал обновления (по умолчанию 30 минут).
Услуга, вызываемая, является службой веб-API ASP.Net. Она устанавливает следующие кэш связанных заголовков:
Cache-Control: нет-кэша Pragma: нет-кэша Expires: -1 Last-Modified: ETag:
Если я просматриваю журналы HTTP для сайта я могу видеть, где моя конечная точка службы вызывается из моей группы/телефона примерно каждые 30 минут, а сервер отвечает с ответом 200 OK при каждом вызове - я не вижу ответ 304 Not Modified на серверной стороне транзакции.
Моя группа соединена с Android-устройством (Samsung GS5). Я также попытался установить соединение с iPhone 6, с тем же результатом. Другие плитки в группе, похоже, работают нормально (т. Е. Стандартные, которые поставляются с приложением MS Health). как часть спаривания/повторного спаривания, я дважды сбросил заводские настройки, и это, похоже, не помогло. Я попытался перезапустить оба телефона (когда они были спарены). Это тоже не помогает.
Что мне не хватает?
Для справки, вот что содержит файл manifest.json веб-Tile (с кодом заполнителей для некоторых точек данных:
{
"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}}"
}
]
}
Похоже, что часть моего сообщения, связанная с заголовком Last-Modified и ETag, была изменена, когда я отправил - служба фактически устанавливает для них значения; Дата последней модификации сбрасывается при каждом обращении к службе. ETag - это Guid (сбрасывается в строку), который генерируется при каждом вызове, поэтому теоретически он никогда не будет таким же, как предыдущий запрос. –
Исходная версия службы не содержит значений Last-Modified или ETag. Я добавил их после проведения начального тестирования без них и не получал данные, обновленные в группе. Вот URL-адрес службы: https://sfowlerbanddata.azurewebsites.net/api/sgv/latest –
Я неоднократно обзывал https://sfowlerbanddata.azurewebsites.net/api/sgv/latest несколько раз, и я вижу, что значения меняются, а плитка меняется. Обновлена ли ваша плитка? Я также создал образец плитки, подобный тому, который вы создали с помощью инструмента Web Authoring, и он обновляется, как ожидается, на iOS. –