EXPO Google 登录和 Android 应用问题

Posted

技术标签:

【中文标题】EXPO Google 登录和 Android 应用问题【英文标题】:EXPO Google Sign In And Android app Issue 【发布时间】:2021-01-24 16:48:53 【问题描述】:

我正在构建一个反应原生应用程序。当我将应用程序导出到 APK 文件时,谷歌登录不起作用。发生的情况是:我点击“使用 goolge 登录”,它会提示我选择一个帐户,我选择了该帐户,微调器在“accounts.google.com”下旋转,我被定向到 google.com 登录页面。

在 expo 中它会返回一个响应并将我重定向回应用程序。

这是我关注的文档https://docs.expo.io/versions/latest/sdk/google/。我已经检查了三遍,所以我确定我的 SSA 和 API 密钥是正确的。

还有其他人遇到过这个问题吗?将 android 提交到 apk 是 google 登录的常见问题吗?

const signInWithGoogleAsync = async (setLoggingIn) => 
setLoggingIn(true);
try 
const result = await Google.logInAsync(
  androidClientId: GoogleClientId.Android,
  iosClientId: GoogleClientId.iOS,
  scopes: ["profile", "email"],
  iosStandaloneAppClientId: GoogleClientId.iOSStandaloneApp,
  androidStandaloneAppClientId: GoogleClientId.AndroidStandaloneApp,
);

console.log("GOOGLE LOGIN RES", result);
if (result.type === "success") 
  onSignIn(result, setLoggingIn);
  return result.accessToken;
 else 
  setLoggingIn(false);
  return cancelled: true;

 catch (e) 
setLoggingIn(false);
return error: true;

;

app.json

 "android": 
  "package": "123456789omittedforsecurity",
  "versionCode": 2,
  "config": 
    "googleMaps": 
      "apiKey": "123456789omittedforsecurity"
    ,
    "googleSignIn": 
      "apiKey": "123456789omittedforsecurity", 
      "certificateHash": "123456789omittedforsecurity"
    
  ,
  "permissions": [
    "ACCESS_COARSE_LOCATION",
    "ACCESS_FINE_LOCATION",
    "CAMERA",
    "MANAGE_DOCUMENTS",
    "READ_CONTACTS",
    "READ_CALENDAR",
    "WRITE_CALENDAR",
    "READ_EXTERNAL_STORAGE",
    "READ_PHONE_STATE",
    "RECORD_AUDIO",
    "USE_FINGERPRINT",
    "VIBRATE",
    "WAKE_LOCK",
    "WRITE_EXTERNAL_STORAGE",
    "com.anddoes.launcher.permission.UPDATE_COUNT",
    "com.android.launcher.permission.INSTALL_SHORTCUT",
    "com.google.android.c2dm.permission.RECEIVE",
    "com.google.android.gms.permission.ACTIVITY_RECOGNITION",
    "com.google.android.providers.gsf.permission.READ_GSERVICES",
    "com.htc.launcher.permission.READ_SETTINGS",
    "com.htc.launcher.permission.UPDATE_SHORTCUT",
    "com.majeur.launcher.permission.UPDATE_BADGE",
    "com.sec.android.provider.badge.permission.READ",
    "com.sec.android.provider.badge.permission.WRITE",
    "com.sonyericsson.home.permission.BROADCAST_BADGE"
  ]
,

附带说明:iOs 与 expo 配合得很好。

【问题讨论】:

【参考方案1】:

作为更新,我不完全确定发生了什么,但问题停止了。我认为是我的 Android 设备出了问题,我升级了设备,现在它可以工作了。

【讨论】:

以上是关于EXPO Google 登录和 Android 应用问题的主要内容,如果未能解决你的问题,请参考以下文章

Expo Google 登录 DEVELOPER_ERROR

Expo 与 Google 登录的集成

如何修复 Google expo auth session 登录错误“尝试完成登录时出现问题”

对于某些版本的 Android,FB 登录的 Expo AuthSession 不会重定向到 expo App

Expo Google登录在IOS的试飞中不起作用

Google Play Expo w/ React - Expo 的 app.json 文件中与 Android 对应的 plist 是啥?