构建不同 Channel 包

# 构建不同 Channel 包

# 使用 uniapp 内置的

对应 HBuilderX 下,Menu > Build > Cloud Packaging

如上图所示:

HBuilderX 默认提供 7 个渠道(Google、360、小米、华为、应用宝、vivo、oppo),更多可以在manifest.json文件中【源码视图】进行配置。

默认渠道 渠道标识ID
GooglePlay google
应用宝 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_ioschannelid_iosappkey_androidchannelid_android,其中 appkey_ioschannelid_android 是必填项。 对应的是您在 友盟后台 (opens new window) 申请的应用ID。

channelid_ioschannelid_android 可选,属性的作用用于区分来自不同渠道 APP。ios 基本只有一个渠道,android 渠道相应多点,比如应用宝华为小米viovoppe 等。

同样进入可视化视图之后可以看到如下配置内容:

{
    "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 上报的数据实时性的问题,友盟对于部分数据时性需要是付费用户。 当天上报的可能存在看不到的现象。

# 参考

Last Updated: 6/25/2022, 5:25:39 PM