Iphone 将用户帐户链接到用于推送通知的设备令牌

Iphone 将用户帐户链接到用于推送通知的设备令牌,iphone,ios,push-notification,apple-push-notifications,Iphone,Ios,Push Notification,Apple Push Notifications,我有一个安装了API服务器的应用程序,每个用户在下载应用程序时都会通过电子邮件或facebook创建一个帐户。这些信息都存储在后端。我想启用推送通知,以便它们是特定于用户的。我知道在APNS服务器等的后端需要做什么。我的问题是将设备令牌与用户帐户链接,以便根据服务器的逻辑向正确的用户发送正确的信息 我知道我将此代码放置在应用程序IDFinishLaunching中: - (BOOL)application:(UIApplication *)application didFinishLaunchi

我有一个安装了API服务器的应用程序,每个用户在下载应用程序时都会通过电子邮件或facebook创建一个帐户。这些信息都存储在后端。我想启用推送通知,以便它们是特定于用户的。我知道在APNS服务器等的后端需要做什么。我的问题是将设备令牌与用户帐户链接,以便根据服务器的逻辑向正确的用户发送正确的信息

我知道我将此代码放置在
应用程序IDFinishLaunching
中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    // Let the device know we want to receive push notifications
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
        (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

    return YES;
}
然后我从这里获取设备ID:

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSLog(@"My token is: %@", deviceToken);
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
    NSLog(@"Failed to get token, error: %@", error);
}

我是否正确地认为,当用户登录时,我可以将设备令牌发送到服务器并将其与该用户关联?我可以在API调用中添加一个属性来处理这个问题,我只想确保它符合苹果公司的预期做法。然后,当用户注销时,我只需清除用户名中的设备令牌,这样,如果其他用户登录同一设备,我就不会有重复的令牌。

这正是您应该做的。在
didRegisterForRemoteNotificationsWithDeviceToken
中,您可以在本地存储设备令牌,然后,当用户登录时,您可以将带有用户标识符的设备令牌发送到服务器