Идентификация 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".