Как push-уведомления на iPhone определяют, какие пользователи получают уведомления? - PullRequest
3 голосов
/ 16 февраля 2012

Я просто пытаюсь понять push-уведомления.

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

Теперь ... как веб-служба определяет, кому отправлять push-уведомления?

Я действительно не уверен, как это работает с пользователями с именами пользователей и паролями.Было бы здорово, если бы кто-то мог просветить меня до этого.Лучшее понимание может улучшить мои приложения в будущем.Спасибо!

Ответы [ 5 ]

10 голосов
/ 16 февраля 2012

Я кратко расскажу о том, как работают push-уведомления:

Сначала ваше приложение вызовет метод registerForRemoteNotificationTypes:. Это позволит проверить, разрешено ли вашему приложению отправлять и получать запрошенные вами типы уведомлений, и связываться с серверами Apple, чтобы зарегистрировать ваше устройство. Вам вернется специальный токен, используемый для уникальной идентификации устройства.

Ваше приложение должно отправить этот токен на ваш сервер вместе с данными учетной записи, с которой вошел пользователь, чтобы ваш сервер мог связать этот токен с пользователем.

Когда вы хотите отправить push-уведомление пользователю, вы просматриваете токен, который вы получили ранее для этого пользователя, и используете его при отправке уведомления на сервер Apple. Это перенаправит уведомление на соответствующее устройство.

Вероятно, это хорошая идея, если вы прочитаете документацию Apple здесь: Служба push-уведомлений Apple . Это даст вам более четкое представление о том, как все это работает.

2 голосов
/ 16 февраля 2012

enter image description here

Push-уведомление - это отличная особенность приложений для iOS.Он работает так, как ваше приложение должно зарегистрироваться для push-уведомлений как

//Your application registeres for push notification using following line
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

. Это заставит ваше приложение обрабатывать генерирование сбоя / успеха токена устройства методами делегата

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
     //Your application registered for push notification i.e. allowed by user.
     //You need to take device token and pass it to your webservice and store it in database.
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
     //Your application registered for push notification i.e. not allowed by user.
}

Итакчто после того, как у вас есть токен устройства?.. Теперь его просто использовать для отправки push-уведомлений.Вы можете найти другой код для этого, используя как PHP, так и .Net.Ищите вокруг, и вы получите их много.

2 голосов
/ 16 февраля 2012

Ниже я упомянул 2 ссылки.

https://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html

http://mobiforge.com/developing/story/programming-apple-push-notification-services

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

Надеюсь, эта помощь.

2 голосов
/ 16 февраля 2012

Для входа в систему вам даже не нужны push-уведомления.Если вам нужно общее введение, вы найдете один здесь

2 голосов
/ 16 февраля 2012

Вот замечательный урок, подробно объясняющий, http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

...