integrateUniPushAndroid
集成 DCloud UniPush(个推)Android 模块:Gradle、Manifest、dcloud_properties 等。
前置依赖
基于 integrateThirdPartyModule,扩展 IntegrateThirdPartyModuleDeps(fs、path、xml 修改等,见源码 UniPushAndroidDeps)。
函数签名
typescript
function integrateUniPushAndroid(
projectPath: string,
moduleDir: string,
config: UniPushAndroidConfig,
deps: UniPushAndroidDeps,
): Promise<IntegrateThirdPartyModuleResult>UniPushAndroidConfig 含 appId / appKey / appSecret、integrationMode(maven | aar)、厂商占位键、是否同步 dcloud_properties 等。
参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
projectPath | string | 是 | Android 工程根 |
moduleDir | string | 是 | 应用模块目录 |
config | UniPushAndroidConfig | 是 | 个推与集成选项 |
deps | UniPushAndroidDeps | 是 | 文件与 Gradle/Manifest 修改能力 |
返回值
| 类型 | 说明 |
|---|---|
IntegrateThirdPartyModuleResult | 与第三方模块集成一致:success、logs、error |
工作原理
- maven 模式:根工程添加个推 Maven 仓与默认
gtsdk/gtc-dcloud依赖。 - aar 模式:拷贝指定 aar/jar 到模块
libs。 - 写入
GETUI_APPID等 manifestPlaceholders 与plus.unipush.*配置。 - 可选同步
dcloud_properties.xml、PandoraEntry intent-filter(UniPush scheme / OPPO 等)。 - 委托
integrateThirdPartyModule完成拷贝与 Gradle 变更。