UniApp打包 AAB 上传到Google Play时 Google登录报异常

灵魂画家 2024-07-29 ⋅ 16 阅读

最近在使用UniApp来开发Android应用时,遇到了一个问题:当我将UniApp打包为AAB文件并上传到Google Play后,发现Google登录功能出现了异常。我花了一些时间来解决这个问题,并在这里与大家分享一下。

问题描述

在将UniApp打包为AAB文件并上传到Google Play后,用户在应用中尝试使用Google登录功能时,出现了异常。具体的异常提示是 "Google登录失败"。

解决方案

经过一番调查和尝试,我发现这个问题是由于应用没有正确配置Google登录所致。下面是解决问题的步骤:

1. 创建项目并启用Google登录功能

首先,确保你已经在 Google Cloud Console 创建了一个新的项目,并在该项目中启用了Google登录功能。你需要获取到项目的客户端ID和客户端秘钥,这两个值将在接下来的步骤中使用到。

2. 配置Android项目

进入UniApp项目的 src/main/AndroidManifest.xml 文件,并添加以下内容:

<activity android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:excludeFromRecents="true"
        android:exported="false" />

<activity android:name="com.google.firebase.auth.internal.FederatedSignInActivity"
        android:excludeFromRecents="true"
        android:exported="true" />

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

3. 配置UniApp项目

进入UniApp项目的 src/main/AndroidManifest.xml 文件,并添加以下内容:

<!-- 添加Google登录所需的权限 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />

<!-- 添加Google登录所需的权限声明 -->
<activity android:name="com.unipush.UniPushActivity"
    android:configChanges="orientation|keyboardHidden|navigation|screenSize"
    android:exported="true"
    android:launchMode="singleTask"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >
    <intent-filter>
        <action android:name="com.unipush.action.send" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

4. 配置uniconfig.json文件

在UniApp项目的根目录下找到 uni-config.json 文件,并添加以下内容:

{
  "oauth": {
    "google": {
      "client_id": "你的客户端ID",
      "client_secret": "你的客户端秘钥"
    }
  }
}

5. 重新打包并上传

完成上述步骤后,重新打包UniApp,并将生成的AAB文件上传到Google Play。确保你在Google Play开发者控制台中正确设置了Google登录选项。

结论

通过以上步骤,我成功解决了UniApp打包AAB文件上传到Google Play后Google登录报异常的问题。希望本博客可以帮助到遇到相同问题的开发者们。

如果你在使用UniApp过程中遇到其他问题,可以查阅UniApp官方文档或参考相关的技术论坛,相信你会找到解决方案。祝您开发愉快!


全部评论: 0

    我有话说: