#android #azure-spatial-anchors
#Android #azure-spatial-anchors
Вопрос:
Я опробовал пример проекта от Azure Spatial Anchors для Android, и все заработало. Я могу добавить привязку с одного смартфона и найти ее с другого смартфона. Проблема в том, что я не могу найти привязку примерно через 24 часа. Я знаю, что можно установить дату истечения срока действия, но я этого не делал, и я не видел этого в коде. Существует ли ограничение по времени для хранения пространственных привязок, аналогичное облачным привязкам ARCore?
Комментарии:
1. Проверьте документацию Azure cloud об ограничениях бесплатного уровня, если это то, что вы используете.
2. Да, я использую бесплатный уровень, но нет никакого упоминания об ограничении.
Ответ №1:
Возможно хранить пространственные привязки дольше 24 часов. Служба не удаляет какую-либо информацию о вашей привязке, если вы явно не установите время истечения срока действия привязки или не удалите привязку вручную.
Если вы в настоящее время используете образец привязки общего доступа, исходная версия образца каждый раз очищала хранилище вашего приложения.
if (!this.initializing.Wait(0))
{
this.initializing.Set();
await this.dbCache.DeleteIfExistsAsync(); // here the database gets deleted
await this.dbCache.CreateAsync();
this.initialized.Set();
}
Впоследствии это поведение было изменено в запросе на извлечение.
Ответ №2:
Я не пробовал локализовать привязки за пределами 24-часового лимита. Однако дату истечения срока действия можно настроить как таковую:
// Set the expiry of the anchor to 24 hours so that we can play with
// the anchors for a day
CloudSpatialAnchor spatialAnchor = new CloudSpatialAnchor();
..
spatialAnchor.Expiration = DateTimeOffset.Now.AddDays(1); // Pass any Double value you want.
..
Вы могли бы попробовать настроить один сегодня и локализовать где-нибудь на следующей неделе, чтобы проверить, сохраняются ли привязки более 24 часов, даже на бесплатном уровне. Я тоже это сделаю.