我正在实现google play sing,但它不起作用
我遵循开发人员文档来实施它,但是仍然无法正常工作
答案 0 :(得分:2)
第一步:在Google Play控制台中设置该应用
然后,在您的应用程序级别build.gradle文件中,将Google Play服务声明为 依赖项:
编译'com.google.android.gms:play-services-auth:16.0.1'
登录到Google Play控制台。 。如果您尚未注册 Google Play控制台之前,它会提示您注册。添加您的 应用到Google play console
将您的应用添加到Google Play控制台。
a。打开“游戏服务”页面,然后在页面上单击添加新游戏按钮 左边。
b。由于您是从头开始创建的,因此选择标签我不使用任何标签 我的游戏中已有Google API 。输入您的应用名称,然后选择一个 类别,然后单击继续按钮。
c。在“详细信息”表单中,仅需要显示名称和描述 供测试用。必须先填写其他字段,然后才能发布 您的游戏。
d。点击保存。e。打开右侧的喜欢的应用页面,然后点击 Android ,然后 在相关字段中输入应用名称和程序包名称。
f。启用适当的多人游戏设置,实时或开启 。
g选择“反隐私”,然后单击“保存并继续”。
h。现在,点击立即授权您的应用按钮。
i。在包裹名称字段中,输入包裹名称,然后输入 签名证书指纹(SHA1)字段中的应用SHA1。和 点击确认。
j。点击确认按钮后,您应该会看到新的客户 此应用程序的ID。将其复制并粘贴到安全的地方。
k。确保您要用来登录的帐户( 测试设备)列为开发人员项目中的测试人员 控制台设置(检查“测试”部分中的列表)
第2步:在您的应用中进行以下更改
要在您的应用中添加标准的Google登录按钮,请添加一个 com.google.android .gms.common .SignIn Button 主要活动 布局。
在“活动”的“创建时”方法中在Button中启动演唱。
signInButton = findViewById(R.id.sign_in_button)
当用户单击“登录”按钮时。以下代码片段发送了 登录打算。
signInButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
startSignInIntent();
}
});
以下代码片段向您展示了如何初始化startsignin()
方法
private void startSignInIntent(){
GoogleSignInClient signInClient = GoogleSignIn.getClient(this,
GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
Intent intent = signInClient.getSignInIntent();
startActivityForResult(intent, RC_SIGN_IN);
}
在onActivityResult()回调中,处理返回的结果
目的。
**@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result =
Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
GoogleSignInAccount signedInAccount = result.getSignInAccount();
} else {
String message = result.getStatus().getStatusMessage();
if (message == null || message.isEmpty()) {
message = getString(R.string.signin_other_error);
}
new AlertDialog.Builder(this).setMessage(message)
.setNeutralButton("Login Fail", null).show();
}
} } **