簡體   English   中英

將用戶帳戶鏈接到設備令牌以進行推送通知

[英]Linking user account to device token for push notifications

我有一個使用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的預期做法。 然后,當用戶注銷時,我只是從其用戶名中清除設備令牌,這樣,如果另一個用戶登錄同一設備,則不會有重復的令牌。

那正是你應該做的。 didRegisterForRemoteNotificationsWithDeviceToken您可以在本地存儲設備令牌,然后,當用戶登錄時,可以將帶有用戶標識符的設備令牌發送到服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM