tencent cloud

文档反馈

终端 SDK 相关问题

最后更新时间:2024-03-20 14:48:06

    TUIKit 源码是否支持 Androidx?

    TUIKit 最新源码已经支持 Androidx。

    登录报错 6012 或 TLSSDK exchange ticket fail ?

    初始化接口和登录接口要分开调用,不能连续调用(因为初始化方法中有异步操作);
    如果您当前是即时通信 IM 体验版,需要升级为专业版,升级后可正常登录,您可以在您的控制台上为您的SDKAppID进行配置。详细价格说明请参阅 产品价格

    出现 6013 SDK 未初始化错误?

    如果出现 6013 SDK 未初始化错误,您可以尝试以下方式排查:
    1. 查看是否没有登录成功就进行收发消息等其他操作;
    2. 查看是否登录时被其它终端踢掉,IM SDK 默认一个账号仅能在一个终端上登录。处理方式请参考 多终端同时登录 文档;
    3. Android 请关注库文件是否未能全部加载,或是使用过程中被系统回收。

    code: 6205 desc: QALSERVICE not ready?

    在初始化后调用了 stopQALService 导致此错误,可以参考客户分享的 配置方法

    发送表情,消息列表显示为空、或者乱码?

    即时通信 IM 不提供表情包,具体的解析需要自己对齐。 表情使用方式有两种方式:
    一种是使用 TIMFaceElem 中的 index,标识表情的索引,例如 Android 和 iOS 两端都有同一套表情图,索引2为笑脸,index=2 就表示笑脸,两端发送和接收都显示同一张索引表情图片即可。
    另一种是使用 TIMFaceElem 中的 data,例如表情图片是由字符串命名,smile 表示笑脸,可在 data 中存储 smile,iOS 和 Android 两端都通过 data 作为 key 找到对应表情图片进行显示。
    另外也可以两个字段都使用,如 data 表示哪一套表情,index 表示这套表情的哪个索引,可以实现类似 QQ 的多种不同表情效果。甚至可以在 data 数据中存储更为复杂的数据结构,只要多端解析规则一致即可。

    有时进行操作时返回错误码:10002?

    在需要进行服务端验证的操作时,如果网络异常、超时或者票据切换失败,就会返回此状态码,遇到此状态码时稍后重试即可。

    收发消息时,收到错误码 6200 或 6201?

    返回此状态码时,是客户端在网络离线、超时或无网络访问时出现,6200 的定义为请求时没有网络,6201 的定义为响应时没有网络,遇到此状态码时,请检查网络或等待网络恢复后重试。

    收发消息时返回错误码:20003?

    请检查用户账号(UserID)是否已在腾讯云导入,当 UserID 无效或 UserID 未导入腾讯即时通信 IM 时,会返回此错误码。

    语音消息播放语音时返回错误码:6010?

    通常情况是语音消息超过了漫游保存有效期,请求失败导致,可 延长漫游消息时间 或获取语音文件到本地播放(已过期的文件无法恢复)。但不同版本的 SDK 支持延长历史消息存储时长的消息类型不同,详情请参见 消息存储

    账号鉴权时返回错误码 70001 或 70003 或 70009 或 70013?

    这些状态码对应的原因是 UserID 与 UserSig 不匹配,请检查 UserID 及 UserSig 的有效性。其中,70001 定义为 UserSig 已过期,70003 定义为 UserSig 被截断导致校验失败,70009 定义为 UserSig 验证失败(可能是因为生成 UserSig 时混用了其他 SDKAppID 的密钥或私钥导致),70013 定义为 UserID 不匹配。

    Web 端使用 IM SDK 时返回错误码-2或-5?

    -2:Web 端请求服务器失败,通常为网络问题,Web 端使用 HTTP Long Polling 方式向服务端请求,网络存在问题时会返回此状态码,请检查网络或重试。
    -5:登录操作未完成,SDK 未获取到服务器返回的 a2key 和 tinyID 时,直接调用其它接口会出现“tinyid或a2为空”的错误提示信息和-5的错误码。

    在 armeabi 平台上 SDK 报"java.lang.UnsatisfiedLinkError: No implementation found for"错误该如何处理?

    拷贝 imsdk 的 aar 里面的 jni/armeabi-v7a/libImSDK.so 到源码工程的 src/main/jniLibs/armeabi 目录里,并在 build.gradle 中加载即可。

    上架 App Store 时,出现 x86_64, i386 架构错误该如何解决?

    该问题是由于 App Store 不支持 x86_64, i386 架构引起的,具体解决方法如下:
    1. 清空项目编译缓存: 选择Product>clean,按住Alt变成 clean build Folder...,等待操作完成。
    2. 剔除 App Store 不支持的 x86_64 和 i386 架构: a. 选择TARGETS>Build Phases。 b. 单击加号,选择New Run Script Phase。 c. 添加如下代码:
    APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
    
    # This script loops through the frameworks embedded in the application and
    
    # removes unused architectures.
    
    find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
    do
    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
    echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
    
    EXTRACTED_ARCHS=()
    
    for ARCH in $ARCHS
    do
    echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
    lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
    EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done
    
    echo "Merging extracted architectures: ${ARCHS}"
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"
    
    echo "Replacing original executable with thinned version"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
    
    done
    
    
    
    3. 重新打包上传。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持