我创建了一个函数,用于创建一个ID等于我想要存储的令牌的新子节点。
代码为:
FIRDatabaseReference* memberReference = [[[FIRDatabase database] referenceWithPath:[NSString stringWithFormat:@"Users/%@/DeviceTokens", userID]] child:token];
问题在于,无论何时创建新令牌,它都会覆盖旧令牌,即使新令牌与其覆盖的令牌不同。
为什么要这样做?
编辑 - 上传功能本身
- (void)uploadDeviceTokenForUser:(NSString *)userID token:(NSString *)token {
FIRDatabaseReference *tokenReference = [[[FIRDatabase database] referenceWithPath:[NSString stringWithFormat:@"Users/%@/DeviceTokens", userID]] child:token];
[tokenReference setValue:@"0"];
}
从AppDelegate.m
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
NSLog(@"FCM registration token: %@", fcmToken);
[[ChatManager sharedManager] uploadDeviceTokenForUser:[PFUser currentUser].objectId token:fcmToken];
}