gpt4 book ai didi

java - 使用旧身份验证 token 将用户迁移到新应用程序 - InstallReferrer 自定义参数

转载 作者:搜寻专家 更新时间:2023-11-01 09:25:18 24 4
gpt4 key购买 nike

我在 Google Play 上有两个应用。旧的和新的。而且我想将旧的身份验证 token 用于新应用程序,以便用户更轻松。

  1. 在旧应用上,用户会看到一个弹出窗口,要求用户在 Google Play 上安装新应用。
  2. 我想将参数中的身份验证 token 传递给 Google Play。
  3. 安装新应用后,我想将 token 保存在新应用中。

我尝试使用 Play Install Referrer Library但它没有用。

另一种方法是使用 SharedPreferencesMODE_WORLD_READABLE 已被弃用。

旧应用:

try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.<PACKAGENAME>&token=pokpok&refresh_token=lolol"));
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.<PACKAGENAME>?token=pokpok&refresh_token=lolol")));
}

新APP代码:

    private fun shouldGetTokenFromOldApp() {
mReferrerClient = InstallReferrerClient.newBuilder(this).build()
mReferrerClient.startConnection(object : InstallReferrerStateListener {

override fun onInstallReferrerSetupFinished(responseCode: Int) {
when (responseCode) {
InstallReferrerClient.InstallReferrerResponse.OK -> {
// Connection established
val response: ReferrerDetails = mReferrerClient.installReferrer
val url = "https://play.google.com/store?${response.installReferrer}"
Log.d("APP", "Token old app 1 : $url")
val uri: Uri = Uri.parse(url)
val token = uri.getQueryParameter("token")
val refreshToken = uri.getQueryParameter("refresh_token")

Log.d("APP", "Token old app 2 : $token - $refreshToken")
mReferrerClient.endConnection()
}
InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
// API not available on the current Play Store app
}
InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
// Connection could not be established
}
}
}

override fun onInstallReferrerServiceDisconnected() {
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
}
})
}

最佳答案

这对用户来说听起来像是一件好事,但似乎非常危险。您正在发送一个 Auth token - 如果有人拥有它,则可以允许他们在任何地方通过不受信任的系统(如全局可读文件或 URL 中的引用参数)以该用户身份登录。

如果您真的需要这样做,我建议您在应用安装后使用某种形式的应用间 RPC (IPC) 来传递 token 。一种选择是 a binder到提供授权的服务。

关于java - 使用旧身份验证 token 将用户迁移到新应用程序 - InstallReferrer 自定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51177024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com