# EnjoyPay 本次接入改动记录 ## 本次目标 为 Android 测试工程增加 EnjoyPay 渠道切换与打包配置,使 Unity 菜单可以切换到 EnjoyPay 并使用俄罗斯包参数进行打包测试。 ## 参数来源 - wiki MCP 文档: - `https://wiki.bamboogames.top/doc/5oqa5pyv5rkf6yca-dF8FesCMt3` - `https://wiki.bamboogames.top/doc/sdk-PiMyYd30k5` - PDF 参数文档: - `D:/.devup/【128-FishingTravel】【Google俄罗斯】接入支持.pdf` - Firebase 配置: - `D:/.devup/google-services (1).json` - `D:/.devup/google-services (2).json` 两份 `google-services` 文件经 `fc` 对比完全一致,已使用其中一份作为 EnjoyPay 渠道配置。 ## 已确认参数 - 渠道名:`EnjoyPay` - Android 包名:`com.arkgame.ft.ep` - 客户端支付类型:`enjoypay.global.h5.web` - clientId:`Android_5.00_tyGuest,facebook.googleplay.0-hall20587.googleplay.FishingMasterRussia` - Firebase project id:`fishing-travel-ep-1ab1e` - Firebase package name:`com.arkgame.ft.ep` ## 代码改动 ### 1. 增加 EnjoyPay 切渠道入口 文件: - `sdk-intergration/Assets/Editor/ChannelBuildTool.cs` 改动: - `SupportedChannels` 增加 `EnjoyPay`。 - 增加菜单 `Tools/Switch Channel/EnjoyPay`。 - 增加菜单 `Tools/Build Android (Channel)/EnjoyPay`。 - 增加菜单 `Tools/Build Android (Channel)/EnjoyPay Debug`。 - `SwitchChannel("EnjoyPay")` 设置 Android bundle id 为 `com.arkgame.ft.ep`。 ### 2. 增加 EnjoyPay 支付类型映射 文件: - `sdk-intergration/Packages/tysdk/Runtime/ChannelConfig.cs` 改动: ```csharp "EnjoyPay" => "enjoypay.global.h5.web", ``` 说明: - 客户端传给 SDK 的 `paytype` 使用 `enjoypay.global.h5.web`。 - PDF 中的 `enj` 是后台支付方式配置类型,不作为客户端 `paytype`。 ### 3. 增加 EnjoyPay 渠道配置目录 目录: - `ExtraPluginCfgs/Android/enjoypay` 包含: - `AndroidManifest.xml` - `ChannelEntry.java` - `ConfigManager.java` - `launcherTemplate.gradle` - `mainTemplate.gradle` - `settingsTemplate.gradle` - `gradleTemplate.properties` - `Files/google-services.json` - `Plugins/Android/tuyoosdk_1.0.0.aar` 关键配置: - `AndroidManifest.xml` - package:`com.arkgame.ft.ep` - `CHANNEL = EnjoyPay` - `ChannelEntry.java` - `CHANNEL = "EnjoyPay"` - 不创建专用 adapter,继续走默认 Tuyoo SDK 流程。 - `ConfigManager.java` - `SDK_CLIENTID = "Android_5.00_tyGuest,facebook.googleplay.0-hall20587.googleplay.FishingMasterRussia"` - `Files/google-services.json` - 来自 `D:/.devup/google-services (1).json` - package name:`com.arkgame.ft.ep` ### 4. Firebase / Gradle 配置核对 Unity Gradle 模板对应关系: - 项目级 Gradle: - `sdk-intergration/Assets/Plugins/Android/baseProjectTemplate.gradle` - 当前已有 `com.google.gms.google-services` 插件版本声明。 - 应用模块 Gradle: - `ExtraPluginCfgs/Android/enjoypay/launcherTemplate.gradle` - 当前已应用 `com.google.gms.google-services` 插件。 - UnityLibrary 模块 Gradle: - `ExtraPluginCfgs/Android/enjoypay/mainTemplate.gradle` - 当前包含 Firebase Analytics 依赖。 ## 未改动 / 延后项 - 当前测试工程不新增 EnjoyPay 商品列表逻辑。 - 正式项目接入时,再从正式项目本地 json table / 商品表构造 SKU。 - 当前不新增 EnjoyPay 专用 Billing adapter。 - 当前不复用 Flexion / RuStore 的 pending、consume、receipt 验签逻辑。 - 后台支付方式无需本次配置。 ## 打包前检查 在 Unity 执行 `Tools/Switch Channel/EnjoyPay` 后,检查: 1. `sdk-intergration/Packages/tysdk/Plugins/Android/ChannelEntry.java` - `CHANNEL = "EnjoyPay"` 2. `sdk-intergration/Packages/tysdk/Plugins/Android/ConfigManager.java` - `SDK_CLIENTID` 为俄罗斯包 clientId。 3. `sdk-intergration/Assets/Plugins/Android/AndroidManifest.xml` - package 为 `com.arkgame.ft.ep` - `CHANNEL = EnjoyPay` 4. `sdk-intergration/Packages/tysdk/Files/google-services.json` - package name 为 `com.arkgame.ft.ep` 5. `sdk-intergration/Packages/tysdk/Plugins/Android/tuyoosdk_1.0.0.aar` - 应同步为 EnjoyPay 目录中的新版 AAR。 ## 打包步骤 1. 打开 Unity 工程:`sdk-intergration` 2. 执行菜单:`Tools/Switch Channel/EnjoyPay` 3. 执行菜单:`Tools/Build Android (Channel)/EnjoyPay Debug` 4. 安装生成的 APK。 5. 验证初始化、登录、支付拉起和 SDK 回调。 ## 已知注意点 - `google-services.json` 的 package name 是 `com.arkgame.ft.ep`,所以 EnjoyPay 包名必须与其一致。 - 已删除历史脚本 `ExtraPluginCfgs/Android/switch-channel.sh`,正式入口是 Unity 菜单中的 `ChannelBuildTool.SwitchChannel`。 - 当前仓库内 `SDKTest.cs` 存在行尾状态提示;忽略行尾后无业务差异。