Поддерживать пользовательский сеанс quickblox в Android

Привет всем, я работаю с http://quickblox.com/developers/Sample-webrtc-android нормально работает

Но я хочу знать, есть ли способ, чтобы пользователь вошел в систему как пользователь быстрого блока в моем приложении.

Потому что сейчас каждый раз, когда пользователь открывает мое приложение, пользователь должен сначала войти в систему, поэтому я хочу сохранить сеанс, если это возможно для 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();
        }
    });
}

person Kishan Soni    schedule 11.02.2016    source источник


Ответы (1)


Как описано в документации, токен сеанса действителен в течение 2 часов.

После того, как вы вошли в систему, вы можете сохранить токен сеанса и время истечения срока действия где-то в хранилище приложения — предпочтения, база данных и т. д. Токен можно получить с помощью BaseService.getBaseService().getToken(). Когда пользователь снова откроет ваше приложение, вы можете установить сеанс, используя сохраненный токен BaseService.createFromExistentToken()

Вот документация. Также, чтобы поддерживать постоянное соединение с чатом, лучше использовать службу Android.

person Darya    schedule 11.02.2016
comment
не могли бы вы объяснить больше - person Kishan Soni; 11.02.2016
comment
Эй, Кишан Сони, ты нашел какое-нибудь решение? - person Nikhil; 28.09.2018