我正在使用QuickBlox库进行视频聊天.我如何管理会话?因为当我从实时聊天活动转到下一个活动时,我刚刚丢失了会话,因为它说“无法初始化聊天”,所以我必须再次创建会话才能进行呼叫.那么quickblox会话的寿命是多长,我该如何管理.
当停止呼叫或移至下一个活动并尝试回想时,我也遇到了问题,但实际上我无法做到这一点,因此我尝试了不同的事情,因此每次遇到不同的错误时,我都会想起来.因此,如果有任何使用QuickBlox库的经验,请在这里寻求帮助.
当我停止通话时,我会调用此功能.
private voID stopCall() { //Toggle vIEw show the smile vIEw again //ToggleSmileVIEw(); try { cancelCallTimer(); if (vIDeoChat != null) { vIDeoChat.stopCall(); vIDeoChat = null; } if (vIDeoChannel != null) { vIDeoChannel.close(); vIDeoChannel = null; } sessionID = null; } catch(Exception ex) { ex.printstacktrace(); } }
当我打电话时,我会调用此功能
private voID call() { //toggle vIEw //ToggleSmileVIEw(); // get opponent // VIDeoChatApplication app = (VIDeoChatApplication)getApplication(); opponent = new QBUser(); opponent.setID((app.getCurrentUser().getID() == VIDeoChatApplication.FirsT_USER_ID ? VIDeoChatApplication.SECOND_USER_ID : VIDeoChatApplication.FirsT_USER_ID)); // call // callTimer = new Timer(); callTimer.schedule(new CancelCallTimerTask(), 30 * 1000); createSenderChannel(); initVIDeoChat(); if (vIDeoChat != null) { vIDeoChat.call(opponent, getCallType(), 3000); //toggleMicrophoneMute(); } else { logAndToast("Stop current chat before call"); }}
解决方法:
对于:quickblox会话的生命周期以及如何管理.
To authenticate your application you have to set valID a auth_key and
generate a signature using your application auth_secret and receive a
session token which you should use to send requests to QuickBlox API
和,
Expiration time for token is 2 hours. Please, be aware about it. If
you will perform query with expired token – you will receive error
required session does not exist.
来源:Authentication and Authorization Session Info
该部分适合创建会话的AndroID示例代码,
QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() { @OverrIDe public voID onSuccess(QBSession session, Bundle params) { Log.i(TAG, "session created, token = " + session.getToken()); } @OverrIDe public voID one rror(List<String> errors) { }});
资料来源:Android developers documentation
我曾经使用过AndroID SDK,并且觉得它仍然需要一些工作,尤其是要达到与iOS SDK和REST API相当的阶段.
通过查看代码,您应该在创建新的QBUser和相关的视频聊天调用之前使用getToken(),如果令牌已过期,则只需创建一个新令牌即可.
我已经实现了类似的代码,而不是视频聊天应用程序,但是以通用的方式,如果需要重新创建会话,请在会话创建的onSuccess()中编写函数.
Fyi,对于多个错误,您可以尝试使用给出的摘要检查错误,分类为4; ..developers/Errors
总结以上是内存溢出为你收集整理的的Quickblox管理会话和召回?全部内容,希望文章能够帮你解决的Quickblox管理会话和召回?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)