В статье , описывающей управление регистрацией, говорится, что:
Ниже приведены некоторые ключевые преимущества использования установок:
Создание или обновление установкиполностью идемпотент.Таким образом, вы можете повторить попытку, не беспокоясь о дублирующих регистрациях
Что это значит?Я предполагаю, что это не означает, что установки имеют «CreateOrUpdate» в отличие от регистраций, поскольку там также существует аналогичный метод - «CreateOrUpdateRegistrationAsync».
Предположим, что я создал две установки с разными идентификаторами установки, но одинаковымиДескриптор PNS (свойство pushChannel
) и идентичный тег 'foo' присутствуют в обеих установках.Я собираюсь отправить уведомление с помощью метода SendTemplateNotificationAsync
с помощью тега 'foo', чтобы выбрать цель моего уведомления.
Это будет соответствовать обеим моим установкам, потому что они обе содержат тег 'fooи оба имеют одинаковую ручку PNS.Будет ли устройство получать два уведомления или Azure будет препятствовать доставке дубликатов в этом случае?
В той же статье, которую я связал, примеры кода проверяют существующие регистрации с помощью дескриптора PNS, который являетсясобирается зарегистрироваться:
// make sure there are no existing registrations for this push handle (used for iOS and Android)
string newRegistrationId = null;
var registrations = await hub.GetRegistrationsByChannelAsync(pushChannel.Uri, 100);
, но они не проверяют это в примерах установки, что снова говорит о том, что Azure предотвращает доставку дублированных уведомлений.