无法登录 google 游戏服务
Cannot log in to google game services
我正在 android O 中编写一个简单的应用程序,我想连接到 google 游戏服务以使用实时游戏服务。
我查看了文档,但没有发现任何错误。
我在 xml 上有一个激活登录的按钮:
<com.google.android.gms.common.SignInButton
android:id="@+id/sign_in_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/goButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" />
在 onCreate 上我有这个:
mGoogleSignInClient = GoogleSignIn.getClient(this, GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
findViewById(R.id.sign_in_button).setOnClickListener(this);
然后在点击监听器上:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.sign_in_button:
Log.d("MainActivity", "Sign-in button clicked");
clickedSignIn(v);
break;
...
...
}
public void clickedSignIn(View view) {
Log.d("MainActivity","clickedSignIn");
startActivityForResult(mGoogleSignInClient.getSignInIntent(), RC_SIGN_IN);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task =
GoogleSignIn.getSignedInAccountFromIntent(data);
try {
GoogleSignInAccount account = task.getResult(ApiException.class);
onConnected(account);
} catch (ApiException apiException) {
String message = apiException.getMessage();
if (message == null || message.isEmpty()) {
message = "Unknown error on sign-in.";
}
onDisconnected();
new AlertDialog.Builder(this)
.setMessage(message)
.setNeutralButton(android.R.string.ok, null)
.show();
}
}
}
出于某种我不明白的原因,我没有收到任何类型的登录视图或消息(我认为这是应该发生的),并且得到一个空登录结果,它转换为消息 "sign in error".
我已经在play.google.publish的游戏服务中添加了测试应用,用户添加为测试用户。
我遵循了此处的文档:https://developers.google.com/games/services/android/signin
我没有按照此处所述将应用程序 ID 添加到清单文件:https://developers.google.com/games/services/android/quickstart#step_3_modify_your_code
我正在 android O 中编写一个简单的应用程序,我想连接到 google 游戏服务以使用实时游戏服务。
我查看了文档,但没有发现任何错误。
我在 xml 上有一个激活登录的按钮:
<com.google.android.gms.common.SignInButton
android:id="@+id/sign_in_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/goButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" />
在 onCreate 上我有这个:
mGoogleSignInClient = GoogleSignIn.getClient(this, GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
findViewById(R.id.sign_in_button).setOnClickListener(this);
然后在点击监听器上:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.sign_in_button:
Log.d("MainActivity", "Sign-in button clicked");
clickedSignIn(v);
break;
...
...
}
public void clickedSignIn(View view) {
Log.d("MainActivity","clickedSignIn");
startActivityForResult(mGoogleSignInClient.getSignInIntent(), RC_SIGN_IN);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task =
GoogleSignIn.getSignedInAccountFromIntent(data);
try {
GoogleSignInAccount account = task.getResult(ApiException.class);
onConnected(account);
} catch (ApiException apiException) {
String message = apiException.getMessage();
if (message == null || message.isEmpty()) {
message = "Unknown error on sign-in.";
}
onDisconnected();
new AlertDialog.Builder(this)
.setMessage(message)
.setNeutralButton(android.R.string.ok, null)
.show();
}
}
}
出于某种我不明白的原因,我没有收到任何类型的登录视图或消息(我认为这是应该发生的),并且得到一个空登录结果,它转换为消息 "sign in error".
我已经在play.google.publish的游戏服务中添加了测试应用,用户添加为测试用户。
我遵循了此处的文档:https://developers.google.com/games/services/android/signin
我没有按照此处所述将应用程序 ID 添加到清单文件:https://developers.google.com/games/services/android/quickstart#step_3_modify_your_code