故障排除
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
隐私清单无效 (ITMS-91056)
标题为“隐私清单无效 (ITMS-91056)”的部分如果 App Store Connect 报告此错误:
ITMS-91056: Invalid privacy manifest - 来自以下路径的 PrivacyInfo.xcprivacy 文件无效: …
检查你的应用级 PrivacyInfo.xcprivacy 文件:
- 文件必须是有效的 JSON。
- 请仅使用 Apple 文档中列出的键和值。
- 不要在插件包中添加 privacy manifest;请将其添加到你的应用中。
查看 隐私清单与 iOS URL 处理程序 查看示例。
Google Play Console AD_ID 权限错误
标题为“Google Play Console AD_ID 权限错误”的章节向 Google Play 提交应用后,你可能会看到:
Google Api Error: Invalid request - This release includes the com.google.android.gms.permission.AD_ID permissionbut your declaration on Play Console says your app doesn't use advertising ID.Facebook SDK 包含 AD_ID 以及其他广告相关权限。如果你的应用未使用 Facebook Login,请禁用 Facebook provider,入口在 capacitor.config.ts:
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, }, }, },};
export default config;然后运行:
npx cap sync该 plugin 使用 stub 类而非真实的 Facebook SDK,因此你的 build 不会包含 Facebook 依赖和权限。
Android 上的 Google Sign-In 28444
标题为“Android 上的 Google Sign-In 28444”的章节GetCredentialCustomException: [28444] Developer console is not set up correctly 来自 Google Credential Manager,当已安装 APK 的签名证书、包名或 webClientId 与 Google Cloud Console 不匹配时。
请使用完整的 Android Google 故障排查清单。登录失败后,请在 Logcat 中过滤 GoogleProvider;插件会打印 package, signingSha1,以及一个脱敏后的 webClientId 以便与你的 OAuth 客户端对比。
使用 Family Link 受监督账号进行 Google Sign-In
标题为“使用 Family Link 受监督账号进行 Google Sign-In”的部分Family Link 受监督账号可能会因以下原因失败:
NoCredentialException: No credentials available对于需要支持 Family Link 账号的应用,请在 Google 登录调用中禁用已授权账号过滤:
import { SocialLogin } from '@capgo/capacitor-social-login';
await SocialLogin.login({ provider: 'google', options: { style: 'bottom', filterByAuthorizedAccounts: false, scopes: ['profile', 'email'], },});关键点:
- 设置
filterByAuthorizedAccounts改为false; 默认为true. - 插件会自动使用以下方式重试:
standard样式,如果bottom样式失败,错误为NoCredentialException. - 这些选项仅影响 Android。iOS 会正常处理 Family Link 账号。
- 错误信息建议禁用
filterByAuthorizedAccounts当检测到此失败时。
如何存储 access tokens
标题为“如何存储 access tokens”的部分使用 @capgo/capacitor-persistent-account 当你的应用需要原生安全存储来保存 access 或 refresh token 时。
在 Android 上,数据存储在 Account Manager 中;在 iOS 上,数据存储在 Keychain 中。