![](/img/trans.png)
[英]Google play service game signInSilently() FAILED error 'com.google.android.gms.common.api.ApiException: 4: 4 '
[英]Google play service game Silent Login error 'com.google.android.gms.common.api.ApiException: 4: '
我使用谷歌播放服務靜默登錄,但它總是 CompleteListener 顯示 com.google.android.gms.common.api.ApiException: 4: 'SIGN_IN_REQUIRED' 但我的應用程序中的測試用戶。 我的代碼在下面,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGoogleSignInClient = GoogleSignIn.getClient(this, new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build());
}
@Override
protected void onResume() {
super.onResume();
signInSilently();
}
private void signInSilently() {
mGoogleSignInClient.silentSignIn().addOnCompleteListener(this, new OnCompleteListener<GoogleSignInAccount>() {
@Override
public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
if (task.isSuccessful()) {
try {
GoogleSignInAccount signInAccount = task.getResult(ApiException.class);
} catch (ApiException apiException) {
System.out.println("CATE_RESULT_CODE " + apiException.getLocalizedMessage()+" " +apiException.getStatusMessage()+ " " +apiException.getMessage()+ " "+apiException.getCause() );
}
} else {
try {
GoogleSignInAccount signInAccount = task.getResult(ApiException.class);
} catch (ApiException apiException) {
System.out.println("CATE_RESULT_CODE " + apiException.getLocalizedMessage()+" " +apiException.getStatusMessage()+ " " +apiException.getMessage()+ " "+apiException.getCause() );
}
}
}
});
}
我的 gradle 文件依賴項:
dependencies {
ext {
support_library_version = '27.0.2'
google_play_services_version = '15.0.2'
}
implementation "com.android.support:appcompat-v7:${support_library_version}"
implementation "com.android.support:design:${support_library_version}"
implementation "com.android.support:recyclerview-v7:${support_library_version}"
implementation "com.android.support:cardview-v7:${support_library_version}"
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.google.android.gms:play-services-games:15.0.1'
}
erorr :
com.google.android.gms.common.api.ApiException: 4:
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
at com.google.android.gms.common.internal.zzk.convert(Unknown Source)
at com.google.android.gms.common.internal.zzl.onComplete(Unknown Source)
at com.google.android.gms.common.api.internal.BasePendingResult.zza(Unknown Source)
at com.google.android.gms.common.api.internal.BasePendingResult.setResult(Unknown Source)
at com.google.android.gms.auth.api.signin.internal.zzk.zzd(Unknown Source)
at com.google.android.gms.auth.api.signin.internal.zzu.dispatchTransaction(Unknown Source)
at com.google.android.gms.internal.auth.zze.onTransact(Unknown Source)
at android.os.Binder.execTransact(Binder.java:404)
at dalvik.system.NativeStart.run(Native Method)
還在清單文件中添加應用程序 ID。
請給我一個解決這個問題的方法。 提前致謝
錯誤將被解決...
遇到此類問題的任何人請先檢查您的 Firebase 項目設置中的 SHA 1 密鑰。
我的 SHA 1 密鑰與 Firebase 項目設置不匹配。
現在我改變它並完美地工作..
謝謝..
按照以下步驟操作,直到您在 Android Studio 中獲得 SHA-1
然后去這個鏈接
中提琴。
事實證明,每當您添加/編輯Firebase應用設置(SHA 證書指紋)時,它都會在您的應用Google Api控制台中生成相關憑據。 盡管指紋是相同的,但直到我從 Google Api 中刪除了憑據並讓 Firebase 為我生成它之后,它才起作用 - 我猜它的 ID 相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.