将 Twilio Video 和 Twilio Chat 合而为一

Integrating Twilio Video and Twilio Chat in one

我正在尝试将 Twilio IP-Messaging 集成到也使用 Twilio Conversations (Video) 的应用程序中。但是,根据更改日志,IP 消息系统 SDK 使用“common-android v 0.3”依赖项,而 Conversations SDK 使用“common-android v0.5”依赖项。

由于这个原因,我无法将它们都集成到一个应用程序中,它们中的任何一个都会受到影响,因为它们都使用不同的方法和不同版本的“common-android”。

我一直在参考:ip-demo-android 他们也使用 IP Messaging 的 v0.8.1,这是最新版本。

我也试过通过 gradle 排除 "common-android" 依赖项,但不幸的是,这不支持最新版本的对话 sdk。

compile ('com.twilio:ip-messaging-android:0.8.1+') {
    exclude group: 'com.twilio', module: 'common-android'
}

compile ('com.twilio:conversations-android:0.12.0'){
    exclude group: 'com.twilio', module: 'common-android'
}

并在 libs 文件夹中明确添加了 common-android v0.3.1 jar。

我认为这个问题不需要任何代码,但我在将以下代码片段转换为使用最新的通用 android 依赖项时遇到问题

ipMessagingClient = TwilioIPMessagingSDK.createClient(
                            accessManager, props, BasicIPMessagingClient.this);

createClient作为参数的accessManagerTwilioAccessManager的一个实例,而新版本的common-android有一个class AccessManagerTwilioAccessManager.

不兼容

我想知道是否有任何其他方法可以创建一个 ipMessagingClient 是否有一种方法可以使两个模块与不同版本的 common-android 一起工作而不会导致多重 dex 错误.

解决方法!

Twilio Developer Evangelist here.

We had a dependency conflict with com.twilio:ip-messaging-android:0.8.1, but have now fixed that and the fact that they use two different AccessManagers in 0.9.0. this should solve the problem you're encountering.