Идентификация iPhone OS в сети и отправка push-уведомлений

Можете ли вы легко идентифицировать устройства в вашей сети как устройства iPhone OS? Можете ли вы отправлять push-уведомления на устройства, которые определены как использующие iPhone OS в вашей сети без целевого приложения?

Можно ли определить, какие устройства в сети используют iPhone OS?

Имея эту информацию, можно ли отправлять push-уведомления на эти устройства?

Насколько я понимаю, ваш сервер приложений будет связываться с APN, которые будут связываться с пользователями. Итак, вышесказанное было бы невозможно. Может ли кто-нибудь подтвердить это для меня?

2 ответа

Насколько я знаю, айфоны не сообщают о своем присутствии в сети особым образом. Возможно, вы сможете угадать, какие устройства являются iPhone в вашей локальной сети, посмотрев на MAC-адрес отвечающих хостов.

Нет, push-уведомления доставляются по зашифрованному соединению между серверами iPhone и APN и всегда предназначены для конкретного приложения на устройстве. Вы не можете отправить push-уведомление на произвольные устройства в вашей сети (по крайней мере, без взлома устройств).

Если вы посмотрите документацию Apple для класса UIDevice: http://developer.apple.com/iphone/library/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html

Например, [[UIDevice currentDevice] модель] даст вам строки, такие как @”iPhone” и @”iPod touch”.

Затем в вашем методе App Delegate "application:didRegisterForRemoteNotificationsWithDeviceToken:" вы можете сохранить модель устройства с токеном устройства на вашем сервере.

С этим вы сможете отправить push-уведомление данной модели. Если вы используете UrbanAirship, вы можете использовать опцию "tag".

Другие вопросы по тегам