在开始集成 ZegoRealtimeTranslation SDK 前,请确保开发环境满足以下要求:
打开 Android Studio,选择菜单 “File > New > New Project”。
选一个 Empty Activity 项目。
填写项目的存储路径和项目名称,“Minimum SDK” 选择 “API 26”。
单击 “finish”,完成。
请 下载 最新版本的 SDK,下载完成后进行解压。
打开已解压文件夹,将 zegoarealtimetranslation.aar
文件,拷贝到项目的 “libs” 目录下。
添加 SDK 引用,进入到 “app” 目录,打开 “build.gradle” 文件,添加以下依赖项。
plugins {
id 'com.android.application'
id 'kotlin-android'
}
android {
...
// 使用google库需加上配置
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/INDEX.LIST'
exclude 'META-INF/DEPENDENCIES'
}
...
}
...
dependencies {
...
implementation fileTree(dir:'libs', include: ['*.jar', '*.aar'])
...
// google library
implementation platform('com.google.cloud:libraries-bom:26.1.1')
implementation 'com.google.cloud:google-cloud-speech:2.5.4'
implementation 'com.google.cloud:google-cloud-translate:2.3.4'
implementation 'com.google.auth:google-auth-library-oauth2-http:1.0.0'
implementation "io.grpc:grpc-okhttp:1.33.0"
...
implementation "com.squareup.okhttp3:okhttp:4.10.0"
implementation "com.google.code.gson:gson:2.8.8"
...
}
谷歌的服务要求用到 Android 的 API 26 的功能,如果不使用谷歌的服务,可以注释掉 google library 的依赖,同时最低支持 Android 系统可以到 API 21。
以上操作可以减小最终 APK 包的大小,可以根据实际使用服务商来做出选择。
根据实际应用需要,设置应用所需权限。
进入 “app/src/main” 目录,打开 “AndroidManifest.xml” 文件,添加权限。
<!-- SDK 必须使用的权限 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- App 需要使用的部分权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
具体的权限说明如下:
必要性 |
权限 |
权限说明 |
申请原因 |
必要权限 |
INTERNET |
访问网络权限。 |
SDK 基本功能都需要在联网的情况下才可以使用。 |
ACCESS_WIFI_STATE |
获取当前 Wi-Fi 状态权限。 |
SDK 会根据网络状态的改变执行不同的操作。例如,当网络重连时,SDK 内部会将网络断开时的状态都恢复,用户不需做额外的操作。 |
|
ACCESS_NETWORK_STATE |
获取当前网络状态权限。 |
||
非必要权限 |
READ_PHONE_STATE |
允许以只读方式访问电话状态,包括当前的呼叫状态。 |
SDK 会根据当前的呼叫状态,启停音频设备。如监听到当前为呼叫状态,则 SDK 会自动停止使用音频设备,直到通话结束。 |
其中非必要权限 “android.permission.READ_PHONE_STATE” 仅用于实现 SDK 的打断事件处理,因此只需在 AndroidMainfest.xml 文件中进行声明即可,不需要动态申请(业务方有需求则另外处理)。
ZegoRealtimeTranslation SDK 内部已经做了混淆处理,外部应用无需再针对集成 ZegoRealtimeTranslation SDK 增加混淆规则。
联系我们
文档反馈