微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Google登录iOS帐号选择器

我在我的iOS应用中使用Google登录.我按照谷歌教程( https://developers.google.com/identity/sign-in/ios/sign-in#add_the_sign-in_button)使用了用户必须点击的GIDSignInButton.当他点击它时,他被重定向到Safari,如下所示:

这个问题是我有多个Google帐户,并且希望能够选择我想要使用的帐户.现在它只需要自动执行其中一个,我所要做的就是按“拒绝”或“允许”.此外,我不喜欢应用程序被重定向到Chrome的事实.理想情况下,我想要的是Google Hangouts应用程序在iOS上的功能

它会向您显示以前用于登录任何Google应用的所有帐户,并让您在不离开应用的情况下决定使用该应用的哪些帐户.在Android上我得到了类似的东西为我的应用程序工作:

如何在我的iOS应用程序中实现这种行为(不要离开app account chooser)?

解决方法

他们能够在Google环聊中实现这一目标的原因是因为它是由Google制作的.公司并不总是为开发人员提供所有功能,这是一个很好的例子.您之所以能够在Android中执行此操作是因为Google决定允许开发人员更多地访问不同的功能.毕竟,android是由谷歌开发的.现在,至于不离开应用程序,您可以始终使用嵌入式Web视图.这将使用户保持在应用程序中,而是以模态方式弹出Web视图.它不是世界上最好的,但比将用户发送到其他地方更好.你试过这段代码
// Implement these methods only if the GIDSignInUIDelegate is not a subclass of
// UIViewController.

// Stop the UIActivityIndicatorView animation that was started when the user
// pressed the Sign In button
func signInWilldispatch(signIn: GIDSignIn!,error: NSError!) {
  myActivityIndicator.stopAnimating()
}

// Present a view that prompts the user to sign in with Google
func signIn(signIn: GIDSignIn!,presentViewController viewController: UIViewController!) {
  self.presentViewController(viewController,animated: true,completion: nil)
}

// dismiss the "Sign in with Google" view
func signIn(signIn: GIDSignIn!,dismissViewController viewController: UIViewController!) {
  self.dismissViewControllerAnimated(true,completion: nil)
}

我在你发布的链接上找到了这个.我没有运行或测试代码,但它似乎提供了一个视图控制器,而不是发送到safari.这可能更符合您的要求.

回答@Sam的问题:

“如何通过现有安装的Google应用登录Google,而不是在Safari中打开网址?”

你可以用android实现这一点,但不能用iOS实现.这是由于所选平台而受到限制的另一个例子.

记住您最终选择的任何选项仍然需要遵守OAuth 2.0.我建议尽可能使用Google为iOS开发人员使用的内容.在选择不同于认帐户的帐户时,如果您选择按照指南操作并执行Google为iOS开发人员创建的帐户,则只需点按个人资料图片并切换帐户即可.

TL; DR

https://www.youtube.com/watch?time_continue=227&v=-26DGO_E1ds

原文地址:https://www.jb51.cc/android/314705.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐