Являются ли маркеры push-уведомлений уникальными для всех приложений для одного устройства? - PullRequest
8 голосов
/ 02 мая 2010

У меня будет несколько приложений в магазине приложений и 1 учетная запись городского дирижабля для отправки push-уведомлений на все эти устройства. Что я хочу знать, так это то, что каждое устройство Apple имеет одинаковый «токен» во всех приложениях? Это больше относится к архитектуре базы данных, так что я не дублирую push-токен много раз, если одно приложение использует много моих приложений.

Если каждое устройство Apple генерирует уникальный push-токен для каждого установленного приложения, мою архитектуру необходимо изменить.

Ответы [ 2 ]

20 голосов
/ 02 мая 2010

токены устройств не являются уникальными для каждого устройства; они уникальны для каждой операционной системы. Поэтому, если пользователь покупает новое устройство, но не восстанавливает его из резервной копии, он получает токен нового устройства. И если устройство будет стерто, оно получит новый маркер устройства, поэтому новый пользователь не получит сообщения старого пользователя.

Кроме того, для приложений разработки, использующих изолированную программную среду, и приложений распространения, использующих производственную систему, возвращаются разные токены.

Поскольку у одного пользователя может быть легально установлено приложение на нескольких устройствах (например, на iPhone и iPad), гораздо безопаснее иметь связь между многими пользователями и токенами устройств, чтобы быть в безопасности.

И так как вы упомянули Urban Airship, вы можете обнаружить, что наша функция псевдонимов помогает для такого рода вещей; вы можете назначить неуникальный псевдоним различным токенам с нашей стороны, а затем мы будем отслеживать соответствие между вашими пользователями и их токенами устройств. Смотрите регистрационные и push части документации UA .

Редактировать: Обновление, потому что я видел еще несколько голосов против этого старого ответа. Начиная с iOS 7, токены устройств уникальны для каждого приложения, даже на одном устройстве.

0 голосов
/ 08 октября 2018

Согласно последнему документу Apple:

Никогда не кэшируйте токены устройства в вашем приложении; вместо этого получите их из системы, когда они вам понадобятся. APNs выдает новый маркер устройства вашему приложению, когда происходят определенные события. Маркер устройства гарантированно будет другим, например, когда пользователь восстанавливает устройство из резервной копии, когда пользователь устанавливает ваше приложение на новое устройство и когда пользователь переустанавливает операционную систему. Выбор токена, а не использование кэша, гарантирует, что у вас есть текущий токен устройства, необходимый вашему провайдеру для связи с APN. Когда вы пытаетесь получить токен устройства, но он не изменился, метод извлечения возвращается быстро. Для получения дополнительной информации проверьте Apple Doc

...