Android 常见问题收藏我的收藏
接入新版 SDK 0.1.1.0 之后,一些 API 为什么飘红了,甚至一些类或 API 找不到了?
此次 SDK 更改对部分 API 命名做了规范,删除了不需要对外暴露的 API,不仅如此,包结构以及主要类名都发生了改变。开发者只需根据Android 接入重新引入类或修改为正确类名即可。
从 SDK 0.0.1.X 升级到 SDK 0.1.1.0 及以上版本有哪些主要改动?
类库引入方式
dependencies { implementation 'com.bytedance.ies.ugc.aweme:opensdk-china-external:0.1.9.0' implementation 'com.bytedance.ies.ugc.aweme:opensdk-common:0.1.9.0' }
新版 SDK 需要引入两个 AAR,这是与旧版 SDK 最大的不同。
主要类名修改
原名 | 现在名称 |
---|---|
TiktokOpenApi | DouYinOpenApi |
TikTokConstants | CommonConstants |
TikTokOpenConfig | DouYinOpenConfig |
TikTokOpenApiFactory | DouYinOpenApiFactory |
TikTokApiEventHandler | IApiEventHandler |
授权包名变动的类
- DouYinOpenApiFactory
- DouYinOpenApi
- DouYinOpenConfig
这几个类引入的时候,只需修改为正确的包名即可。
.douyinapi.DouYinEntryActivity
默认回调类的更改为默认回调 Activity .tiktokapi.TikTokEntryActivity
更改为 .douyinapi.DouYinEntryActivity
,自定义回调 Activity 可忽略本条。
将 TikTokOpenApiFactory 类更改为 DouYinOpenApiFactory
DouYinOpenApiFactory.create() 方法创建 DouYinOpenApi,此方法不再提供 targetApp 的传参,使用该方法仅仅只能调起抖音授权和分享,若要使用 TikTok 的分享,请仔细阅读 TikTok for developers。
内嵌到其他 app 的 SDK 接入时,为什么在包名下创建 douyinapi.DouYinEntryActivity 不会被调起?
请求授权时,request.callerLocalEntry
设置接收回调类的全路径名。
为什么接入授权 SDK 后,网页授权界面空白?
抖音的授权页面使用 HTTPS,你需要配置你的网络接受 HTTPS 的证书。可以像 demo manifest 文件中,通过 android:networkSecurityConfig
设置。
我在自己的 demoApp 内填写了申请的 ClientKey,为何还是返回无权限?
检查包名是否是申请时填的包名,鉴权需要包名 + ClientKey 唯一识别一个 app。
为什么发布成功后点击返回第三方还是留在了抖音?
检查下自己的回调类收到 response 后是不是调用了 finish()
。因为抖音回调这个类是通过 singleInstance 的,finish 后系统会自动拉起抖音的栈。处理方法,不 finish,或者 finish 之 前启动自己 app 里的相关类跳回到自己 app 的栈。
为何我的这张图片或者这个视频分享不成功,其它就可以?
端上对视频及图片的格式、大小及长度等都有一定的限制,详情请参见图片和视频文件要求。另外解析文件过程中也可能失败导致分享失败。出现这种情况建议多试几次,或者直接更换分享文件。
如何获取 App 签名?
点击下载安装签名生成工具,输入应用正确包名即可获取到签名信息。
目前也支持使用keytool
命令获取签名,命令如下,将 APK 替换为自己的 APK 路径,获取结果中 MD5 值。
keytool -printcert -jarfile xxfile.apk。