首页 > 解决方案 > 如何在 Compose UI 中嵌入 Snapkit 登录按钮

问题描述

Snapkit 登录 API 提供了一个样式按钮来启动登录。但是它使用一个视图组。如何在 Compose UI 中使用它?

标签: androidsnapchat

解决方案


@Composable
private fun SnapLoginButton() {
    val context = LocalContext.current
    AndroidView(factory = {
        FrameLayout(context).also {
            SnapLogin.getButton(context, it)
        }
    })
}

登录后,您可以获取用户数据

    private fun fetchUserDatax() {
        val query = "{me{displayName bitmoji{avatar} externalId}}"
        SnapLogin.fetchUserData(this, query, mapOf(), object : FetchUserDataCallback {
            override fun onSuccess(p0: UserDataResponse?) {
                state = "onSuccess " + p0?.data?.me?.displayName + " " + p0?.errors?.map { it.errorType }
            }

            override fun onFailure(p0: Boolean, p1: Int) {
                state = "onFailure " + p0 + " " + p1
            }
        })
    }

推荐阅读