跳到主要内容

SDK配置

1、SDK说明

警告

SDK提供两种zip资源,一种是不包含配置的SDK,一种是包含配置的SDK。包含配置的SDK为正式参数,游戏直接替换配置文件或替换内部参数;不包含配置的SDK仅做接入使用,无法联调。

1.1、SDK目录结构说明

  • /demo :demo工程

  • /resource : SDK资源

    /resource/entry/libs/DHSDKHelper.har : SDK har包

    /resource/entry/src/main/resources/rawfile/dh_config.json : SDK配置文件,直接拷贝至/entry/src/main/resources/rawfile目录

    /resource/entry/src/main/resources/rawfile/dh_wenxin_config.json : SDK配置文件,直接拷贝至/entry/src/main/resources/rawfile目录

    /resource/entry/build-profile.json5 : Module级配置文件

    /resource/entry/oh-package.json5 : Module级配置文件

    /resource/hvigor/hvigor-config.json5 : 编译工具版本配置文件

    /resource/material : 签名配置目录

    /resource/metadata.json5 : SDK自定义的metadata配置

    /resource/oh-package.json5 : 工程级配置文件

    /resource/*-debug.p7b : 联调版本p7b profile

    /resource/*-publish.p7b : 发布版本p7b profile

    /resource/dh-debug.cer : 联调版本cer

    /resource/dh-release.cer : 发布版本cer

    /resource/dh.p12 : 签名文件

1.2、SDK配置

1.2.1 拷贝har和配置

  • 拷贝/resource/entry/libs/DHSDKHelper.har到游戏工程entry/libs目录下,如果游戏工程entry目录下没有libs目录,请先创建目录
  • 拷贝/resource/entry/src/main/resources/rawfile目录到游戏工程entry/src/main/resources目录下
  • 拷贝/resource/material目录、/resource/*.p7b文件、/resource/*.cer文件、/resource/dh.p12 共一个目录,5个文件到游戏工程根目录下

1.2.2 修改配置

1.2.2.1 修改工程级build-profile.json5
参考/resource/build-profile.json5,拷贝内部app/signingConfigs值替换游戏app/signingConfigs值
说明:name为default的配置是联调签名配置,name为publish的配置是发布签名配置,根据当前包体属性选择修改app/products元素中的signingConfig值
示例如下:
"app": {
"signingConfigs": [
{
"name": "default",
"type": "HarmonyOS",
"material": {
"storePassword": "***",
"certpath": "dh-debug.cer",
"keyAlias": "***",
"keyPassword": "***",
"profile": "zhzf2-debug.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "dh.p12"
}
},
{
"name": "publish",
"type": "HarmonyOS",
"material": {
"storePassword": "***",
"certpath": "dh-release.cer",
"keyAlias": "***",
"keyPassword": "***",
"profile": "zhzf2-publish.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "dh.p12"
}
}],
"products": [
{
"name": "default",
"signingConfig": "default",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS"
}]
}
1.2.2.2 修改entry/build-profile.json5
如果研发没有buildOption字段,直接拷贝/resource/entry/build-profile.json5内部的buildOption字段和值;
如果研发有动态import模块,请buildOption/arkOptions/runtimeOnly/packages的数组值中追加DHSDKHelper
示例如下:
"buildOption": {
"arkOptions": {
"runtimeOnly": {
// 配置本模块变量动态import其他模块名,要求与dependencies中配置的名字一致。
"packages": [
"DHSDKHelper"
]
}
}
}
1.2.2.3 修改entry/oh-package.json5
dependencies值中追加"DHSDKHelper": "file:libs/DHSDKHelper.har",同时执行ohpm install;
注意:追加内容不允许修改!!!
示例如下:
"dependencies": {
"DHSDKHelper": "file:libs/DHSDKHelper.har"
}
1.2.2.4 修改entry/src/main/module.json5
请将/resource/metadata.json5的metadata数组内部元素合并追加到游戏工程entry/src/main/module.json5的module/metadata数组中
注意:如果是更新sdk请先移除原SDK中的metadata元素!!!

2、查询配置

调用代码示例如下:

/**
* 异步获取SDK配置信息接口
* @context 应用上下文
* @param key 需要查询的配置名称
* @return 返回字符串,查不到会返回“”
*/
let value:string = await DHSDKHelper.query(context,key);

配置信息,主要参数说明如下:

key别名示例备注
dh_appId开放平台AppID
dh_channelId渠道编号1058(官方安卓)、1013(官方iOS)、3481(官方鸿蒙)安卓/苹果Key相同(一级渠道)
dh_channelName渠道名称
dh_mainchannelCPS主渠道100001玩家广告来源渠道(二级渠道)
dh_secochannelCPS次渠道100002玩家广告来源渠道(三级渠道)
dev_os设备系统
dev_uuid设备唯一ID
dev_brand设备品牌
dev_model设备型号
firebase_messaging_tokenfirebase推送token
dh_mode国内海外标识国内为1,海外为0