大家好,我正在使用http://quickblox.com/developers/Sample-webrtc-android工作正常
但我想知道有什么方法可以让用户在我的应用中以快速blox用户身份登录。
因为现在每次用户打开我的应用程序用户都必须首先登录,所以我想保持会话活着,如果它可能是android,
因为它更好地为性能而不是每次登录只是阻止登录并保持会话活着
提前致谢
我使用了以下代码
private void createSession(final String login, final String password) {
final QBUser user = new QBUser(login, password);
QBAuth.createSession(login, password, new QBEntityCallbackImpl<QBSession>() {
@Override
public void onSuccess(QBSession session, Bundle bundle) {
Log.d(TAG, "onSuccess create session with params");
user.setId(session.getUserId());
if (chatService.isLoggedIn()) {
initQBRTCClient();
} else {
chatService.login(user, new QBEntityCallbackImpl<QBUser>() {
@Override
public void onSuccess() {
Log.d(TAG, "onSuccess login to chat");
/*
* ListUsersActivity.this .runOnUiThread(new
* Runnable() {
*
* @Override public void run() {
* showProgress(false); } });
*
* startCallActivity(login);
*/
islogin = true;
initQBRTCClient();
}
@Override
public void onError(List errors) {
Toast.makeText(HomeAppActivity.this, "Error when login", Toast.LENGTH_SHORT).show();
for (Object error : errors) {
Log.d(TAG, error.toString());
}
}
});
}
}
@Override
public void onError(List<String> errors) {
Toast.makeText(HomeAppActivity.this, "Error when login, check test users login and password",
Toast.LENGTH_SHORT).show();
}
});
}
答案 0 :(得分:1)
如documentation中所述,会话令牌有效期为2小时。
记录完成后,您可以存储会话令牌&amp;应用程序存储中的某个到期时间 - 首选项,数据库等。可以通过BaseService.getBaseService().getToken().
检索令牌
当用户再次打开您的应用时,您可以使用存储的令牌BaseService.createFromExistentToken()
这是documentation。 另外,为了保持永久聊天连接,最好使用android service。