Google Paly登录无法在Android中使用

时间:2019-05-15 13:39:43

标签: android google-play

我正在实现google play sing,但它不起作用

我遵循开发人员文档来实施它,但是仍然无法正常工作

1 个答案:

答案 0 :(得分:2)

第一步:在Google Play控制台中设置该应用

  1. 创建一个新应用。
  2. 然后,在您的应用程序级别build.gradle文件中,将Google Play服务声明为 依赖项:

    编译'com.google.android.gms:play-services-auth:16.0.1'

  3. 登录到Google Play控制台。 。如果您尚未注册 Google Play控制台之前,它会提示您注册。添加您的 应用到Google play console

  4. 将您的应用添加到Google Play控制台。

    a。打开“游戏服务”页面,然后在页面上单击添加新游戏按钮       左边。

    b。由于您是从头开始创建的,因此选择标签我不使用任何标签       我的游戏中已有Google API 。输入您的应用名称,然后选择一个       类别,然后单击继续按钮。

    c。在“详细信息”表单中,仅需要显示名称和描述       供测试用。必须先填写其他字段,然后才能发布       您的游戏。

    d。点击保存。

    e。打开右侧的喜欢的应用页面,然后点击 Android ,然后       在相关字段中输入应用名称和程序包名称。

    f。启用适当的多人游戏设置,实时或开启       

    g选择“反隐私”,然后单击“保存并继续”。

    h。现在,点击立即授权您的应用按钮。

    i。在包裹名称字段中,输入包裹名称,然后输入       签名证书指纹(SHA1)字段中的应用SHA1。和       点击确认

    j。点击确认按钮后,您应该会看到新的客户       此应用程序的ID。将其复制并粘贴到安全的地方。

    k。确保您要用来登录的帐户(       测试设备)列为开发人员项目中的测试人员       控制台设置(检查“测试”部分中的列表)

第2步:在您的应用中进行以下更改

  1. 在清单文件中的application标记下,然后添加meta标记和   用客户ID替换“ 您的APPID ”。授权时得到的   您在Google Play控制台中的应用程序。     
  2. 要在您的应用中添加标准的Google登录按钮,请添加一个   com.google.android .gms.common .SignIn Button 主要活动  布局。

  3. 在“活动”的“创建时”方法中在Button中启动演唱。

    signInButton = findViewById(R.id.sign_in_button)

  4. 当用户单击“登录”按钮时。以下代码片段发送了  登录打算。

    signInButton.setOnClickListener(new View.OnClickListener(){

       @Override
       public void onClick(View view) {
          startSignInIntent();
          }
       });
    
  5. 以下代码片段向您展示了如何初始化startsignin()
     方法

    private void startSignInIntent(){

    GoogleSignInClient signInClient = GoogleSignIn.getClient(this,
    GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
    Intent intent = signInClient.getSignInIntent();
    startActivityForResult(intent, RC_SIGN_IN);
       }
    
  6. 在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();
       }
    

    }   } **