【问题标题】:Linking user account to device token for push notifications将用户帐户链接到设备令牌以进行推送通知
【发布时间】:2013-05-03 18:54:46
【问题描述】:

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

我知道我把这段代码放在applicationDidFinishLaunching:

- (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 调用中添加一个属性来处理它,我只是想确保它符合 Apple 的预期做法。然后,当用户注销时,我只需从他们的用户名中清除设备令牌,这样如果另一个用户在同一设备上登录,我就不会有重复的令牌。

【问题讨论】:

    标签: iphone ios push-notification apple-push-notifications


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      相关资源
      最近更新 更多