我正在尝试初始化quickblox android框架
documentation说It'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。
但是当我做的时候
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.
这对我来说有点矛盾
我生成了令牌服务器端,它没有过期
谁能指出我正确的方向?
是否可以在没有存储在应用程序中的AUTH_SECRET和AUTH_KEY的情况下在quickblox中登录用户?
答案 0 :(得分: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本身。
答案 1 :(得分:0)
我在这里发布了基于QB支持团队对我的机票的回复的解决方案。
初始化QB
QBSettings.getInstance().init(getContext(), APP_ID, "", "")
然后我可以使用我现有的令牌初始化SDK,它的到期日期为:
BaseService tokenService = QBAuth.createFromExistentToken(TOKEN, date);