准备官方插件
https://github.com/googlesamples/google-signin-unity
Android
- 需要web_clientId
- 需要 google-services.json (应该是接Firebase需要)(谷歌官网下载的)
代码部门:
- if (GoogleSignIn.Configuration == null)
- {
- GoogleSignIn.Configuration = new GoogleSignInConfiguration()
- {
- WebClientId = //写你app的web_client_id,
- UseGameSignIn = false,
- RequestIdToken = true,
- RequestEmail = true
- };
- }
- try
- {
- var user = await GoogleSignIn.DefaultInstance.SignIn();
- //user有你需要的用户的数据
- }
复制代码 iOS
开辟设备:window
发布设备:Mac
C#登录代码:同Android
unity打包准备
- 需要GoogleService-Info.plist(谷歌官网下载的)文件,确保内里有CLIENT_ID
- 在Unity的打包后处理OnPreprocessBuild里,需要对info.plist文件进行修改,代码如下:
- // 增加info.plist文件内容
- var plistPath = Path.Combine(pathToBuiltProject, "Info.plist");
- var plist = new PlistDocument();
- plist.ReadFromFile(plistPath);
- plist.root.SetString("GIDClientID", /*GoogleService-Info.plist里的CLIENT_ID*/);
- // 下面步骤增加需要是为了让iOS允许第三方登录,不然会报错
- PlistElementArray urlTypes = null;
- if (plist.root.values.ContainsKey("CFBundleURLTypes"))
- {
- try
- {
- urlTypes = plist.root.values["CFBundleURLTypes"] as PlistElementArray;
- }
- catch (Exception e)
- {
- Debug.LogWarning(string.Format("error,Could not obtain CFBundleURLTypes PlistElementArray: {0}", e.Message));
- }
- }
- if (urlTypes == null)
- {
- urlTypes = plist.root.CreateArray("CFBundleURLTypes");
- }
- PlistElementDict dic = urlTypes.AddDict();
- dic.SetString("CFBundleURLName","google-sign-in");
- PlistElementArray schemes = dic.CreateArray("CFBundleURLSchemes");
- /// 这里加的是GoogleService-Info.plist里的CLIENT_ID的倒转
- schemes.AddString("com.googleusercontent.apps.1xxxxxxxxxxxxx4-exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxg");
- plist.WriteToFile(plistPath);
复制代码 MAC电脑内配置
【从window打包xcode项目到Mac需要经过一步cocopod的配置过程,此过程是利用cocopod来对谷歌插件依赖的管理,不然项目build不通过, 步骤如下:】
(注意以下步骤是在Mac电脑上进行的)
- 确保你的MAC电脑安装了Cocopod
- 打开终端,输入cd 你的项目根目次
- 输入pod install
- 上述步骤完成后,会多一个.workspace的文件,通过点击这个文件打开项目,不要通过点击 .xcodeproj打开。此时你会看到xcode两个文件夹,一个是你的项目,一个是Pod
以上完成后,就可以拉起iOS的谷歌登录
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |