2016-07-04 6 views
0

Я пытаюсь инициализировать фреймворк для Android.
documentationIt's also possible to initialize the SDK with an existent QuickBlox token. It can be interesting in cases when you build a big system and you have a custom server side which generates QuickBlox tokens. Это то, что я хочу сделать, потому что по соображениям безопасности я не хочу сохранять AUTH_SECRET и AUTH_KEY в своем коде приложения.
Но когда я делатьQuickblox Инициализировать фреймворк из-за сбоя токена

BaseService.createFromExistentToken(token, expirationDate); 

я получить java.lang.RuntimeException: applicationId is null. You must call QBSettings.getInstance().init(Context, String, String, String) before using the QuickBlox library.
Это выглядеть немного противоречивое мне.
Я сгенерировал токен на стороне сервера, и он не истек
Может ли кто-нибудь указать мне в правильном направлении?
Возможно ли зарегистрировать пользователя в quickblox без AUTH_SECRET и AUTH_KEY, хранящихся в приложении?

ответ

0

Я размещаю здесь решение, основанное на ответе команды поддержки QB на мой билет.

Для инициализации QB

QBSettings.getInstance().init(getContext(), APP_ID, "", "") 

Тогда я могу инициализировать SDKs используя мой существующий маркер, и это дата истечения срока действия:

BaseService tokenService = QBAuth.createFromExistentToken(TOKEN, date); 
0

Основываясь на документах, вы должны сначала инициализировать QuickBlox перед его использованием.

http://quickblox.com/developers/Android#Initialize_framework

static final String APP_ID = "961"; 
static final String AUTH_KEY = "PBZxXW3WgGZtFZv"; 
static final String AUTH_SECRET = "vvHjRbVFF6mmeyJ"; 
static final String ACCOUNT_KEY = "961"; 
// 
QBSettings.getInstance().init(getApplicationContext(), APP_ID, AUTH_KEY, AUTH_SECRET); 
QBSettings.getInstance().setAccountKey(ACCOUNT_KEY); 

Что вы там делали только создание сеанса приложения, но не инициализирует сам quickblox.