构建不同 Channel 包
# 构建不同 Channel 包
# 使用 uniapp 内置的
对应 HBuilderX 下,Menu > Build > Cloud Packaging
如上图所示:
HBuilderX 默认提供 7 个渠道(Google、360、小米、华为、应用宝、vivo、oppo),更多可以在manifest.json文件中【源码视图】进行配置。
| 默认渠道 | 渠道标识ID |
|---|---|
| GooglePlay | |
| 应用宝 | yyb |
| 360应用市场 | 360 |
| 华为应用商店 | huawei |
| 小米应用商店 | xiaomi |
| vivo应用商店 | vivo |
| oppo应用商店 | oppo |
注意:提交谷歌应用市场(Google Play)时一定要将渠道标识设置为google,即一定要选择打包界面里的google渠道,否则会无法提交到play store
# 自定义 Channel 包
默认的渠道数量不够使,想要更多渠道?
在 manifest.json【源码视图】中, 根节点增加 channel_list 字段.
{
"channel_list":[
{
"id":"",
"name":""
}
]
}
注意,
channel_list添加在根节点
比如:
{
"channel_list":[
{
"id":"chuizi",
"name":"锤子应用市场"
},
{
"id":"meizu",
"name":"魅族应用市场"
}
]
}
配置后会在上面的云端打包界面显示自定义渠道,提交云端打包时需要勾选才能生效。
# 代码中根据不同渠道添加个性化参数或功能
// 获取渠道 ID
plus.runtime.channel
// 此方法可获取基本的app信息,如版本号,名称等
plus.runtime
# 整合 umeng 对不同的渠道包进行数据分析
默认 HbulderX 中提供对友盟SDK支持,在使用时只需要通过简单的配置即可。
首先打开 manifest.json 的可视化视图界面,进入 App模块配置 -> 勾选 Statistic -> 再勾选 友盟统计 如下:
从上图中可以看到需要填写项 appkey_ios、channelid_ios 、appkey_android、channelid_android,其中 appkey_ios、channelid_android 是必填项。 对应的是您在 友盟后台 (opens new window) 申请的应用ID。
channelid_ios,channelid_android 可选,属性的作用用于区分来自不同渠道 APP。ios 基本只有一个渠道,android 渠道相应多点,比如应用宝、华为、小米、viov、oppe 等。
同样进入可视化视图之后可以看到如下配置内容:
{
"sdkConfigs":{
"statics" : {
"umeng" : {
"appkey_ios" : "******************",
"channelid_ios" : "iOS平台的渠道字符串,可输入任意字符串",
"appkey_android" : "******************",
"channelid_android" : "huawei"
}
}
}
}
集成成功之后,开始进行进入 coding 阶段,那么在代码中如何进行数据的上报呢 ? plus.statistic (opens new window)。
plus.statistic.eventTrig("eventName", "事件参数");
- eventName: 是在友盟定义的事件名称。
- params: 自定义,需要上报到友盟的数据体。
⚠️注意:配置完成后,要用自己的 app 证书等信息,打包自定义调试基座,或者云打包正式 app 后才能生效。
# 注意事项
- uniapp 进行云打包的时候,如果友盟上报需要区分不同渠道,则需要一个一个进行打包。
- uniapp 上报的数据实时性的问题,友盟对于部分数据时性需要是付费用户。 当天上报的可能存在看不到的现象。