2012-02-16 72 views
3

我只是想更了解推送通知。iPhone上的推送通知如何确定通知哪些用户?

比方说,我有一个应用程序连接到的Web服务,需要用户使用用户名和密码登录。运行应用程序时,这一切都可以正常工作。

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

我真的不确定它如何与使用用户名和密码的用户协同工作。如果有人能够启发我,这将是非常棒的。更好的理解可以在将来改进我的应用程序。谢谢!

回答

10

我给一个简短的过观点如何推送通知的工作:

首先,您的应用程序将调用registerForRemoteNotificationTypes:方法。这将检查您的应用是否被允许发送和接收您请求的通知类型,并联系Apple的服务器以注册您的设备。您将获取用于唯一标识设备的特殊令牌。

您的应用程序需要将此令牌发送到您的服务器以及用户使用的帐户的详细信息,以便服务器可以将该令牌与用户关联。

当您想向用户发送推送通知时,可以查找先前为该用户收到的令牌,并在将通知发送到Apple服务器时使用该令牌。这会将通知转发给适当的设备。

如果您在此处阅读Apple文档,可能是个好主意:Apple Push Notification Service。这会让你更清楚地了解它是如何工作的。

+0

你有这样的例子吗?正如我想看看。 – Popeye 2012-02-16 09:05:31

2

对于登录程序,你甚至不需要推送通知。如果你需要一个总体介绍,你会发现一个here

2

下面我提到了2个链接。

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

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

现在来到你的问题,推送通知是从服务器推送。现在,对于特定的用户,服务器端应该维护数据库,使得对特定用户所做的任何更改都应该推送到该设备ID。

希望得到这个帮助。

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找到不同的代码。搜索周围,你会得到很多。