我正在使用 Android 上的 google fit api 进行开发。我按照谷歌文档的指南设置了我的项目。但是当我在真实设备上测试身份验证时,在我选择我的谷歌帐户后,它会显示一个带有加载标志的白页,如图片。它只是永远加载并且没有任何错误。
这是我在项目中所做的:
// AndroidManife
// because target API level 28
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
// google-services.json
"oauth_client": [
{
"client_id": "xxx-xxx.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "xxx.xxx.xxx",
"certificate_hash": "xxxxhash"
}
},
{
"client_id": "xxx-xxx.apps.googleusercontent.com",
"client_type": 3
}
]
// my auth activity, sample code from google doc
FitnessOptions fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.build();
GoogleSignInAccount account = GoogleSignIn.getAccountForExtension(this, fitnessOptions);
if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
GoogleSignIn.requestPermissions(
this, // your activity
GOOGLE_FIT_PERMISSIONS_REQUEST_CODE, // e.g. 1
account,
fitnessOptions);
}
OAuth 2.0 客户端 ID 在 Google API 控制台中是可以的。我检查了密钥库 SHA-1 是否正确。
我还将我的密钥库 SHA-1 放在 Firebase 项目设置中。
Google 登录在 Firebase 身份验证 -> 登录方法中打开。
我错过了什么?我应该怎么办?请帮我。非常感谢。