接收有关提示界面状态的通知

为了方便用户登录或注册,您可以与多个身份提供程序通信,以查找可用的凭据。您可能需要了解我们的提示界面状态,以便调用下一个身份提供程序。

如需在不同时间点收到有关提示界面状态的通知,请将回调函数名称设置为 data-moment_callback 属性,或者将函数设置为 prompt() 方法(如果您使用 JavaScript API)。

系统会针对以下时刻发送通知:

  • 显示时刻:此时刻发生在调用 prompt() 方法之后。该通知包含一个布尔值,用于指示界面是否显示。

  • 跳过的时刻:当“一键式登录”提示因自动取消、手动取消而关闭,或者 Google 未能签发凭据(例如,所选会话已退出 Google)时,就会发生这种情况。

    在这种情况下,我们建议您继续尝试其他身份提供程序(如果有)。

  • 关闭时刻:当 Google 成功检索到凭据,或用户想要停止凭据检索流程时,就会发生这种情况。例如,当用户开始在登录对话框中输入用户名和密码时,您可以调用 google.accounts.id.cancel() 方法来关闭一键式登录提示并触发关闭时刻。

以下代码示例实现了跳过的时刻:

<script>
  function continueWithNextIdp(notification) {
      if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
          // try Next provider if One Tap is not displayed or skipped
      }
  }
</script>
...
<div id="g_id_onload"
     data-client_id="YOUR_GOOGLE_CLIENT_ID"
     data-login_uri="https://your.domain/your_login_endpoint"
     data-moment_callback="continueWithNextIdp"
</div>