我有一个现有的ios应用程序是使用Parse PFLoginController为Facebook / Twitter登录创建的。我想为视频聊天添加一个新选项卡,并想知道是否有一种简单的方法可以从现有的PFUser中创建用于聊天的QBUser。
谢谢, EE
答案 0 :(得分:1)
直到现在我才听说过QB。它看起来很酷,所以我必须检查一下。也就是说,因为我从来没有搞过它,所以这都是理论上的。
我有几个应用程序,我使用Parse构建了一个通用的聊天实现,所以转换到真正的基于消息传递的平台是很好的。我会这样做,而不是让人们注册两个不同的帐户,如果你仍然需要Parse后端的数据持久性,那就是让你的Parse用户只是匿名。为Parse创建PFObject数据时,只需为QBUser的ID号创建一个字段。然后,如果您需要查找有关该匿名用户的信息,请设置您的PFQuery以搜索给定QBUser的ID字段。
我没有完全考虑过,但我可以看到它正在发挥作用。
答案 1 :(得分:1)
PFUser类引用https://www.parse.com/docs/ios/api/Classes/PFUser.html
QBUser类引用http://sdk.quickblox.com/ios/Classes/QBUUser.html
PFUser *pfUser = [PFUser currentUser];
QBUUser *user = [QBUUser user];
user.ID = pfUser.objectId;
user.login = pfUser.username;
user.email = pfUser.email;
user.password = pfUser.password;
如果您使用Facebook登录 - 它也很容易 - 您只需要Facebook访问令牌。 您可以通过Facebook访问令牌获取QBUser
[QBUsers logInWithSocialProvider:@"facebook" accessToken:@"AAAGmLYiu1lcBADxROiXg4okE80FQO1dJHglsbNT3amxmABnmBmhN6ACbgDqNC3H4Y9GmZAdoSfPUkI9O7ZBJvKQCewNZAp3SoxKCNIMwQZDZD3" accessTokenSecret:nil delegate:self];
- (void)completedWithResult:(Result *)result{
if(result.success && [result isKindOfClass:QBUUserLogInResult.class]){
QBUUserLogInResult *res = (QBUUserLogInResult *)result;
QBUUser *user = res.user;
// Login to chat to use VideoChat features
QBUUser *currentUser = [QBUUser user];
currentUser.ID = user.ID;
currentUser.password = [QBBaseModule sharedModule].token; //Facebook/Twitter authentication: use session token as password
// set Chat delegate
[QBChat instance].delegate = self;
// login to Chat
[[QBChat instance] loginWithUser:currentUser];
}
}