开发者社区 问答 正文

AUI这个问题是啥?

AUI这个问题是啥?76b989702d58d30a721d95bc497fcfaa.png

展开
收起
三分钟热度的鱼 2024-04-03 19:53:36 83 分享 版权
来自: 阿里云CDN
阿里云 AI 助理回答

AUI(Alibaba User Interface)是阿里云音视频终端 SDK 提供的一套低代码工具,旨在帮助开发者快速构建互动直播场景中的用户界面和功能模块。以下是关于 AUI 的详细解答,涵盖常见问题、组件自定义、集成配置以及技术支持等方面的内容。


1. AUI Kits 常见问题

在使用 AUI Kits 时,可能会遇到以下常见问题:

1.1 工程编译问题

  • 最小兼容版本:AUI 工程支持的最低 Android 版本为 5.0(API Level 21)。
  • 混淆配置
    • build.gradle 文件中开启混淆,将 minifyEnabled 设置为 true
    • proguard-rules.pro 文件中添加特定的保持类配置,例如:
    -keep class com.alivc.** { *; }
    -keep class com.aliyun.** { *; }
    

  • C++ 文件错误
    • 确保 local.properties 文件正确配置了 NDK 路径。
    • 更新 Gradle 插件至 4.0.2 或更高版本。

1.2 美颜集成问题

  • 接入无反应:确保已成功申请《美颜特效》License,并按照文档完成相关配置。
  • 部分模块不可用:检查开通的美颜版本是否足够高(如旗舰版)。
  • 工程包过大:通过设置在线下载资源来减少包体大小。

2. AUI 组件自定义

AUI 提供了灵活的组件化设计,允许开发者根据需求自定义组件。

2.1 演示类组件

  • 点赞、关注、分享等按钮仅作视觉展示,AUI 不提供相关功能实现。如果需要这些功能,需对接自有业务系统。

2.2 自定义组件

  • 设计原则:组件设计遵循高内聚低耦合原则,视图逻辑在一个独立类范围内自闭环。
  • 实现步骤

    1. 新建组件:创建一个继承自 AppCompatTextView 或其他基础视图的类,并实现 ComponentHolder 接口。例如:

      public class CustomMessageView extends AppCompatTextView implements ComponentHolder {
       private final Component component = new Component();
      
       public CustomMessageView(Context context, @Nullable AttributeSet attrs) {
           super(context, attrs);
           setTextColor(Color.RED);
           setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
       }
      
       @Override
       public IComponent getComponent() {
           return component;
       }
      
       private class Component extends BaseComponent {
           @Override
           public void onInit(LiveContext liveContext) {
               super.onInit(liveContext);
               getMessageService().addMessageListener(new SimpleOnMessageListener() {
                   @Override
                   public void onCommentReceived(Message<CommentModel> message) {
                       setText(String.format("%s: %s", message.senderInfo.userNick, message.data.content));
                   }
               });
           }
       }
      }
      

    2. 组件配置:在 XML 文件中通过 setContentView 配置组件的位置和属性。
    3. 运行效果:安装应用后,自定义组件会显示在指定位置并响应事件。

3. Demo 运行正常但实际工程问题

在实际工程中,可能会遇到以下问题:

3.1 评论键盘无法输入

  • 原因:可能是 AndroidManifest.xmlbuild.gradle 文件配置不正确。
  • 解决方法
    • 检查文件配置是否与推荐配置一致。
    • 删除 android:hardwareAccelerated=false 设置。

3.2 设备标识访问权限错误

  • 错误信息The user does not meet the requirements to access device identifiers
  • 解决方法
    • 对于 SDK Version 28 及以上版本,增加设备标识获取方式的判断:
    private String deviceCode;
    if (Build.VERSION.SDK_INT > 28) {
        deviceCode = Settings.System.getString(
            this.getContentResolver(), Settings.Secure.ANDROID_ID);
    } else {
        deviceCode = DeviceUtils.getDeviceId(getContext());
    }
    


4. 微信小程序集成问题

  • 小窗口悬浮:AUI Kits 不支持小窗口悬浮功能,需要开发者自行实现。

5. 技术支持与问题排查

如果遇到无法解决的问题,可以通过以下方式获取技术支持:

5.1 提交工单

  • 问题描述:请提供以下信息以提升技术支持效率:
    • 业务场景(如基础直播、直播连麦等)。
    • SDK 类型及版本。
    • 问题阶段(如接入问题、线上问题等)。
    • 问题类型及特征。
    • 重现步骤(如必现/偶现)。
    • 分布情况(如平台分布、系统版本分布等)。
  • 备注
    • 如果使用 AUI Kits 解决方案,请注明。
    • License 问题请备注应用包名和 License Key。
    • 建议使用最新 SDK 版本。

5.2 日志抓取

  • Android:日志文件一般位于 /sdcard/Android/data/${app_id}/files/
  • iOS:日志文件位于沙盒文件中。
  • 注意事项
    • 确保已通过 AlivcLiveBase 中的日志接口设置好文件日志记录功能。
    • 建议在关闭直播后再抓取日志。

5.3 加入支持群

  • 更多 AUI Kits 问题咨询及使用说明,请搜索钉钉群 35685013712 加入 AUI 客户支持群联系我们。

总结

AUI 是一套强大的低代码工具,能够帮助开发者快速构建互动直播场景。通过合理配置工程环境、自定义组件以及正确处理常见问题,可以显著提升开发效率。如果遇到复杂问题,建议参考官方文档或联系技术支持团队获取帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
CDN
问答地址: