# 安装步骤 ------ ## SDK下载 下载最新版本的SDK [SDK下载](download.md) . 解压下载的SDK.rar包的目录结构: ``` ├── sdk.d.ts ├── sdk/ | ├── config.js | └── sdk.js | └── libs/ | └── game.min.js ``` ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_001.png) - **sdk.d.ts:sdk的ts声明文件,开发者项目采用Typescript开发,请复制该文件到项目中。** - sdk/config.js:sdk配置文件,详细请阅读下方参数说明 - sdk/sdk.js:sdk入口文件,引入了sdk所提供的模块功能 - sdk/libs/game.min.js:sdk类库文件 ## 配置合法域名 * ##### 管理员或开发者身份在微信小程序后台→设置→开发者设置中添加 request、download合法域名 测试环境 request 合法域名: https://pre-dataapi.d3games.com (统计平台测试服域名) 正式环境 request 合法域名: https://dataapi.d3games.com (统计平台正式服域名) cdn资源请求合法域名: https://dep.miso-lab.com (>>>request、download均要添加<<<) ​ ## SDK配置步骤 * #### 将下载下来的sdk压缩包,解压后,拷贝sdk文件夹到微信开发者工具项目中。 示例:将sdk放入到小游戏开发者工具项目的src文件夹中 ![引入目录](https://dep.miso-lab.com/sdkword/sdk_002.png) * #### 在game.js中将sdk.js文件使用require导入。 示例:将sdk放入到小游戏开发者工具项目的src文件夹中 ![引入目录](https://dep.miso-lab.com/sdkword/sdk_003.png) * #### 根据运营提供的信息修改sdk文件夹下的**config**.js文件(可横向拖动查看查看更多==========>) ```c# export default { Env: 100, // 100表示正式环境,110表示测试环境,测试开发阶段使用110,提审前切记改成100!!! IsDebug: false, // 是否debug模式,debug模式会打印log,也可以通过stat模块setDebug进行修改 AdCacheDuration: 30, // 广告列表缓存持续时间间隔 IsUseShareModule: true, // 是否使用分享模块 IsOnlineAutoUse: true, // 是否开启sdk自动请求online模块(在线参数配置)的updateOnlineConfig,拉取在线参数配置 IsOnlineDebug: true, // 是否开启online模块(在线参数配置)debug模式 ShareRightKey: 'forward', // 右上角分享的shareKey,shareKey请阅读share模块说明,默认为forward,为空字符串则不使用右上角分享 ShareData: { // 必填,默认分享数据(拉取不到分享配置后使用,默认分享,SDK自动分配share_id为99999) share_desc: 'xxx', share_icon: 'xxx' }, GameId: 0, // 必填,游戏ID,运营提供; ChannelId: 0, // 必填,游戏渠道ID,运营提供; Secret: '***请配置你的Secret***', // 必填,游戏的secret key MidasPay: { // 米大师虚拟支付配置 OfferId: "0", // 在米大师申请的应用id ZoneId: "1", // 分区ID,默认:1 Mode: "game", // 支付的类型,不同的支付类型有各自额外要传的附加参数,默认:game CurrencyType: "CNY", // 币种,默认:CNY Platform: '' // 申请接入时的平台,platform与应用id有关。默认:android(ios暂时没有开放,这里需要配置Platform,开放后,删掉此配置,sdk已经判断平台) } }; ``` 参数详解: 1. **Env ( number ):**SDK统计执行环境,建议开发者调试测试阶段设置为110,提审阶段一定要设置为100。 100:正式环境,请求api域名地址为:https://dataapi.d3games.com 110:测试环境,请求api域名地址为:https://pre-dataapi.d3games.com 2. **IsDebug ( boolean ):**是否debug模式,debug模式会打印sdk中的console.log/error/warn log。 false:关闭log打印,提审前建议设置为false,不打印log信息 true:开启log打印,如遇到联调问题,可设置为true,查看log发给相关人员进行查看解决问题 此设置可在代码中通过动态设置:PCSDK.stat.setDebug( boolean )进行动态切换控制 3. **AdCacheDuration(number):**表示获取广告位列表的缓存时间,例如30秒,sdk会对广告列表拉取后缓存30秒。此参数对接入噗嗤广告导出功能后有效,没有接入可不修改,使用默认值。 4. **IsUseShareModule( boolean ):**是否启用sdk分享视频功能(sdk把分享和视频封装为share模块,可以通过噗嗤后台配置分享还是视频类型进行分发控制) false:SDK启动不拉取分享列表,也就是不适用噗嗤游戏的分享模块功能 true:SDK启动拉取噗嗤管理后台配置的分享视频列表,运营或者开发者在噗嗤后台配置分享视频的配置后,开发者可以通过PCSDK.share.shareDispatch( sharekey , ...)进行视频分享分发操作,具体操作请详看SDK分享视频模块。 5. **IsOnlineAutoUse( boolean ):**是否启用SDK启动获取噗嗤游戏后台配置的在线配置参数列表 false:两种处理 1)不启用噗嗤后台在线配置参数功能; 2)使用在线配置参数功能,但是启动不拉取后台在线配置参数列表,代码中调用api拉取在线参数 示例:代码中控制拉取在线参数,例如噗嗤后台【游戏数据】=>【配置参数】栏配置了:是否显示微信插屏广告、噗嗤游戏广告导出动态开关 ```javascript PCSDK.online.updateOnlineConfig().then(() => { // 获取是否后台动态配置开启插屏广告,1为开启,0为关闭 let isInterstitialAd = PCSDK.online.getParamsInt('interstitial_ad_open', 0) === 1; // isInterstitialAd && '显示插屏广告'; // 获取动态多个广告位开启的配置 let pcGameOpenMap = PCSDK.online.getParamsObj('pc_games_open', { "Drawer": 0, "GuessLike": 0, "Cross": 0 }); // pcGameOpenMap.Drawer === 1 && '显示抽屉推广位'; // pcGameOpenMap.GuessLike === 1 && '显示猜你喜欢推广位'; // pcGameOpenMap.Cross === 1 && '显示交叉推广位'; }); ``` true:sdk启动会自动拉取噗嗤后台在线配置参数列表,开发者可通过PCSDK.online.getParamsObj、PCSDK.online.getParamsInt、PCSDK.online.getParamsString、PCSDK.online.getParams api传递后台配置在线参数key获取动态数据配置。 示例:配置自动拉取后,项目中可直接使用 ```JavaScript let isInterstitialAd = PCSDK.online.getParamsInt('interstitial_ad_open', 0) === 1; let pcGameOpenMap = PCSDK.online.getParamsObj('pc_games_open', { "Drawer": 0, "GuessLike": 0, "Cross": 0 }); ``` 6. **IsOnlineDebug( boolean ):**是否启用online模块(在线参数配置)debug模式,建议设置为true。 false:不启动debug模式,代码控制或者sdk自动调用updateOnlineConfig api都会有十分钟的缓存,参照了友盟在线参数功能的设计 true: 开启debug模式,只要是请求updateOnlineConfig api都会实时请求获取最新在线参数配置 7. **ShareRightKey( string ):**右上角分享的shareKey,shareKey请阅读share模块说明,默认为forward,为空字符串则不使用右上角分享,此配置在参数【IsUseShareModule】设置为true的情况下生效。 示例: 在噗嗤管理后台的分享视频栏目配置了一条分享key为:forward的分享配置 ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_004.png) 8. **ShareData( object ):**此配置在【IsUseShareModule】设置为true起效,IsUseShareModule设置true sdk启动拉取分享列表,如果分享列表拉取失败,或调用的shareKey不在分享列表中(噗嗤后台【游戏数据】=>【分享/视频配置】栏没有配置此分享key)就会使用此条设置的数据,>>> 请务必配置一条 <<<。 示例:可以从噗嗤管理后台【游戏数据】=>【分享/视频配置】中选取一条:复制文案,点击分享素材icon->查看大图->右键查看分享图片的html源码复制src图片地址:**{** ​ **share_desc: ' 半夜传来啪啪啪!竟是隔壁老王偷偷打气球',** ​ **share_icon: 'https://dep.miso-lab.com/data_analysis/games/res/5D57D4A3Yx.png'** **}**。 操作示图: ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_005.png) 9. **GameId:必填,游戏id,请联系运营人员提供** 10. **ChannelId:必填,游戏渠道id,请联系运营人员提供** 11. **Secret:必填,游戏 Secret Key,请联系运营人员提供** 12. **MidasPay( object ):**米大水虚拟支付配置,没有接入微信的米大师支付,请注意下面规则 OfferId:在米大师申请的应用id,没有接入米大师,默认为"0" ZoneId:分区ID,默认:"1" Mode:支付的类型,不同的支付类型有各自额外要传的附加参数,默认:"game" CurrencyType:币种,默认:"CNY" Platform:申请接入时的平台,platform与应用id有关。 1)接入了米大师,填写"android"(ios暂时没有开放) 2)未接入米大师,使用其他支付,如果只支持android,则填写"android"; 3)未接入米大师,使用其他支付,如果只支持ios,则填写"ios"; 4)未接入米大师,使用其他支付,如果支持ios和android,则填写为"",sdk会根据手机识别android还是ios