我正在创建一个基于聊天的Application on QuickBloxFramework,我希望在App中有一个块功能.我读了一些像XMPP和QuickBlox.但没有得到任何帮助.
有一些逻辑维持QBPrivacyList不允许其他用户发送消息并阻止它但我没有成功.
这是我如何维护隐私列表的代码片段.
@"public"在聊天方法登录时使用姓名获取隐私列表
[[QBChat instance] retrievePrivacyListWithName:@"public"];
因此,如果已经创建了隐私列表,"public"则会在委托方法中获取它
  - (void)chatDidReceivePrivacyList:(QBPrivacyList *)privacyList{
         NSLog(@"chatDidReceivePrivacyList: %@", privacyList);
         _blockPrivacyList = privacyList; // Save its instance for further add more users in list
    }
//响应是
[PrivacyList name: public]items:("type: USER_ID valueForType: 2075213 action: deny") 
这是如何在隐私列表中添加其他成员
- (void)blockUserWithQBId:(NSUInteger)qbID
{
        QBPrivacyItem *item = [[QBPrivacyItem alloc] initWithType:USER_ID valueForType:qbID action:DENY];
        if (_blockPrivacyList) {
              [_blockPrivacyList addObject:item]; // add new user if already privacy list is there
         }else
        _blockPrivacyList = [[QBPrivacyList …我想访问QuickBlox中的API,但在此之前我们需要验证我们的应用程序并获取会话令牌,并使用会话令牌我们可以访问其他API.但问题是,当我使用QuickBlox网站上给出的所需规范发送身份验证请求时,我收到错误消息:
{"errors":{"base":["意外签名"]}}
生成签名的参数是:
application_id=22&auth_key=wJHd4cQSxpQGWx5&nonce=33432×tamp=1326966962
然后我们以HMAC-SHA格式转换它:
hash_hmac( 'sha1', $signatureStr , $authSecret);
请帮我解决这个问题.
我正在尝试开始使用Quickblox,因为它为后端提供了很好的工具.我已经在网站上注册了我的应用程序的凭据,但是我无法启动简单程序来测试连接:
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    QBSettings.getInstance().fastConfigInit("3504", "NMuekBBXBg6PgST", "HaOj5bY4LgxUpPH");
    QBAuth.createSession(new QBCallbackImpl() {
        @Override
        public void onComplete(Result result) {
            // result comes here
            // check if result success
            if (result.isSuccess()) {
                Toast.makeText(getApplicationContext(), "success!!", Toast.LENGTH_LONG).show();
            }else{
                Toast.makeText(getApplicationContext(), "fail :( " + result.getErrors(), Toast.LENGTH_LONG).show();
            }
        }
    }); 
} 
它可以在Android 4.2.2(API级别17)的AVD上运行,但是在我的Galaxy s2 4.1.2(API级别16)上失败,getErrors()返回"[base Bad timestamp]".我不知道我可能做错了什么,所以任何帮助都会受到影响.拜托,不要让我切换到Parse :)
我正在我的ios应用程序中集成Quickblox进行聊天.每当出现聊天通知时,应用程序面临的问题就是不会增加背景中的徽章数量每次徽章计数显示1.
为了发送聊天,我使用下面的代码
    NSMutableDictionary *payload = [NSMutableDictionary dictionary];
    NSMutableDictionary *aps = [NSMutableDictionary dictionary];
    [aps setObject:@"default" forKey:QBMPushMessageSoundKey];
    [aps setObject:@"1" forKey:QBMPushMessageBadgeKey];
    [aps setObject:@"helo second chat" forKey:QBMPushMessageAlertKey];
    [payload setObject:aps forKey:QBMPushMessageApsKey];
    QBMPushMessage *pushMessage = [[QBMPushMessage alloc] initWithPayload:payload];
    [QBMessages TSendPush:pushMessage toUsers:@"112345" delegate:self];
我得到了quickblox会话休息的令牌.
现在我想在quickblox上注册我的用户,但是接下来作为对cURL的回复: {"code":null,"message":"没有提供数据"}
我写了以下代码:
<pre><code>
$token = '66575f5085173718a73d74781223d0bc14e3abb1';
$post_body = http_build_query(array(
                    'login' => 'test1436547745678568768',
                    'password' => 'test1',
                    'email' => 'test1@test1.com',
                    'external_user_id' => '68764641',
                    'facebook_id' => '',
                    'twitter_id' => '',
                    'full_name' => 'test1 test1',
                    'phone' => '',
                    'website' => '',
                    'tag_list' => '',
                    ));
$signUpCurl = curl_init();
curl_setopt($signUpCurl, CURLOPT_URL, self::QB_API_ENDPOINT . '/' . self::QB_PATH_USER);
curl_setopt($signUpCurl, CURLOPT_HTTPHEADER, array("QB-Token: ".$token));
curl_setopt($signUpCurl, CURLOPT_POST, true);
curl_setopt($signUpCurl, CURLOPT_POSTFIELDS, $post_body);
curl_setopt($signUpCurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($signUpCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
$responce = curl_exec($signUpCurl);
// Check errors
if ($responce) { …当我在 jniLibs 中添加所有架构的本机库(即 libjingle_peerconnection_so.so )时,我的应用程序崩溃了。
以下是导致应用程序重新启动崩溃的堆栈跟踪提取。
W/System.err(11538): java.lang.ClassNotFoundException: Didn't find class "org.webrtc.DataChannel$Buffer" on path: DexPathList[[zip file "/data/app/com.sample.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.sample.app-2/lib/x86, /vendor/lib, /system/lib]]
谁能告诉我我在这里做错了什么?
API 提供了删除对话框的选项。是否可以在不删除对话框的情况下清理对话框(删除所有消息)?
我正在使用QuickBlox SDK加载聊天记录.像这样:
Bundle bundle = new Bundle();
QBRequestGetBuilder customObjectRequestBuilder = new QBRequestGetBuilder();
customObjectRequestBuilder.setPagesLimit(ConstsCore.CHATS_DIALOGS_PER_PAGE);
try
{
    List<QBDialog> chatDialogsList = QBChatService.getChatDialogs(null, customObjectRequestBuilder,bundle);
} catch (QBResponseException e)
{
    e.printStackTrace();
}
在这一步,我得到这个例外:
基地禁止.需要用户.
我正在按照 quick blox 给出的说明进行操作,如下所示:https : //quickblox.com/developers/Sample-webrtc-android
dependencies 
{
compile 'com.quickblox:quickblox-android-sdk-videochat-webrtc:3.3.0'
}
最初我的 apk 大小是 9MB,但是当我在我的应用程序中集成 quickblox 视频聊天时,由于以下不同 .so 文件的平台,apk 大小增加到 45 MB:
>arm64-v8a
>armeabi-v7a
>x86
>x86_64  
libraries - libjingle_peerconnection_so.so
有什么方法或建议可以减少 apk 的大小吗?
我已将Quickblox iOS(Objc)库集成到我的聊天模块应用程序中.
作为QBRequest TUploadFile方法下的附件的图像是可能的.但我找不到任何有效的解决方案来制作同一请求下的视频附件.
我已经通过阅读Quickblog中的文件证实了这一点 - 在Quickblox聊天SDK下可以使用视频附件.
有没有人有任何工作解决方案来制作视频文件附件?
下面的代码是为了在QBRequest TUploadFile下上传视频而编写的.
提前致谢!
- (void)uploadAndSendAttachmentMessage:(QBChatMessage*)message toDialog:(QBChatDialog*)dialog withChatService:(QMChatService*)chatService withAttachedVideo:(NSData*)videoData completion:(QBChatCompletionBlock)completion {
    [self changeMessageAttachmentStatus:QMMessageAttachmentStatusLoading forMessage:message];
    [QBRequest TUploadFile:videoData fileName:@"attachment video" contentType:@"video/mp4" isPublic:YES successBlock:^(QBResponse* response, QBCBlob* blob) {
        QBChatAttachment* attachment = [QBChatAttachment new];
        attachment.type = @"video";
        attachment.ID = blob.UID;
        attachment.url = [blob publicUrl];
        message.attachments = @[attachment];
        message.text = @"Attachment video";
        [self saveData:videoData chatAttachment:attachment error:nil];
        [self.attachmentsStorage setObject:videoData forKey:attachment.ID];
        [self changeMessageAttachmentStatus:QMMessageAttachmentStatusLoaded forMessage:message];
        [chatService sendMessage:message type:QMMessageTypeText toDialog:dialog saveToHistory:YES saveToStorage:YES completion:completion];
    } …