来自PFUser的QBUser

时间:2014-03-03 19:44:23

标签: ios parse-platform quickblox

我有一个现有的ios应用程序是使用Parse PFLoginController为Facebook / Twitter登录创建的。我想为视频聊天添加一个新选项卡,并想知道是否有一种简单的方法可以从现有的PFUser中创建用于聊天的QBUser。

谢谢, EE

2 个答案:

答案 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];
     }
 }