移动开发平台里的功能可以独立使用吗?
可以,网关服务、消息推送服务、安全组件、统计分析服务、监控服务、传播组件、AI 组件等功能都可以独立应用到移动服务中。
移动开发平台是否支持私有化部署?
如果使用移动开发平台开发 App,App 的界面是否可以使用该框架?
移动开发平台主要提供客户端开发通用套件,包括网络通讯、App 更新、数据分析和监控等。针对 App 界面,我们提供了通用的 UI 组件库支持快速开发,可以使用这些组件提高开发效率。
移动开发平台是否支持灰度发布?
支持。移动开发平台支持一键全量发布、灰度发布等多种发布形式,同时提供热更新、H5 离线包等能力,有效提高 App 发布效率和发布质量。
网关服务支持限流吗?
支持。目前网关服务支持基于模块或单个接口按并发、按频率、按时间窗进行访问控制。
移动开发平台支持哪几种数据埋点方式?
移动开发平台支持全埋点、自定义埋点和可视化埋点等多种埋点方式。
移动开发平台支持第三方厂商通道推送吗?
支持。目前华为、小米、VIVO、苹果等第三方厂商通道推送配置。
移动开发平台支持哪些移动终端异常监控?
移动开发平台支持移动端崩溃 crash、卡顿和终端异常监控。
数据分析支持哪些指标?
支持移动终端分析和用户行为分析,包括启动速度、设备分布、版本分布、hot 页面、事件分析、漏斗分析、热力分析、路径分析、留存分析等。
Android应用接入常见问题
常见编译问题
allowBackup 冲突
TMF 或者三方 SDK 组件在声明 allowBackup 属性时出现了不一致的情况,编译阶段会报 Manifest merger failed。如下图所示:
解决方法:
在您 App 的 AndroidManifest.xml application 标签中设置您自己的 allowBackup 值,并使用 tools:replace 覆盖 TMF 的冲突值。
X5 私有化版与 Lisence 版本冲突
如果您同时引入 X5 的私有化版和 Lisence 版本,编译阶段会出现重复类冲突,请只保留其中一个即可。
错误示例:
解决方法:
在您的依赖配置中只保留私有化版、Lisence 版其中之一私有化版本依赖项
implementation 'com.tencent.tmf.android:tbscore:xxx'implementation 'com.tencent.tmf.android:x5docpreview:xxx'
Lisence 版本依赖项
implementation 'com.tencent.tmf.androidlic:tbscore:xxx'implementation 'com.tencent.tmf.androidlic:x5docpreview:xxx'
libc++_shared.so 冲突问题
TMF 内部组件使用了 libc++_shared.so,可能会与其他三方库造成冲突。
错误示例:
解决方法:
在 app/build.gradle 中增加如下配置:android{...packagingOptions {pickFirst 'lib/arm64-v8a/libc++_shared.so'pickFirst 'lib/armeabi/libc++_shared.so'pickFirst 'lib/armeabi-v7a/libc++_shared.so'}...}
Java 版本兼容问题
TMF 组件使用到了部分 Java8 的语言特性和 API,因此需要在您模块的
build.gradle
设置 compileOptions,否则可能会遇到编译与运行时问题。android {...// Configure only for each module that uses Java 8// language features (either in its source code or// through dependencies).compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}// For Kotlin projectskotlinOptions {jvmTarget = "1.8"}}
此外,如果您的 compileSdkVersion 在30以上时,需要将 Android Studio 的 Gradle Jdk 配置设置为 Java 11。
iOS 应用接入常见问题
集成工作需要库的账号密码,账号密码可以提供吗?
使用 IDE 插件创建工程或者下载 demo,会自动向钥匙串写入账号密码,然后就可以 pod 拉取了。说明:
IDE 插件不登录也可以正常使用。
频繁出现登录状态失效是为什么?
目前 TMF 控制台并没有多点登录,所以网页端登录和插件登录会导致挤掉另一边的登录状态。
插件出现报错如下图,是为什么?
这是 cocoapods 版本问题引起的错误,您可以重新安装1.11以下版本的 cocoapods,或者查看 stackvoerflow.com 上的解决方式进行操作,最简单直接的解决办法是直接用终端 cd 到工程目录,手动执行 pod install 即可。