回调不适用于Android上的TikTok登录套件



我一直在遵循为Android集成TikTok登录工具包的文档。以下是我从TikTok SDK提供的IAPIEventHandler接口接收回调的完整活动:

internal class ATikTokAuth : BaseActivity(), IApiEventHandler {
private val clientKey = TIKTOK_CLIENT_KEY
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.a_tik_tok_auth)
val tiktokOpenConfig = TikTokOpenConfig(clientKey)
TikTokOpenApiFactory.init(tiktokOpenConfig)
val tikTokOpenApi = TikTokOpenApiFactory.create(this)
tikTokOpenApi.handleIntent(intent, this)
val request = Authorization.Request()
request.scope = "user.info.basic"
request.state = "starting"
request.callerLocalEntry = "com.package.name.ATikTokAuth"
tikTokOpenApi.authorize(request)

}
override fun onReq(request: BaseReq?) {
Timber.d("onRequest called: ${request?.extras}")
}
override fun onResp(resp: BaseResp?) {
Timber.d("onResponse: isSuccess: ${resp?.isSuccess} If not, error: ${resp?.errorMsg}")
if (resp is Authorization.Response) {
val code = resp.authCode
Timber.d("onResponse authcode: $code ")
requestAccessToken(resp.authCode)

}

}

override fun onErrorIntent(intent: Intent?) {
Timber.d("onErrorIntent ${intent?.extras}")
}
}

运行此代码将创建网络视图,供用户选择登录TikTok的方式,并将其TikToks帐户连接到我的应用程序,但在授权后,用户将返回到此活动,而不会调用onResp。onErrorIntent((在启动web视图时被调用,但intent没有数据,因此没有对调试有用的信息。

此外,尽管文档像这样初始化TikTokOpenConfig:

TikTokOpenConfig tiktokOpenConfig = new TikTokOpenConfig(clientKey);
TikTokOpenApiFactory.init(new TikTokOpenConfig(tiktokOpenConfig));

TikTokOpenConfig只接受clientKey的字符串参数,所以我认为它应该是

val tiktokOpenConfig = TikTokOpenConfig(clientKey)
TikTokOpenApiFactory.init(tiktokOpenConfig)

我没有看到其他方法,因为文档中的代码甚至不会编译

TikTok被宣布为

implementation 'com.bytedance.ies.ugc.aweme:opensdk-oversea-external:0.2.0.2'

在我的清单上。我做错了什么?

您应该添加android:exported="真";在清单文件中。

<activity
android:name=".ATikTokAuth"
android:exported="true">
</activity>

我移动了tikTokOpenConfig 的初始化

val tiktokOpenConfig = TikTokOpenConfig(clientKey)
TikTokOpenApiFactory.init(tiktokOpenConfig)

转换为自定义应用程序类。

首先,如果你试图在印度使用tikTok登录工具包,首先你必须使用VPN。第二,如果你想要回调-你应该把tikTokOpenApi.handleIntent(intent, this)添加到onNewIntent((方法中,我用这个解决了我的问题。

步骤:

  1. 使用VPN

  2. 在覆盖onNewIntent()方法中添加tikTokOpenApi.handleIntent(intent, this)

登录成功!

最新更新