@leonxin/meetgames 0.1.8 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/meet-sdk-regression/SKILL.md +93 -0
- package/.cursor/mcp.example.json +16 -0
- package/.cursor/mcp.json +11 -0
- package/.cursor/skills/meetgames-mcp/SKILL.md +48 -0
- package/.vite/vitest/results.json +1 -0
- package/README.md +31 -8
- package/dist/aab-converter/aab-entry.d.ts +3 -0
- package/dist/aab-converter/aab-entry.d.ts.map +1 -0
- package/dist/aab-converter/aab-entry.js +49 -0
- package/dist/aab-converter/aab-entry.js.map +1 -0
- package/dist/aab-converter/apksExtractor.d.ts +2 -0
- package/dist/aab-converter/apksExtractor.d.ts.map +1 -0
- package/dist/aab-converter/apksExtractor.js +108 -0
- package/dist/aab-converter/apksExtractor.js.map +1 -0
- package/dist/aab-converter/bundletoolRunner.d.ts +15 -0
- package/dist/aab-converter/bundletoolRunner.d.ts.map +1 -0
- package/dist/aab-converter/bundletoolRunner.js +46 -0
- package/dist/aab-converter/bundletoolRunner.js.map +1 -0
- package/dist/aab-converter/cliArgs.d.ts +27 -0
- package/dist/aab-converter/cliArgs.d.ts.map +1 -0
- package/dist/aab-converter/cliArgs.js +170 -0
- package/dist/aab-converter/cliArgs.js.map +1 -0
- package/dist/aab-converter/convertAabToApk.d.ts +7 -0
- package/dist/aab-converter/convertAabToApk.d.ts.map +1 -0
- package/dist/aab-converter/convertAabToApk.js +69 -0
- package/dist/aab-converter/convertAabToApk.js.map +1 -0
- package/dist/aab-converter/resourcePaths.d.ts +4 -0
- package/dist/aab-converter/resourcePaths.d.ts.map +1 -0
- package/dist/aab-converter/resourcePaths.js +42 -0
- package/dist/aab-converter/resourcePaths.js.map +1 -0
- package/dist/aab-converter/signingOptions.d.ts +9 -0
- package/dist/aab-converter/signingOptions.d.ts.map +1 -0
- package/dist/aab-converter/signingOptions.js +21 -0
- package/dist/aab-converter/signingOptions.js.map +1 -0
- package/dist/aab-converter/types.d.ts +24 -0
- package/dist/aab-converter/types.d.ts.map +1 -0
- package/dist/aab-converter/types.js +2 -0
- package/dist/aab-converter/types.js.map +1 -0
- package/dist/android/adapter.d.ts.map +1 -1
- package/dist/android/adapter.js +2 -2
- package/dist/android/adapter.js.map +1 -1
- package/dist/android/detect.d.ts +2 -2
- package/dist/android/detect.d.ts.map +1 -1
- package/dist/android/detect.js +36 -8
- package/dist/android/detect.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +157 -31
- package/dist/cli.js.map +1 -1
- package/dist/config/meetSdkDefaultConfig.d.ts +19 -2
- package/dist/config/meetSdkDefaultConfig.d.ts.map +1 -1
- package/dist/config/meetSdkDefaultConfig.js +67 -5
- package/dist/config/meetSdkDefaultConfig.js.map +1 -1
- package/dist/config/meetSdkIosConfig.d.ts +21 -0
- package/dist/config/meetSdkIosConfig.d.ts.map +1 -0
- package/dist/config/meetSdkIosConfig.js +66 -0
- package/dist/config/meetSdkIosConfig.js.map +1 -0
- package/dist/config/meetSdkRemoteConfig.d.ts +18 -1
- package/dist/config/meetSdkRemoteConfig.d.ts.map +1 -1
- package/dist/config/meetSdkRemoteConfig.js +61 -25
- package/dist/config/meetSdkRemoteConfig.js.map +1 -1
- package/dist/contracts/types.d.ts +19 -6
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/core/doctor.d.ts +17 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +444 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +0 -15
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/platform.d.ts +12 -0
- package/dist/core/platform.d.ts.map +1 -0
- package/dist/core/platform.js +40 -0
- package/dist/core/platform.js.map +1 -0
- package/dist/core/reporter.js +1 -1
- package/dist/core/reporter.js.map +1 -1
- package/dist/core/workspace.d.ts +2 -2
- package/dist/core/workspace.d.ts.map +1 -1
- package/dist/core/workspace.js +4 -5
- package/dist/core/workspace.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ios/channelConfig.d.ts +1 -0
- package/dist/ios/channelConfig.d.ts.map +1 -1
- package/dist/ios/channelConfig.js +82 -0
- package/dist/ios/channelConfig.js.map +1 -1
- package/dist/ios/codeUtils.d.ts +1 -0
- package/dist/ios/codeUtils.d.ts.map +1 -1
- package/dist/ios/codeUtils.js +11 -2
- package/dist/ios/codeUtils.js.map +1 -1
- package/dist/ios/detect.d.ts +2 -2
- package/dist/ios/detect.d.ts.map +1 -1
- package/dist/ios/detect.js +49 -10
- package/dist/ios/detect.js.map +1 -1
- package/dist/ios/entitlements.d.ts +4 -0
- package/dist/ios/entitlements.d.ts.map +1 -0
- package/dist/ios/entitlements.js +53 -0
- package/dist/ios/entitlements.js.map +1 -0
- package/dist/ios/fileManager.d.ts.map +1 -1
- package/dist/ios/fileManager.js +3 -2
- package/dist/ios/fileManager.js.map +1 -1
- package/dist/ios/infoPlist.d.ts +1 -1
- package/dist/ios/infoPlist.d.ts.map +1 -1
- package/dist/ios/infoPlist.js.map +1 -1
- package/dist/ios/integrate.d.ts.map +1 -1
- package/dist/ios/integrate.js +211 -36
- package/dist/ios/integrate.js.map +1 -1
- package/dist/ios/pbxprojEditor.d.ts +2 -0
- package/dist/ios/pbxprojEditor.d.ts.map +1 -1
- package/dist/ios/pbxprojEditor.js +179 -1
- package/dist/ios/pbxprojEditor.js.map +1 -1
- package/dist/ios/pluginConfig.d.ts +1 -0
- package/dist/ios/pluginConfig.d.ts.map +1 -1
- package/dist/ios/pluginConfig.js +36 -4
- package/dist/ios/pluginConfig.js.map +1 -1
- package/dist/ios/sdkBundle.d.ts +1 -1
- package/dist/ios/sdkBundle.d.ts.map +1 -1
- package/dist/ios/sdkBundle.js +7 -5
- package/dist/ios/sdkBundle.js.map +1 -1
- package/dist/ios/template.d.ts +1 -0
- package/dist/ios/template.d.ts.map +1 -1
- package/dist/ios/template.js +14 -1
- package/dist/ios/template.js.map +1 -1
- package/dist/ios/types.d.ts +2 -2
- package/dist/ios/types.d.ts.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +14 -13
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/service.d.ts +8 -6
- package/dist/mcp/service.d.ts.map +1 -1
- package/dist/mcp/service.js +34 -14
- package/dist/mcp/service.js.map +1 -1
- package/dist/ops/handlers.d.ts.map +1 -1
- package/dist/ops/handlers.js +10 -4
- package/dist/ops/handlers.js.map +1 -1
- package/dist/remote/sdkHomeDownload.d.ts +65 -0
- package/dist/remote/sdkHomeDownload.d.ts.map +1 -0
- package/dist/remote/sdkHomeDownload.js +208 -0
- package/dist/remote/sdkHomeDownload.js.map +1 -0
- package/dist/remote/topsdkDownloadSdkConfig.d.ts.map +1 -1
- package/dist/remote/topsdkDownloadSdkConfig.js +11 -1
- package/dist/remote/topsdkDownloadSdkConfig.js.map +1 -1
- package/dist/shared/errors.d.ts +7 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +16 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/fileUtils.d.ts +5 -0
- package/dist/shared/fileUtils.d.ts.map +1 -0
- package/dist/shared/fileUtils.js +35 -0
- package/dist/shared/fileUtils.js.map +1 -0
- package/dist/shared/logger.d.ts +10 -0
- package/dist/shared/logger.d.ts.map +1 -0
- package/dist/shared/logger.js +37 -0
- package/dist/shared/logger.js.map +1 -0
- package/dist/shared/pathUtils.d.ts +4 -0
- package/dist/shared/pathUtils.d.ts.map +1 -0
- package/dist/shared/pathUtils.js +22 -0
- package/dist/shared/pathUtils.js.map +1 -0
- package/dist/shared/processRunner.d.ts +12 -0
- package/dist/shared/processRunner.d.ts.map +1 -0
- package/dist/shared/processRunner.js +31 -0
- package/dist/shared/processRunner.js.map +1 -0
- package/docs/AAB_CONVERTER_CLI_PLAN.md +392 -0
- package/docs/API.md +246 -32
- package/docs/CLI.md +292 -0
- package/docs/INTEGRATION.md +116 -0
- package/docs/MCP.md +86 -0
- package/docs/README.md +19 -10
- package/docs/{api → archive/api}/downloadSDKConfig.md +8 -6
- package/docs/{api → archive/api}/getChannelConfig-meetgames.md +1 -1
- package/docs/archive/ios-migration.md +2139 -0
- package/docs/{ → archive/product/}/346/212/200/346/234/257/346/226/271/346/241/210/350/260/203/347/240/224.md +7 -7
- package/docs/{ → archive/product/}/351/234/200/346/261/202/346/226/207/346/241/243.md +15 -14
- package/logs/convert-20260622-155037.log +5 -0
- package/logs/convert-20260622-155226.log +6 -0
- package/meetsdk-android.json +2 -1
- package/meetsdk-ios.json +15 -0
- package/package.json +10 -36
- package/scripts/package-aab-cli-win.mjs +193 -0
- package/src/aab-converter/aab-entry.ts +48 -0
- package/src/aab-converter/apksExtractor.ts +119 -0
- package/src/aab-converter/bundletoolRunner.ts +63 -0
- package/src/aab-converter/cliArgs.ts +194 -0
- package/src/aab-converter/convertAabToApk.ts +81 -0
- package/src/aab-converter/resourcePaths.ts +43 -0
- package/src/aab-converter/signingOptions.ts +29 -0
- package/src/aab-converter/types.ts +26 -0
- package/src/android/adapter.ts +9 -0
- package/src/android/assembleIntegrationJson.ts +33 -0
- package/src/android/detect.ts +132 -0
- package/src/android/downloadGoogleServicesJson.ts +56 -0
- package/src/android/gradle.ts +116 -0
- package/src/android/manifest.ts +50 -0
- package/src/android/meetSdkRemoteGradle.ts +837 -0
- package/src/cli.ts +488 -0
- package/src/config/fetchConfigWrite.ts +30 -0
- package/src/config/loadAndroidIntegration.ts +41 -0
- package/src/config/loadManifest.ts +40 -0
- package/src/config/meetSdkDefaultConfig.ts +99 -0
- package/src/config/meetSdkIosConfig.ts +87 -0
- package/src/config/meetSdkRemoteConfig.ts +1211 -0
- package/src/config/topsdkFeatureModules.ts +92 -0
- package/src/contracts/types.ts +121 -0
- package/src/core/doctor.ts +485 -0
- package/src/core/patch.ts +64 -0
- package/src/core/pipeline.ts +107 -0
- package/src/core/platform.ts +47 -0
- package/src/core/previewPatches.ts +23 -0
- package/src/core/reporter.ts +24 -0
- package/src/core/workspace.ts +29 -0
- package/src/entry.ts +7 -0
- package/src/index.ts +133 -0
- package/src/ios/channelConfig.ts +128 -0
- package/src/ios/codeUtils.ts +160 -0
- package/src/ios/detect.ts +105 -0
- package/src/ios/entitlements.ts +61 -0
- package/src/ios/fileManager.ts +48 -0
- package/src/ios/infoPlist.ts +55 -0
- package/src/ios/integrate.ts +516 -0
- package/src/ios/pbxprojEditor.ts +383 -0
- package/src/ios/pluginConfig.ts +97 -0
- package/src/ios/reserved.ts +8 -0
- package/src/ios/sdkBundle.ts +36 -0
- package/src/ios/template.ts +36 -0
- package/src/ios/types.ts +65 -0
- package/src/mcp/server.ts +170 -0
- package/src/mcp/service.ts +222 -0
- package/src/mcp-entry.ts +7 -0
- package/src/ops/fileStore.ts +56 -0
- package/src/ops/handlers.ts +304 -0
- package/src/remote/fetchJson.ts +22 -0
- package/src/remote/sdkHomeDownload.ts +274 -0
- package/src/remote/topsdkDownloadSdkConfig.ts +93 -0
- package/src/remote/topsdkGetSdkConfig.ts +122 -0
- package/src/remote/topsdkSign.ts +10 -0
- package/src/shared/errors.ts +16 -0
- package/src/shared/fileUtils.ts +41 -0
- package/src/shared/logger.ts +49 -0
- package/src/shared/pathUtils.ts +24 -0
- package/src/shared/processRunner.ts +43 -0
- package/test-projects/README.md +51 -0
- package/test-projects/_preview/pipeline.patch +281 -0
- package/tests/aab-converter.test.ts +213 -0
- package/tests/assemble.test.ts +12 -0
- package/tests/doctor.test.ts +89 -0
- package/tests/downloadGoogleServicesJson.test.ts +47 -0
- package/tests/fetch-remote.test.ts +23 -0
- package/tests/fetchConfigOverrides.test.ts +28 -0
- package/tests/fetchConfigWrite.test.ts +54 -0
- package/tests/gradle.test.ts +33 -0
- package/tests/integration-json.test.ts +29 -0
- package/tests/ios.codeUtils.test.ts +23 -0
- package/tests/ios.sdkBundle.test.ts +16 -0
- package/tests/loadManifest.test.ts +15 -0
- package/tests/manifest-xml.test.ts +30 -0
- package/tests/mcp.e2e.ts +217 -0
- package/tests/mcp.service.test.ts +53 -0
- package/tests/meetSdkRemoteConfig.test.ts +456 -0
- package/tests/meetSdkRemoteGradle.test.ts +414 -0
- package/tests/pipeline.android.test.ts +96 -0
- package/tests/pipeline.integration-json.test.ts +58 -0
- package/tests/pipeline.ios.test.ts +385 -0
- package/tests/pipeline.preview.patch.test.ts +85 -0
- package/tests/platformSelection.test.ts +77 -0
- package/tests/sdkHomeDownload.test.ts +124 -0
- package/tests/sdkVersionConfig.test.ts +130 -0
- package/tests/test-projects-hosts.test.ts +78 -0
- package/tests/topsdk.test.ts +53 -0
- package/tests/topsdkDownloadSdkConfig.test.ts +81 -0
- package/tests/topsdkFeatureModules.test.ts +116 -0
- package/tsconfig.json +19 -0
- package/vitest.config.ts +9 -0
- package/vitest.mcp.config.ts +11 -0
- package/bundled/android/sample.txt +0 -1
- package/docs/ANDROID.md +0 -133
- package/docs/CURSOR-MCP-SETUP.md +0 -72
- package/docs/MCP-SKILL.md +0 -63
- package/fixtures/api-samples/getChannelConfig-meetgames.sample.json +0 -123
- package/fixtures/meetsdk-remote-config.download-shape.json +0 -20
- package/fixtures/meetsdk-remote-config.mock.json +0 -69
- package/fixtures/recipes/android-default.fixture.yaml +0 -15
- package/fixtures/recipes/android-integration.fixture.json +0 -29
- package/fixtures/topsdk-config-reference.json +0 -39
- /package/docs/{api → archive/api}/getSDKConfig.md +0 -0
package/docs/API.md
CHANGED
|
@@ -1,47 +1,261 @@
|
|
|
1
|
-
#
|
|
1
|
+
# API 说明
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`meet-sdk-tool` 当前有两类远端接口:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
| 接口 | 服务 | 用途 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| `GET {baseUrl}/console/openSDK/downloadSDKConfig` | gp-sdk console | 生成并下载宿主工程集成所需的 `meetsdk-remote-config.json` |
|
|
8
|
+
| `GET https://business-api.meetgames.com/sdk/home/version` | sdk-home | 获取下载中心展示的 Android / iOS 最新 SDK 版本和发布日期 |
|
|
9
|
+
| `GET https://business-api.meetgames.com/sdk/home/sdk-download/getDownLoadUrl` | sdk-home | 根据版本、平台、插件和包类型获取 SDK zip 临时下载地址 |
|
|
6
10
|
|
|
7
|
-
|
|
8
|
-
|------|------------------------|------------|
|
|
9
|
-
| [downloadSDKConfig](./api/downloadSDKConfig.md) | **是(当前主路径)** | `fetch-config`、`setup` |
|
|
10
|
-
| [getSDKConfig](./api/getSDKConfig.md) | 否(库内有实现,可映射 JSON) | — |
|
|
11
|
-
| [getChannelConfig(MeetGames 运营后台)](./api/getChannelConfig-meetgames.md) | **否** | — |
|
|
11
|
+
`downloadSDKConfig` 用于宿主工程配置;sdk-home 版本接口用于 Android 接入时解析最新 SDK 版本并写入 `meetsdk-android.json`,也用于 iOS SDK 下载时解析最新版本并写入 `meetsdk-ios.json`;sdk-home 下载接口用于同步工具包内置 iOS SDK 资源到 `bundled/ios-sdk`。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
## CLI 使用关系
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
| 命令 | 是否请求接口 | 说明 |
|
|
16
|
+
|---|---:|---|
|
|
17
|
+
| `fetch-config` | 是 | 拉取并写入 `meetsdk-remote-config.json` |
|
|
18
|
+
| `setup` | 是 | 第一步执行 `fetch-config`;Android 集成阶段还会读取 sdk-home 最新 Android 版本并写入 `meetsdk-android.json` |
|
|
19
|
+
| `doctor` | 是 | 第一步执行 `fetch-config`;Android 检查阶段还会读取 sdk-home 最新 Android 版本并写入 `meetsdk-android.json` |
|
|
20
|
+
| `integrate` | Android 是 / iOS 否 | Android 读取 sdk-home 最新 Android 版本,写入 `meetsdk-android.json`,再写入 Gradle;iOS 只读取本地 `meetsdk-remote-config.json` 和 bundled SDK |
|
|
21
|
+
| `download-ios-sdk` | 是 | 先读 sdk-home 最新 iOS 版本,再取 SDK zip URL,下载并解压到 `bundled/ios-sdk`,成功后写入 `meetsdk-ios.json` |
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|------|-------------------------------------------|------|
|
|
19
|
-
| `prod` | `https://api-sdk-gameplus.meetsocial.com/` | CLI `--env prod`(默认) |
|
|
20
|
-
| `pre` | `https://pre-api-sdk-gameplus.meetsocial.com/` | CLI `--env pre` |
|
|
21
|
-
| `test` | `https://test-api-sdk-gameplus.meetsocial.com/` | CLI `--env test` |
|
|
22
|
-
| 覆盖 | 环境变量 `TOPSDK_API_BASE_URL` | 如本机 console:`http://localhost:18080/` |
|
|
23
|
+
## downloadSDKConfig
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
### 请求
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
| 项 | 值 |
|
|
28
|
+
|---|---|
|
|
29
|
+
| 方法 | `GET` |
|
|
30
|
+
| 路径 | `{baseUrl}console/openSDK/downloadSDKConfig` |
|
|
31
|
+
| Query | `appId`、`channelType`、`sign`、`timestamp` |
|
|
32
|
+
| 签名 | `sign = base64(md5_binary(appId + appSecret + timestamp))` |
|
|
33
|
+
| timestamp | 毫秒时间戳 |
|
|
27
34
|
|
|
28
|
-
|
|
29
|
-
2. [getSDKConfig](./api/getSDKConfig.md) — gp-sdk 旧接口,需 sign,返回 `channelAuthConfig`
|
|
30
|
-
3. [getChannelConfig(MeetGames)](./api/getChannelConfig-meetgames.md) — 运营后台渠道配置 VO,含 `authConfigs` / `thirdDataPlatform` / `parameterConfig`
|
|
35
|
+
示例:
|
|
31
36
|
|
|
32
|
-
|
|
37
|
+
```http
|
|
38
|
+
GET http://127.0.0.1:8081/console/openSDK/downloadSDKConfig?appId=791251136341225472&channelType=APPLE&sign=...×tamp=...
|
|
39
|
+
```
|
|
33
40
|
|
|
34
|
-
|
|
41
|
+
CLI:
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
```bash
|
|
44
|
+
TOPSDK_API_BASE_URL=http://127.0.0.1:8081/ \
|
|
45
|
+
node dist/entry.js fetch-config \
|
|
46
|
+
--app-id 791251136341225472 \
|
|
47
|
+
--app-secret 'YOUR_APP_SECRET' \
|
|
48
|
+
--channel-type APPLE \
|
|
49
|
+
--project-root ./fixtures/ios-test-project/tooltest \
|
|
50
|
+
--env test \
|
|
51
|
+
--verbose
|
|
52
|
+
```
|
|
37
53
|
|
|
38
|
-
|
|
54
|
+
### Base URL
|
|
39
55
|
|
|
40
|
-
|
|
56
|
+
| 环境 | Base URL |
|
|
57
|
+
|---|---|
|
|
58
|
+
| `prod` | `https://api-sdk-gameplus.meetsocial.com/` |
|
|
59
|
+
| `pre` | `https://pre-api-sdk-gameplus.meetsocial.com/` |
|
|
60
|
+
| `test` | `https://test-api-sdk-gameplus.meetsocial.com/` |
|
|
61
|
+
| 本地覆盖 | `TOPSDK_API_BASE_URL=http://127.0.0.1:8081/` |
|
|
41
62
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
63
|
+
`TOPSDK_API_BASE_URL` 优先级最高。
|
|
64
|
+
|
|
65
|
+
### 响应
|
|
66
|
+
|
|
67
|
+
响应 body 是完整 `meetsdk-remote-config.json`,不是 `{ code, data }` 包装。
|
|
68
|
+
|
|
69
|
+
`fetch-config`、`setup`、`doctor` 会把响应原文写入:
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
<project-root>/meetsdk-remote-config.json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### JSON 数据来源
|
|
76
|
+
|
|
77
|
+
| JSON 路径 | 数据来源 | 说明 |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `packageName` | `channel.package_name` | Android package / iOS bundle 相关标识 |
|
|
80
|
+
| `channel` | `channel.channel_type` | 例如 `GOOGLE` / `APPLE` |
|
|
81
|
+
| `devicePlatform` | `channel.device_platform` | `android` / `ios` |
|
|
82
|
+
| `topsdk.appId` | `app.id` | 应用 ID |
|
|
83
|
+
| `topsdk.appSecret` | `app.secret` | 应用密钥 |
|
|
84
|
+
| `sdkModules.login.*` | `channel_auth` | key 使用 authType 小写;字段使用 `DTOChannelAuth` 原字段 |
|
|
85
|
+
| `sdkModules.payment.*` | `channel_payment` | IAP 平台配置 |
|
|
86
|
+
| `sdkModules.analytics.*` | `channel_third_data_platform` | AppsFlyer / Firebase / Adjust 等 |
|
|
87
|
+
|
|
88
|
+
### 字段规则
|
|
89
|
+
|
|
90
|
+
`downloadSDKConfig` 只输出数据库原始字段中有 value 的 key。
|
|
91
|
+
|
|
92
|
+
登录渠道字段来自 `DTOChannelAuth`:
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
clientId
|
|
96
|
+
secret
|
|
97
|
+
redirect
|
|
98
|
+
scheme
|
|
99
|
+
name
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
如果数据库没有 `scheme`,JSON 不输出 `scheme`。
|
|
103
|
+
如果数据库没有 `name`,JSON 不输出 `name`。
|
|
104
|
+
服务端不做推导、不写空字符串占位。
|
|
105
|
+
|
|
106
|
+
示例:
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"sdkModules": {
|
|
111
|
+
"login": {
|
|
112
|
+
"facebook": {
|
|
113
|
+
"clientId": "883695101201170",
|
|
114
|
+
"scheme": "fb883695101201170",
|
|
115
|
+
"secret": "client-token",
|
|
116
|
+
"name": "top-demo"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 固定 SDK 配置
|
|
124
|
+
|
|
125
|
+
`downloadSDKConfig` 不返回 SDK 版本、Maven 仓库、依赖坐标、Firebase Gradle plugin 等固定集成配置。
|
|
126
|
+
|
|
127
|
+
Maven 仓库、依赖坐标、Firebase Gradle plugin 等由工具内置文件提供:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
meetsdk-android.json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Android SDK 版本也存放在 `meetsdk-android.json`。`integrate` / `doctor` 处理 Android 工程时,会调用 sdk-home `version` 接口读取 `data.result.android.ver` / `date`,写入 `meetsdk-android.json` 的 `topsdk.version` / `topsdk.date`,再合并为 Gradle 的 `topsdk_version`。
|
|
134
|
+
|
|
135
|
+
iOS SDK 固定配置存放在:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
meetsdk-ios.json
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
该文件用于记录工具包当前 bundled iOS SDK 对应的版本、发布日期、包类型和插件组合。
|
|
142
|
+
|
|
143
|
+
## sdk-home 版本与 SDK 下载接口
|
|
144
|
+
|
|
145
|
+
这两个接口对应 MeetGames 下载页:
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
https://business.meetgames.com/sdkDownloadDetail?type=ios
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
工具侧用途是读取下载中心维护的 SDK 版本与 SDK 包下载地址。它们不返回宿主工程渠道参数,也不替代 `downloadSDKConfig`。
|
|
152
|
+
|
|
153
|
+
### Base URL
|
|
154
|
+
|
|
155
|
+
| 环境 | Base URL |
|
|
156
|
+
|---|---|
|
|
157
|
+
| 生产 | `https://business-api.meetgames.com` |
|
|
158
|
+
| 覆盖 | `MEETGAMES_SDK_HOME_API_BASE_URL=https://...` 或 CLI `--sdk-api-base-url` |
|
|
159
|
+
|
|
160
|
+
### version
|
|
161
|
+
|
|
162
|
+
用途:获取下载中心当前展示的最新 SDK 版本。
|
|
163
|
+
|
|
164
|
+
- Android `integrate` / `setup` / `doctor` 会读取 `data.result.android.ver` / `date`,先写入 `meetsdk-android.json`,再用于写入或校验 Gradle 中的 `topsdk_version`。
|
|
165
|
+
- `download-ios-sdk` 未显式传 `--version` 时,会读取 `data.result.ios.ver` / `date` 作为下载版本;下载和解压成功后写入 `meetsdk-ios.json`。
|
|
166
|
+
|
|
167
|
+
请求:
|
|
168
|
+
|
|
169
|
+
```http
|
|
170
|
+
GET https://business-api.meetgames.com/sdk/home/version
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
响应示例:
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"code": 200,
|
|
178
|
+
"error": null,
|
|
179
|
+
"message": null,
|
|
180
|
+
"data": {
|
|
181
|
+
"result": {
|
|
182
|
+
"android": {
|
|
183
|
+
"date": "2026-05-25",
|
|
184
|
+
"ver": "1.6.1.3"
|
|
185
|
+
},
|
|
186
|
+
"ios": {
|
|
187
|
+
"date": "2026-06-09",
|
|
188
|
+
"ver": "1.6.0.5"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"success": true
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
工具只读取:
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
data.result.android.ver
|
|
200
|
+
data.result.android.date
|
|
201
|
+
data.result.ios.ver
|
|
202
|
+
data.result.ios.date
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### getDownLoadUrl
|
|
206
|
+
|
|
207
|
+
用途:让 sdk-home 根据页面选项定位或生成 SDK zip,并返回 OSS / COS 临时下载地址。`download-ios-sdk` 用返回的 `data` 下载 zip,保存为:
|
|
208
|
+
|
|
209
|
+
```text
|
|
210
|
+
<package-root>/bundled/ios-sdk/topSDK-ios--V{version}.zip
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
随后解压到:
|
|
214
|
+
|
|
215
|
+
```text
|
|
216
|
+
<package-root>/bundled/ios-sdk
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
下载和解压成功后,工具会更新:
|
|
220
|
+
|
|
221
|
+
```text
|
|
222
|
+
<package-root>/meetsdk-ios.json
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
请求:
|
|
226
|
+
|
|
227
|
+
| Query | 说明 | 默认值 |
|
|
228
|
+
|---|---|---|
|
|
229
|
+
| `version` | SDK 版本;默认来自 `version` 接口的 `data.result.ios.ver` | 最新 iOS 版本 |
|
|
230
|
+
| `platform` | 平台 | `ios` |
|
|
231
|
+
| `plugins` | 逗号分隔插件列表 | `guest,facebook,google,apple,apple_pay,dataAppsFlyer` |
|
|
232
|
+
| `packageType` | 包类型 / 引擎 | `native` |
|
|
233
|
+
|
|
234
|
+
示例:
|
|
235
|
+
|
|
236
|
+
```http
|
|
237
|
+
GET https://business-api.meetgames.com/sdk/home/sdk-download/getDownLoadUrl?version=1.6.0.5&platform=ios&plugins=guest,facebook,google,apple,apple_pay,dataAppsFlyer&packageType=native
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
响应示例:
|
|
241
|
+
|
|
242
|
+
```json
|
|
243
|
+
{
|
|
244
|
+
"code": 200,
|
|
245
|
+
"error": null,
|
|
246
|
+
"message": null,
|
|
247
|
+
"data": "https://gz-publicread-fspan-1302967645.cos.ap-guangzhou.myqcloud.com/sdk-home/xxx.zip?sign=..."
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
`data` 是短期有效下载 URL。不要把该 URL 固化到配置或文档中;需要下载时重新请求 `getDownLoadUrl`。
|
|
252
|
+
|
|
253
|
+
## 归档接口
|
|
254
|
+
|
|
255
|
+
旧接口和对照接口已归档:
|
|
256
|
+
|
|
257
|
+
| 文档 | 说明 |
|
|
258
|
+
|---|---|
|
|
259
|
+
| [archive/api/downloadSDKConfig.md](./archive/api/downloadSDKConfig.md) | 历史详细接口说明 |
|
|
260
|
+
| [archive/api/getSDKConfig.md](./archive/api/getSDKConfig.md) | 旧 `getSDKConfig` 接口 |
|
|
261
|
+
| [archive/api/getChannelConfig-meetgames.md](./archive/api/getChannelConfig-meetgames.md) | MeetGames 后台接口对照 |
|
package/docs/CLI.md
ADDED
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# meetgames CLI 参数说明
|
|
2
|
+
|
|
3
|
+
本文档说明 `meetgames` CLI 的子命令、参数和环境变量。实现以 `src/cli.ts` 为准。
|
|
4
|
+
|
|
5
|
+
## 子命令
|
|
6
|
+
|
|
7
|
+
| 子命令 | 作用 | 是否写文件 |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| `fetch-config` | 请求 `downloadSDKConfig`,将响应原文写入 `<project-root>/meetsdk-remote-config.json` | 是 |
|
|
10
|
+
| `download-ios-sdk` | 请求 sdk-home 版本和下载接口,下载 iOS SDK zip 并解压到 `bundled/ios-sdk`,更新 `meetsdk-ios.json` | 是 |
|
|
11
|
+
| `integrate` | 读取本地配置并接入 Android 或 iOS SDK;Android 会请求 sdk-home 最新版本并更新 `meetsdk-android.json` | 默认写;`--dry-run` 时不写宿主工程文件 |
|
|
12
|
+
| `setup` | 先执行 `fetch-config`,再执行 `integrate`;Android 集成阶段会请求 sdk-home 最新版本并更新 `meetsdk-android.json` | 是;集成阶段受 `--dry-run` 影响 |
|
|
13
|
+
| `doctor` | 先执行 `fetch-config`,再检查当前工程 SDK 接入是否正确;Android 检查阶段会请求 sdk-home 最新版本并更新 `meetsdk-android.json` | 是,会刷新 `meetsdk-remote-config.json` |
|
|
14
|
+
|
|
15
|
+
`doctor`、`setup`、`integrate` 都要求传入 `--project-root`。工具会根据该路径自动识别 Android 或 iOS,并且只执行对应平台逻辑。
|
|
16
|
+
Android `integrate` / `setup` / `doctor` 会调用 sdk-home `version` 接口读取最新 Android SDK 版本,写入 `meetsdk-android.json`,并写入或校验 Gradle 中的 `topsdk_version`。
|
|
17
|
+
`download-ios-sdk` 面向工具包自身的内置 iOS SDK 资源,不需要传 `--project-root`。
|
|
18
|
+
|
|
19
|
+
## 通用示例
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node dist/entry.js setup \
|
|
23
|
+
--app-id <APP_ID> \
|
|
24
|
+
--app-secret '<APP_SECRET>' \
|
|
25
|
+
--channel-type GOOGLE \
|
|
26
|
+
--project-root /path/to/project \
|
|
27
|
+
--env test \
|
|
28
|
+
--verbose
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
iOS 多 App target 工程建议显式指定 target:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
node dist/entry.js setup \
|
|
35
|
+
--app-id <APP_ID> \
|
|
36
|
+
--app-secret '<APP_SECRET>' \
|
|
37
|
+
--channel-type APPLE \
|
|
38
|
+
--project-root /path/to/ios-project \
|
|
39
|
+
--app-target GameRelease \
|
|
40
|
+
--env test \
|
|
41
|
+
--verbose
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Android 多 application module 工程建议显式指定 app module:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
node dist/entry.js setup \
|
|
48
|
+
--app-id <APP_ID> \
|
|
49
|
+
--app-secret '<APP_SECRET>' \
|
|
50
|
+
--channel-type GOOGLE \
|
|
51
|
+
--project-root /path/to/android-project \
|
|
52
|
+
--app-target :app \
|
|
53
|
+
--env test \
|
|
54
|
+
--verbose
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
node dist/entry.js doctor \
|
|
59
|
+
--app-id <APP_ID> \
|
|
60
|
+
--app-secret '<APP_SECRET>' \
|
|
61
|
+
--channel-type GOOGLE \
|
|
62
|
+
--project-root /path/to/project \
|
|
63
|
+
--env test \
|
|
64
|
+
--verbose
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
刷新工具内置 iOS SDK:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
node dist/entry.js download-ios-sdk --verbose
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
指定版本或插件组合:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
node dist/entry.js download-ios-sdk \
|
|
77
|
+
--version 1.6.0.5 \
|
|
78
|
+
--plugins guest,facebook,google,apple,apple_pay,dataAppsFlyer \
|
|
79
|
+
--package-type native \
|
|
80
|
+
--verbose
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 参数
|
|
84
|
+
|
|
85
|
+
| 参数 | `fetch-config` | `integrate` | `setup` | `doctor` | 说明 |
|
|
86
|
+
|---|---:|---:|---:|---:|---|
|
|
87
|
+
| `--project-root <path>` | 可选 | 必填 | 必填 | 必填 | 宿主工程目录;iOS 可传工程目录或 `.xcodeproj` 目录 |
|
|
88
|
+
| `--app-target <target>` | 否 | 可选 | 可选 | 可选 | 统一指定要接入/检查的 App 目标;Android 传 application module(如 `:app` / `app`),iOS 传 App target 名 |
|
|
89
|
+
| `--app-id <id>` | 必填* | 否 | 必填* | 必填* | 应用 ID;也可用 `TOPSDK_APP_ID` |
|
|
90
|
+
| `--app-secret <secret>` | 必填* | 否 | 必填* | 必填* | 用于计算接口签名;也可用 `TOPSDK_APP_SECRET` |
|
|
91
|
+
| `--channel-type <type>` | 必填* | 否 | 必填* | 必填* | 渠道类型,如 `GOOGLE` / `APPLE`;也可用 `TOPSDK_CHANNEL_TYPE` |
|
|
92
|
+
| `--env prod|pre|test` | 是 | 否 | 是 | 是 | 默认 `prod` |
|
|
93
|
+
| `--dry-run` | 忽略 | 是 | 是 | 否 | 只预览集成改动,不写工程文件;`setup` 的 fetch 步骤仍会写配置 |
|
|
94
|
+
| `--patch-file <path>` | 忽略 | 是 | 是 | 否 | 输出 dry-run patch |
|
|
95
|
+
| `--report-file <path>` | 忽略 | 是 | 是 | 否 | 输出 JSON report |
|
|
96
|
+
| `--sdk-api-base-url <url>` | 否 | Android 可选 | Android 可选 | Android 可选 | 覆盖 sdk-home API 根地址;用于 Android 最新版本查询,也用于 `download-ios-sdk` |
|
|
97
|
+
| `--verbose` | 是 | 是 | 是 | 是 | 输出详细日志 |
|
|
98
|
+
|
|
99
|
+
`*` 表示如果本地已有可解析配置或环境变量提供对应值,可以不在命令行显式传入。`appSecret` 不会从本地 `meetsdk-remote-config.json` 读取。
|
|
100
|
+
|
|
101
|
+
### download-ios-sdk 专用参数
|
|
102
|
+
|
|
103
|
+
| 参数 | 说明 |
|
|
104
|
+
|---|---|
|
|
105
|
+
| `--version <version>` | 指定下载的 iOS SDK 版本;不传时先调用 sdk-home `version` 接口读取最新 iOS 版本 |
|
|
106
|
+
| `--plugins <csv>` | 逗号分隔插件列表;默认 `guest,facebook,google,apple,apple_pay,dataAppsFlyer`,与下载页 iOS 默认选择一致 |
|
|
107
|
+
| `--package-type native|unity|cocos` | 包类型 / 引擎;默认 `native` |
|
|
108
|
+
| `--output-dir <path>` | zip 保存和解压目录;默认 `<package-root>/bundled/ios-sdk` |
|
|
109
|
+
|
|
110
|
+
该命令会把 zip 保存为:
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
<package-root>/bundled/ios-sdk/topSDK-ios--V{version}.zip
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
并把压缩包内容解压到:
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
<package-root>/bundled/ios-sdk
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## 环境变量
|
|
123
|
+
|
|
124
|
+
| 环境变量 | 作用 |
|
|
125
|
+
|---|---|
|
|
126
|
+
| `TOPSDK_API_BASE_URL` | 覆盖 API 根地址,例如 `http://127.0.0.1:8081/` |
|
|
127
|
+
| `TOPSDK_APP_ID` | `fetch-config` / `setup` / `doctor` 默认 appId |
|
|
128
|
+
| `TOPSDK_APP_SECRET` | 默认 appSecret |
|
|
129
|
+
| `TOPSDK_CHANNEL_TYPE` | 默认 channelType |
|
|
130
|
+
| `MEETGAMES_SDK_HOME_API_BASE_URL` | sdk-home API 根地址;用于 Android 最新版本查询和 `download-ios-sdk` |
|
|
131
|
+
|
|
132
|
+
## 环境地址
|
|
133
|
+
|
|
134
|
+
| `--env` | 默认 Base URL |
|
|
135
|
+
|---|---|
|
|
136
|
+
| `prod` | `https://api-sdk-gameplus.meetsocial.com/` |
|
|
137
|
+
| `pre` | `https://pre-api-sdk-gameplus.meetsocial.com/` |
|
|
138
|
+
| `test` | `https://test-api-sdk-gameplus.meetsocial.com/` |
|
|
139
|
+
|
|
140
|
+
`TOPSDK_API_BASE_URL` 优先级最高。
|
|
141
|
+
|
|
142
|
+
## 子命令说明
|
|
143
|
+
|
|
144
|
+
### fetch-config
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
node dist/entry.js fetch-config \
|
|
148
|
+
--app-id <APP_ID> \
|
|
149
|
+
--app-secret '<APP_SECRET>' \
|
|
150
|
+
--channel-type GOOGLE \
|
|
151
|
+
--project-root /path/to/project \
|
|
152
|
+
--env test
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
调用:
|
|
156
|
+
|
|
157
|
+
```text
|
|
158
|
+
GET {baseUrl}/console/openSDK/downloadSDKConfig
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
并将响应 bytes 原样写入:
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
<project-root>/meetsdk-remote-config.json
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### integrate
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
node dist/entry.js integrate \
|
|
171
|
+
--project-root /path/to/project \
|
|
172
|
+
--dry-run \
|
|
173
|
+
--verbose
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
读取本地 `meetsdk-remote-config.json` 和内置 recipe:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
recipes/integrate-default.yaml
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
根据 `--project-root` 识别平台,只执行 Android 或 iOS 的接入步骤。
|
|
183
|
+
|
|
184
|
+
Android 接入会先调用:
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
GET https://business-api.meetgames.com/sdk/home/version
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
用途:读取 `data.result.android.ver` / `date`,写入 `meetsdk-android.json` 的 `topsdk.version` / `topsdk.date`,并作为 Gradle 中的 `topsdk_version`。`meetsdk-android.json` 同时保留 Maven 仓库、依赖坐标、Firebase Gradle plugin 等固定配置。
|
|
191
|
+
|
|
192
|
+
当 Android 工程中存在多个 application module 时,如果未传 `--app-target`,命令会报出候选 module 列表;传入后会把 Gradle、Manifest、`google-services.json` 等写到选中的 module 下。
|
|
193
|
+
|
|
194
|
+
传入 `--app-target` 时会校验目标是否存在:Android 校验目标 application module,iOS 校验目标 App target。
|
|
195
|
+
|
|
196
|
+
### download-ios-sdk
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
node dist/entry.js download-ios-sdk --verbose
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
执行顺序:
|
|
203
|
+
|
|
204
|
+
1. 调用 sdk-home 版本接口:
|
|
205
|
+
|
|
206
|
+
```text
|
|
207
|
+
GET https://business-api.meetgames.com/sdk/home/version
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
用途:读取下载中心当前 iOS 最新版本,即 `data.result.ios.ver` / `date`。
|
|
211
|
+
|
|
212
|
+
2. 调用 sdk-home 下载接口:
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
GET https://business-api.meetgames.com/sdk/home/sdk-download/getDownLoadUrl
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
默认 query:
|
|
219
|
+
|
|
220
|
+
```text
|
|
221
|
+
version=<version接口返回的iOS版本>
|
|
222
|
+
platform=ios
|
|
223
|
+
plugins=guest,facebook,google,apple,apple_pay,dataAppsFlyer
|
|
224
|
+
packageType=native
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
用途:获取短期有效的 SDK zip 下载 URL。
|
|
228
|
+
|
|
229
|
+
3. 下载 zip 并解压到工具包内置资源目录:
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
bundled/ios-sdk
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
后续 `integrate` / `doctor` 的 iOS 流程会从该目录读取 `sdk/` 和 `plugins/`。
|
|
236
|
+
|
|
237
|
+
下载和解压成功后,命令会更新:
|
|
238
|
+
|
|
239
|
+
```text
|
|
240
|
+
meetsdk-ios.json
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
用途:记录当前 bundled iOS SDK 对应的版本、发布日期、包类型和插件组合。
|
|
244
|
+
|
|
245
|
+
### setup
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
node dist/entry.js setup \
|
|
249
|
+
--app-id <APP_ID> \
|
|
250
|
+
--app-secret '<APP_SECRET>' \
|
|
251
|
+
--channel-type APPLE \
|
|
252
|
+
--project-root /path/to/ios-project \
|
|
253
|
+
--env test \
|
|
254
|
+
--verbose
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
执行顺序:
|
|
258
|
+
|
|
259
|
+
1. `fetch-config`
|
|
260
|
+
2. `integrate`
|
|
261
|
+
|
|
262
|
+
### doctor
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
node dist/entry.js doctor \
|
|
266
|
+
--app-id <APP_ID> \
|
|
267
|
+
--app-secret '<APP_SECRET>' \
|
|
268
|
+
--channel-type APPLE \
|
|
269
|
+
--project-root /path/to/ios-project \
|
|
270
|
+
--env test \
|
|
271
|
+
--verbose
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
执行顺序:
|
|
275
|
+
|
|
276
|
+
1. `fetch-config`
|
|
277
|
+
2. 自动识别 Android / iOS
|
|
278
|
+
3. 执行对应平台详细校验
|
|
279
|
+
|
|
280
|
+
Android doctor 会检查仓库、依赖、`resValue`、`google-services.json` 等。
|
|
281
|
+
iOS doctor 会检查 SDK 文件、Xcode 引用、`GoogleService-Info.plist`、`Info.plist` 参数、插件参数、URL Scheme 是否写入、Delegate 注入等。
|
|
282
|
+
|
|
283
|
+
## 退出码
|
|
284
|
+
|
|
285
|
+
| 退出码 | 含义 |
|
|
286
|
+
|---:|---|
|
|
287
|
+
| `0` | 成功 |
|
|
288
|
+
| `2` | 参数错误 |
|
|
289
|
+
| `3` | 工程识别或工程结构错误 |
|
|
290
|
+
| `4` | 配置或 doctor 校验失败 |
|
|
291
|
+
| `5` | 集成 pipeline 失败 |
|
|
292
|
+
| `6` | 网络请求失败 |
|