Passport Q&A
Passport Q&A
1. 测试时未收到验证码?
测试阶段每个账户默认最多可发送100条短信,后续所有验证码不再发送短信并使用默认验证码「111111」。
2. 点击微信登录未跳转/跳转失败?
3. 错误的身份信息仍能通过实名认证?
测试阶段每个账户默认最多可进行20次实名认证,后续所有认证仅对格式进行校验。
4. 接入 Passport Login 并运行后,看不到 UI 界面?
- 检查是否被其他 UI 界面遮挡,根据游戏的 UI 情况,自行修改 prefab 的展示顺序至合适数值(双击打开PassportUI/Resources/Prefabs/LoginPanels.prefab, 修改 Canvas 组件下的 Sort Order 属性)
- 检查控制台输出,看是否有报错
- 检查是否已进入登录状态,自行添加登出按钮,调用 PassportUI.Logout() 方法进行登出
5. 渠道登录配置填写后,点击相应渠道登录按钮无反应/报错?
所有渠道登录配置修改后必须出新的游戏包体方可生效,如已出新游戏包体,请检查确认渠道登录配置是否填写正确。
6. 把玩家分数录入排行榜时,如何获取排行榜 SlugName ?
排行版的唯一标识 ID,可在 Passport 服务「排行榜」页面复制。
7. 排行榜详情页,「榜单数据」VersionID 指的是?
每次重置排行榜后,会创建一个 VersionID 记录历史数据,可根据该 ID 获取历史成绩。
8. 在 Unity 中构建程序失败,且报错不明确?
在 Unity 编辑器的控制台(Console)中,点击 Clear 的下拉选项,取消勾选「Clear on Recompile」。这样能更方便地查看构建预校验抛出的错误。
9. 导入并运行后,登录 UI 界面点击按钮无反应,且没有任何报错信息?
请尝试在场景中添加 EventSystem 以监听输入事件。具体操作为:在场景中单击右键,选择 UI -> Event System,即可添加事件系统。
10. 避免接入 Passport Login
问题描述:在应用中接入 Passport 的 Feature SDK(如排行榜、礼包等功能)时一定要使用 Passport Login 进行用户登录和管理吗?如何在不使用 Passport Login 的情况下,使用 Passport 的其他 Feature SDK?
解决方案:UOS Passport 为已有玩家 ID 系统的开发者提供外部账号登录的方式来接入 Passport Feature 的相关服务。在应用开发过程中,可以在 SDK 中使用 ExternalLogin 方法时传入外部账号登录系统的 UserID 或者 PersonaID,参见「外部账号系统登录」。
11. 小程序/小游戏真机无法正常使用?
问题描述:服务在Unity编辑器,小程序/小游戏开发工具中均可正常使用,但真机环境下小程序无法正常访问服务器。
解决方案:请添加域名 https://p.unity.cn 至平台白名单。
12. Passport 分页问题
Passport 中所有支持分页的 SDK 方法以及 Open API 方法中默认分页均为10(个/页),并支持最大传入值为50(个/页),超出时均按照50(个/页)返回。
13. Passport 短信模板为何不能定制前置公司名称
受法律法规要求,使用 UOS Passport 定制短信模板前置均为【优三缔】 且不可以修改, 如修改的定制模板中含【】符号可能会致使短信模板审核不通过,请删除后再重新提交。
14. Passport 中各模块 Property 更新策略
- 角色(Persona) 中的 Properties 是局部增量更新,仅需传入需要更新的Key以及Value,若要删除其中的某些key,请使用 propertykeysToRemove 字段,参见 「Passport 服务端API接入指南」 “更新角色信息” API 中「Model」下的参数说明。
角色属性更新示例:
// 原始 Properties
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}// 删除 key1 的同时更新 key3 并新增 key4
{
"status": "Active",
"displayName": "string",
"iconUrl": "http://example.com/xx.png",
"properties": {
"key3": "newValue3" // 更新 key3
"key4": "value4" // 新增 key4
},
"propertyKeysToRemove": ["key1"] // 删除key1
}// 最终得到的 Properties
{
"key2": "value2",
"key3": "newValue3",
"key4": "value4"
}- Passport 其它模块中的 Properties 均为 全量覆盖式更新,更新时需要传入全部 Properties。
域/服务器属性更新示例:
// 原始 Properties
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}// 删除 key1 的同时更新 key3 并新增 key4
{
"name": "example",
"properties": { // 填写的 key/value 即是最终保留的 key/value
"key2": "value2",
"key3": "newValue3",
"key4": "value4"
},
"status": "Created"
}// 最终得到的 Properties
{
"key2": "value2",
"key3": "newValue3",
"key4": "value4"
}15. 安卓平台打包报错
问题描述:导入TapTap登录模块后安卓平台打包报错:"Failed to transform retrofit2-1.0.4.jar (com.taptap.sdk:retrofit2:1.0.4) to match attributes…… "
解决方案:与TapTap SDK适配的Android API应高于Android 13.0/API level 33。您可以在 Player Settings 窗口中:
- 展开 Other Settings 区域。
- 找到 Identification 下方的 Minimum API Level 和 Target API Level。
16. Unity 6 打包报错
问题描述 Unity 6下安卓平台打包报错:
"……\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\unity\upass\qqsdk\QQSDK.java:15: 错误: 找不到符号 import com.unity3d.player.UnityPlayerActivity;"
或
"……\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerGameActivity.java使用或覆盖了已过时的 API。"
解决方案 Unity 6重构了UnityPlayer相关类,导致找不到符号,可以通过修改默认程序入口解决。您可以在 Player Settings 窗口中:
- 展开 Other Settings 区域。
- 找到 Configuration 区域下方的 Application Entry Point,勾选 Activity,取消勾选 Game Activity。