iPhone上的推送通知是如何确定应该通知哪些用户的?

4

我只是想更好地了解推送通知。

假设我有一个Web服务,我的应用程序连接到该服务需要用户使用用户名和密码进行登录。当应用程序运行时,这一切都很正常。

现在... Web服务如何确定要向哪个用户发送推送通知?

对于使用用户名和密码的用户,我真的不确定它是如何工作的。如果有人能够启示我,那将非常棒。更好的了解可以改进我的应用程序。谢谢!

5个回答

9
我将简要介绍推送通知的工作原理:
首先,您的应用程序会调用registerForRemoteNotificationTypes:方法。这将检查您的应用程序是否被允许发送和接收您请求的通知类型,并联系苹果的服务器注册您的设备。您将获得一个用于唯一标识设备的特殊令牌。
您的应用程序需要将此令牌与用户已登录的帐户的详细信息一起发送到您的服务器,以便您的服务器可以将该令牌与用户关联起来。
当您想向用户发送推送通知时,您要查找之前为该用户收到的令牌,并在将通知发送到苹果的服务器时使用该令牌。这将把通知转发到适当的设备。
如果您阅读了苹果文档Apple Push Notification Service,那么您将更清楚地了解它的工作方式。

你有这方面的任何示例吗?因为我想看看。 - Popeye

2

enter image description here

推送通知是iOS应用程序的一个非常棒的功能。它的工作方式是,您的应用程序需要注册推送通知,以便在设备上接收来自服务器的实时更新和消息。这对于及时向用户提供重要信息和更新非常有用。

//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.
}

那么,你拥有设备令牌后接下来该怎么做呢?很简单,现在可以用它来发送推送通知。你可以使用PHP和.NET找到不同的代码实现。搜索一下,你会得到很多。


2

2

对于登录流程,您甚至不需要推送通知。如果您需要一个一般性的介绍,您可以在这里找到。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接