最近在使用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官方文档或参考相关的技术论坛,相信你会找到解决方案。祝您开发愉快!
本文来自极简博客,作者:灵魂画家,转载请注明原文链接:UniApp打包 AAB 上传到Google Play时 Google登录报异常