Commit cddb4710521885893675e11407622e690d1532fb
1 parent
ab28df7a
Exists in
master
outer
Showing
10 changed files
with
31 additions
and
930 deletions
Show diff stats
inner/README.md
| ... | ... | @@ -14,11 +14,13 @@ PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台, |
| 14 | 14 | |
| 15 | 15 | |
| 16 | 16 | # 噗嗤管理后台 |
| 17 | -噗嗤管理后台对sdk中上报的各项数据进行分析;管理sdk中所需要的配置信息:分享/视频配置、配置参数(在线参数配置)、交叉推广位配置、用户自定义事件配置。 | |
| 17 | +噗嗤管理后台对sdk中上报的各项数据进行分析,管理sdk中所需要的配置信息:分享/视频配置、配置参数(在线参数配置)、交叉推广位配置、用户自定义事件配置。 | |
| 18 | 18 | |
| 19 | -噗嗤管理后台地址: | |
| 19 | +噗嗤管理后台地址:方便开发者联调测试阶段不影响上线游戏运营相关数据或者配置信息,{% em %}注意:开发者需在游戏客户端维护一个版本号version,作为[PCSDK.game模块的env](game.md#env) api的参数传递;第一次接入设置version为1.0,此时API跑的是测试环境,游戏提审通过发布上线后,1.0则会被后端切为正式服地址,用于线上游戏运行,1.1则被后端改成测试服地址,方便开发者进行新的版本功能迭代,请客户端版本号加0.1,改成1.1,依次类推,每个版本上线后开发者都要对version加上0.1。{% endem %} | |
| 20 | 20 | |
| 21 | -- https://data.d3games.com/#/login | |
| 21 | +> 测试环境各种配置管理、数据分析查看,请[前往测试服后台](http://pre-data.d3games.com/#/login) | |
| 22 | + | |
| 23 | +> 正式环境各种配置管理、数据分析查看,请[前往正式服后台](https://data.d3games.com/#/login) | |
| 22 | 24 | |
| 23 | 25 | **友情提示:** |
| 24 | 26 | |
| ... | ... | @@ -27,7 +29,6 @@ PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台, |
| 27 | 29 | - **登录后台即可使用后台提供的各项服务** |
| 28 | 30 | |
| 29 | 31 | |
| 30 | - | |
| 31 | 32 | **后台概览:** |
| 32 | 33 | ##  |
| 33 | 34 | |
| ... | ... | @@ -42,10 +43,10 @@ PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台, |
| 42 | 43 | |
| 43 | 44 | |
| 44 | 45 | |
| 45 | -**后台提供配置相关功能(不能跳转请联系管理员添加权限):** | |
| 46 | +**后台提供配置相关功能,开发者去测试后台配置,提审后让相关人员同步测试配置到正式配置(不能跳转请联系管理员添加权限):** | |
| 46 | 47 | |
| 47 | -- [分享/视频配置](https://data.d3games.com/index.html#/share_list) | |
| 48 | -- [配置参数](https://data.d3games.com/index.html#/config_list) | |
| 48 | +- [分享/视频配置](http://pre-data.d3games.com/index.html#/share_list) | |
| 49 | +- [配置参数](http://pre-data.d3games.com/index.html#/config_list) | |
| 49 | 50 | |
| 50 | 51 | |
| 51 | 52 | # 更多: | ... | ... |
inner/book.json
| ... | ... | @@ -39,12 +39,12 @@ |
| 39 | 39 | "versions": { |
| 40 | 40 | "options": [ |
| 41 | 41 | { |
| 42 | - "value": "http://dep.miso-lab.com/sdkword/web/v1.0/intro.html", | |
| 43 | - "text": "外部游戏-v1.0.0.3" | |
| 44 | - }, | |
| 45 | - { | |
| 46 | 42 | "value": "http://dep.miso-lab.com/sdkword/web/v2.0/intro.html", |
| 47 | 43 | "text": "内部游戏-v1.0.0.3" |
| 44 | + }, | |
| 45 | + { | |
| 46 | + "value": "http://dep.miso-lab.com/sdkword/web/v1.0/intro.html", | |
| 47 | + "text": "外部游戏-v1.0.0.3" | |
| 48 | 48 | } |
| 49 | 49 | ] |
| 50 | 50 | }, | ... | ... |
inner/download.md
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | ------ |
| 4 | 4 | |
| 5 | -## [v1.0.0.3 下载](https://dep.miso-lab.com/sdkword/versions/sdk-out-v1.0.0.3.zip) | |
| 5 | +## [v1.0.0.3 下载](https://dep.miso-lab.com/sdkword/versions/sdk-in-v1.0.0.3.zip) | |
| 6 | 6 | |
| 7 | 7 | > *发布时间*:2019.09.18 |
| 8 | 8 | |
| ... | ... | @@ -12,7 +12,7 @@ |
| 12 | 12 | 2. 微信小游戏引入GameIcon、GameBanner、GamePortal组件。 |
| 13 | 13 | 3. config.js添加积分投放IntegralChannelId参数,用于积分投放渠道统计。 |
| 14 | 14 | |
| 15 | -## [v1.0.0.2 下载](https://dep.miso-lab.com/sdkword/versions/sdk-out-v1.0.0.2.zip) | |
| 15 | +## [v1.0.0.2 下载](https://dep.miso-lab.com/sdkword/versions/sdk-in-v1.0.0.2.zip) | |
| 16 | 16 | |
| 17 | 17 | > *发布时间*:2019.09.11 |
| 18 | 18 | |
| ... | ... | @@ -25,7 +25,7 @@ |
| 25 | 25 | 1. 外部游戏修改setLogind接口为setLoginInfo( { openId: strinng , retTime: number } )。 |
| 26 | 26 | 2. loadingFinish传递isActive参数,isActive为true SDK在loadingFinish结束后自动调用active。 |
| 27 | 27 | |
| 28 | -## [v1.0.0.1 下载](https://dep.miso-lab.com/sdkword/versions/sdk-out-v1.0.0.1.zip) | |
| 28 | +## [v1.0.0.1 下载](https://dep.miso-lab.com/sdkword/versions/sdk-in-v1.0.0.1.zip) | |
| 29 | 29 | |
| 30 | 30 | > *发布时间*:2019.09.04 |
| 31 | 31 | ... | ... |
inner/inner/README.md
| ... | ... | @@ -1,64 +0,0 @@ |
| 1 | -# 噗嗤SDK | |
| 2 | -PCSDK(噗嗤SDK)是一款封装了微信小游戏、QQ小游戏平台常用api接口和用户行为数据上报的一款产品。 | |
| 3 | -PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台,后台对数据统计分析后以多样化的方式展现数据。 | |
| 4 | - | |
| 5 | -**PCSDK提供的模块功能:** | |
| 6 | - | |
| 7 | -- [统计模块](stat.md) | |
| 8 | -- [分享视频模块](share.md) | |
| 9 | -- [配置参数模块️](online.md) | |
| 10 | -- [多平台接口模块](platform.md) | |
| 11 | -- [数据模块](data.md) | |
| 12 | -- [事件模块](event.md) | |
| 13 | - | |
| 14 | - | |
| 15 | - | |
| 16 | -# 噗嗤管理后台 | |
| 17 | -噗嗤管理后台对sdk中上报的各项数据进行分析;管理sdk中所需要的配置信息:分享/视频配置、配置参数(在线参数配置)、交叉推广位配置、用户自定义事件配置。 | |
| 18 | - | |
| 19 | -方便开发者联调测试阶段不影响上线游戏运营相关数据或者配置信息,config.js的Env配置提供测试和正式环境切换。 | |
| 20 | - | |
| 21 | -> 测试环境各种配置管理、数据分析查看,请[前往测试服后台](http://pre-data.d3games.com/#/login) | |
| 22 | - | |
| 23 | -> 正式环境各种配置管理、数据分析查看,请[前往正式服后台](https://data.d3games.com/#/login) | |
| 24 | - | |
| 25 | -噗嗤管理后台地址: | |
| 26 | - | |
| 27 | -- 测试服后台,地址:http://pre-data.d3games.com/#/login | |
| 28 | - | |
| 29 | -- 正式服后台,地址:https://data.d3games.com/#/login | |
| 30 | - | |
| 31 | -**友情提示:** | |
| 32 | - | |
| 33 | -- **之后文档中'后台'指的是[噗嗤管理后台],而不是微信小程序/小游戏后台。** | |
| 34 | -- **后台登录账号获取:需提供手机信息给我方运营,运营创建后台登录账号、密码后提供反馈。** | |
| 35 | -- **登录后台即可使用后台提供的各项服务** | |
| 36 | - | |
| 37 | - | |
| 38 | - | |
| 39 | -**后台概览:** | |
| 40 | -##  | |
| 41 | - | |
| 42 | - | |
| 43 | - | |
| 44 | -**后台提供数据分析功能(不能跳转请联系管理员添加权限):** | |
| 45 | - | |
| 46 | -- [注册/活跃用户,在线时长实时数据分析](https://data.d3games.com/index.html#/view_chart) | |
| 47 | -- [分享数据分析](https://data.d3games.com/index.html#/share_exact) | |
| 48 | -- [用户事件行为分析](https://data.d3games.com/index.html#/dot_list) | |
| 49 | -- [渠道数据统计分析](https//data.d3games.com/index.html#/channel_stat_list) | |
| 50 | - | |
| 51 | - | |
| 52 | - | |
| 53 | -**后台提供配置相关功能(不能跳转请联系管理员添加权限):** | |
| 54 | - | |
| 55 | -- [分享/视频配置](http://pre-data.d3games.com/index.html#/share_list) | |
| 56 | -- [配置参数](http://pre-data.d3games.com/index.html#/config_list) | |
| 57 | - | |
| 58 | - | |
| 59 | -# 更多: | |
| 60 | -- 快速接入,请详读 [安装步骤](install.md) | |
| 61 | - | |
| 62 | - | |
| 63 | - | |
| 64 | -- 遇到问题可以查看 [FAQ](faq.md) | |
| 65 | 0 | \ No newline at end of file |
inner/inner/install.md
| ... | ... | @@ -1,233 +0,0 @@ |
| 1 | -# 安装步骤 | |
| 2 | - | |
| 3 | ------- | |
| 4 | - | |
| 5 | -## SDK下载 | |
| 6 | - | |
| 7 | -1. 下载最新版本的SDK [SDK下载](download.md) 。 | |
| 8 | -2. 解压下载的sdk-out-v{版本号}.zip包,解压文件夹里面的的目录结构: | |
| 9 | - | |
| 10 | -``` | |
| 11 | -├── sdk.d.ts | |
| 12 | -├── sdk/ | |
| 13 | -| ├── config.js | |
| 14 | -| └── index.js | |
| 15 | -| └── libs/ | |
| 16 | - | └── game.min.js | |
| 17 | -``` | |
| 18 | - | |
| 19 | - | |
| 20 | - | |
| 21 | -- **sdk.d.ts:sdk的ts声明文件,开发者项目采用Typescript开发,请复制该文件到项目中。** | |
| 22 | -- sdk/config.js:sdk配置文件,【[详细请阅读下方config.js参数说明](install.md#config)】 | |
| 23 | -- sdk/index.js:sdk入口文件,引入了sdk所提供的模块功能 | |
| 24 | -- sdk/libs/game.min.js:sdk类库核心代码文件 | |
| 25 | - | |
| 26 | - | |
| 27 | - | |
| 28 | -## 配置合法域名 | |
| 29 | - | |
| 30 | -* ##### 管理员或开发者身份在微信小程序后台→设置→开发者设置中添加 request、download合法域名 | |
| 31 | - 测试环境 request 合法域名: | |
| 32 | - | |
| 33 | - https://pre-dataapi.d3games.com (统计平台测试服域名) | |
| 34 | - | |
| 35 | - 正式环境 request 合法域名: | |
| 36 | - | |
| 37 | - https://dataapi.d3games.com (统计平台正式服域名) | |
| 38 | - | |
| 39 | - cdn资源请求合法域名: | |
| 40 | - | |
| 41 | - https://dep.miso-lab.com (>>>request、download均要添加<<<) | |
| 42 | - | |
| 43 | - | |
| 44 | - | |
| 45 | - | |
| 46 | - | |
| 47 | - | |
| 48 | -## SDK配置步骤 | |
| 49 | - | |
| 50 | -* #### 将下载下来的sdk压缩包,解压后,拷贝sdk文件夹到微信开发者工具项目中。 | |
| 51 | - | |
| 52 | - 示例:将sdk放入到小游戏开发者工具项目的src文件夹中 | |
| 53 | - | |
| 54 | -  | |
| 55 | - | |
| 56 | - | |
| 57 | - | |
| 58 | - | |
| 59 | - | |
| 60 | -* #### 在game.js中将sdk.js文件使用require导入。 | |
| 61 | - | |
| 62 | - 示例:将sdk放入到小游戏开发者工具项目的src文件夹中 | |
| 63 | -  | |
| 64 | - | |
| 65 | - | |
| 66 | - | |
| 67 | - | |
| 68 | -* #### 根据运营提供的信息修改sdk文件夹下的**config**.js文件(可横向拖动查看查看更多====>)<div id="config"></div> | |
| 69 | - | |
| 70 | - ```javascript | |
| 71 | - export default { | |
| 72 | - IsDebug: false, // 是否debug模式,debug模式会打印log,可使用stat模块setDebug api进行修改 | |
| 73 | - Env: 100, // 100表示正式环境,110表示测试环境,推荐测试联调阶段使用110,提审前切记改成100!!! | |
| 74 | - AdCacheDuration: 30, // 广告列表缓存持续时间间隔 | |
| 75 | - IsUseShareModule: true, // 是否使用分享模块 | |
| 76 | - IsOnlineAutoUse: true, // 是否开启sdk自动请求online模块(在线参数配置)的updateOnlineConfig,拉取在线参数配置 | |
| 77 | - IsOnlineDebug: true, // 是否开启online模块(配置参数模块)debug模式 | |
| 78 | - ShareRightKey: 'forward', // 右上角分享的shareKey,shareKey请阅读share模块说明,默认为forward,为空字符串则不使用右上角分享 | |
| 79 | - | |
| 80 | - ShareData: { // 必填,默认分享数据(拉取不到分享配置后使用,默认分享,SDK自动分配share_id为99999) | |
| 81 | - share_desc: 'xxx', | |
| 82 | - share_wxad_id: '', // 可选,视频广告uid,配置此参数,拉取不到对应的shareKey,推送看视频,不配置或者配置的uid无效则推送分享 | |
| 83 | - share_icon: 'xxx' | |
| 84 | - }, | |
| 85 | - GameId: 0, // 必填,游戏ID,运营提供; | |
| 86 | - ChannelId: 0, // 必填,游戏渠道ID,运营提供; | |
| 87 | - Secret: '***请配置你的Secret***', // 必填,游戏的secret key | |
| 88 | - MidasPay: { // 米大师虚拟支付配置 | |
| 89 | - OfferId: "0", // 在米大师申请的应用id | |
| 90 | - ZoneId: "1", // 分区ID,默认:1 | |
| 91 | - Mode: "game", // 支付的类型,不同的支付类型有各自额外要传的附加参数,默认:game | |
| 92 | - CurrencyType: "CNY", // 币种,默认:CNY | |
| 93 | - Platform: '' // 申请接入时的平台,platform与应用id有关。默认:android(ios暂时没有开放,这里需要配置Platform,开放后,删掉此配置,sdk已经判断平台) | |
| 94 | - } | |
| 95 | -}; | |
| 96 | - ``` | |
| 97 | - | |
| 98 | - | |
| 99 | - 参数详解: | |
| 100 | - | |
| 101 | -<div id="config_env"></div> | |
| 102 | -1. **Env ( number ):**SDK执行环境,建议开发者测试联调阶段设为110。 | |
| 103 | - | |
| 104 | - > 提审阶段一定要设为100 | |
| 105 | - | |
| 106 | - > 测试环境各种配置管理、数据分析查看,请[前往测试服后台](http://pre-data.d3games.com/#/login) | |
| 107 | - | |
| 108 | - > 正式环境各种配置管理、数据分析查看,请[前往正式服后台](https://data.d3games.com/#/login) | |
| 109 | - | |
| 110 | - 100:正式环境,请求api域名地址为:https://dataapi.d3games.com | |
| 111 | - | |
| 112 | - 110:测试环境,请求api域名地址为:https://pre-dataapi.d3games.com | |
| 113 | - | |
| 114 | -2. **IsDebug ( boolean ):**是否debug模式,debug模式会打印sdk中的console.log/error/warn log。 | |
| 115 | - | |
| 116 | - false:关闭log打印,提审前建议设置为false,不打印log信息 | |
| 117 | - | |
| 118 | - true:开启log打印,如遇到联调问题,可设置为true,发体验版本或者查看log发给相关人员进行查看解决问题 | |
| 119 | - | |
| 120 | - 也可在代码中动态设置:PCSDK.stat.setDebug( boolean ) | |
| 121 | - | |
| 122 | -3. **AdCacheDuration(number):**表示获取广告位列表的缓存时间,例如:配置30,SDK中拉取交叉推广位列表后缓存30秒。此参数对接入交叉推广位模块后有效,没有接入可不修改,使用默认值。 | |
| 123 | - | |
| 124 | -4. **IsUseShareModule( boolean ):**是否启用sdk分享/视频功能(sdk把分享和视频封装为share模块,登录后台->【游戏数据】->【配置相关】->【分享/视频配置】后可对分享视频进行动态配置) | |
| 125 | - | |
| 126 | - false:SDK启动时不拉取分享/视频列表,不接入分享/视频模块功能 | |
| 127 | - | |
| 128 | - true:SDK启动时拉取后台配置的分享/视频列表,运营或者开发者登录后台后,配置分享/视频,开发者请详看分享视频模块接入。 | |
| 129 | - | |
| 130 | -5. **IsOnlineAutoUse( boolean ):**是否启用在线配置参数模块功能 | |
| 131 | - | |
| 132 | - false:两种处理 1)不启用在线配置参数模块功能; 2)启用在线配置参数功能,但是SDK启动时不自动调用updateOnlineConfig拉取后台配置参数列表,开发者在代码主动调用拉取在线配置参数:PCSDK.online.updateOnlineConfig(); | |
| 133 | - | |
| 134 | - 示例:开发者代码中主动拉取在线配置参数。 | |
| 135 | - | |
| 136 | - ```javascript | |
| 137 | - // 后台 ->【游戏数据】->【配置参数】栏配置了:是否显示微信插屏广告、交叉推广位是否展示动态开关 | |
| 138 | - PCSDK.online.updateOnlineConfig().then(() => { | |
| 139 | - // 获取是否后台动态配置开启插屏广告,1为开启,0为关闭 | |
| 140 | - let isInterstitialAd = PCSDK.online.getParamsInt('interstitial_ad_open', 0) === 1; | |
| 141 | - // isInterstitialAd && '显示插屏广告'; | |
| 142 | - // 获取动态多个广告位开启的配置 | |
| 143 | - let pcGameOpenMap = PCSDK.online.getParamsObj('pc_games_open', { "Drawer": 0, "GuessLike": 0, "Cross": 0 }); | |
| 144 | - // pcGameOpenMap.Drawer === 1 && '显示抽屉推广位'; | |
| 145 | - // pcGameOpenMap.GuessLike === 1 && '显示猜你喜欢推广位'; | |
| 146 | - // pcGameOpenMap.Cross === 1 && '显示交叉推广位'; | |
| 147 | - }); | |
| 148 | - ``` | |
| 149 | - true:sdk启动时自动调用updateOnlineConfig拉取后台在线配置参数列表,开发者可通过 | |
| 150 | - | |
| 151 | - PCSDK.online.getParamsObj、PCSDK.online.getParamsInt、PCSDK.online.getParamsString、PCSDK.online.getParams api传递后台配置参数key获取在线配置参数。 | |
| 152 | - | |
| 153 | - 示例:IsOnlineAutoUse: true,开发者可使用下面api获取在线配置参数配置的值 | |
| 154 | - | |
| 155 | - ```javascript | |
| 156 | - let isInterstitialAd = PCSDK.online.getParamsInt('interstitial_ad_open', 0) === 1; | |
| 157 | - let pcGameOpenMap = PCSDK.online.getParamsObj('pc_games_open', { "Drawer": 0, "GuessLike": 0, "Cross": 0 }); | |
| 158 | - ``` | |
| 159 | - | |
| 160 | -6. **IsOnlineDebug( boolean ):**是否启用online模块(在线配置参数)debug模式,建议设置为true。 | |
| 161 | - | |
| 162 | - false:不启动debug模式,开发者主动调用updateOnlineConfig或者SDK启动时调用updateOnlineConfig都会把在线配置参数列表设置10分钟缓存,不用每次都去服务器请求,参照了友盟在线参数功能的设计 | |
| 163 | - | |
| 164 | - true: 开启debug模式,只要是请求updateOnlineConfig api都会立即发起请求,而不是去检测读取缓存 | |
| 165 | - | |
| 166 | -7. **ShareRightKey( string ):**右上角分享的shareKey,shareKey请阅读分享视频模块,默认为forward,为空字符串则不使用右上角分享,此配置在配置【IsUseShareModule: true】情况下生效。 | |
| 167 | - | |
| 168 | - 示例: | |
| 169 | - | |
| 170 | - 在后台的【分享/视频配置】栏目配置了一条分享key为:forward的分享配置 | |
| 171 | - | |
| 172 | -  | |
| 173 | - | |
| 174 | -8. **ShareData( object ):**此配置在【IsUseShareModule: true】起效,开发者如果接入了分享视频模块,>>> 请务必配置一条 <<<。 | |
| 175 | - | |
| 176 | - > IsUseShareModule设置true sdk启动拉取分享视频配置列表,如果分享视频列表拉取请求失败,或此shareKey不在分享视频配置列表中(登录后台 ->【游戏数据】->【分享/视频配置】栏没有配置分享key)就会使用此条设置的数据。 | |
| 177 | - | |
| 178 | - 示例:可从后台【游戏数据】->【分享/视频配置】中选取一条:复制文案,点击分享素材icon -> 查看大图 -> 右键查看分享图片的html源码复制src图片地址: | |
| 179 | - | |
| 180 | - ```json | |
| 181 | - { | |
| 182 | - // 分享文案内容 | |
| 183 | - share_desc: ' 半夜传来啪啪啪!竟是隔壁老王偷偷打气球', | |
| 184 | - // 可选,视频广告uid,配置此参数,拉取不到对应的shareKey,推送看视频,不配置或者配置的uid无效则推送分享 | |
| 185 | - share_wxad_id: 'adunit-6958dcfc3f0bed31', | |
| 186 | - // 分享图 | |
| 187 | - share_icon: 'https://dep.miso-lab.com/data_analysis/games/res/5D57D4A3Yx.png' | |
| 188 | - } | |
| 189 | - ``` | |
| 190 | - | |
| 191 | - 操作步骤: | |
| 192 | - | |
| 193 | -  | |
| 194 | - | |
| 195 | -9. **GameId:必填,游戏id,请联系运营人员提供** | |
| 196 | - | |
| 197 | -10. **ChannelId:必填,游戏渠道id,请联系运营人员提供** | |
| 198 | - | |
| 199 | -11. **Secret:必填,游戏 Secret Key,请联系运营人员提供** | |
| 200 | - | |
| 201 | -12. **MidasPay( object ):**米大水虚拟支付配置,没有接入微信的米大师支付,请注意下面规则 | |
| 202 | - | |
| 203 | - OfferId:在米大师申请的应用id,没有接入米大师,默认为"0" | |
| 204 | - | |
| 205 | - ZoneId:分区ID,默认:"1" | |
| 206 | - | |
| 207 | - Mode:支付的类型,不同的支付类型有各自额外要传的附加参数,默认:"game" | |
| 208 | - | |
| 209 | - CurrencyType:币种,默认:"CNY" | |
| 210 | - | |
| 211 | - Platform:申请接入时的平台,platform与应用id有关。 | |
| 212 | - | |
| 213 | - 1)接入了米大师,填写"android"(ios暂时没有开放) | |
| 214 | - | |
| 215 | - 2)未接入米大师,使用其他支付,如果只支持android,则填写"android"; | |
| 216 | - | |
| 217 | - 3)未接入米大师,使用其他支付,如果只支持ios,则填写"ios"; | |
| 218 | - | |
| 219 | - 4)未接入米大师,使用其他支付,如果支持ios和android,则填写为"",sdk会根据手机识别android还是ios | |
| 220 | - | |
| 221 | - | |
| 222 | - | |
| 223 | -* #### 如果项目使用Typescript语言开发,请引入解压文件夹下的sdk.d.ts文件到项目中。 | |
| 224 | - | |
| 225 | - 示例:项目采用的是Laya Typescript版本进行开发,将该文件复制到libs目录下面 | |
| 226 | - | |
| 227 | -  | |
| 228 | - | |
| 229 | -* #### 到此,SDK的准备工作已经配置完毕,运行起来: | |
| 230 | - | |
| 231 | - 运行中碰到问题,[[请查看FAQ](faq.md)],或者微信群联系相关人员。 | |
| 232 | - | |
| 233 | - 正常运行,阅读SDK手册,开始[[SDK模块功能](modules.md)]接入。 | |
| 234 | 0 | \ No newline at end of file |
inner/inner/intro.md
| ... | ... | @@ -1,64 +0,0 @@ |
| 1 | -# 噗嗤SDK | |
| 2 | -PCSDK(噗嗤SDK)是一款封装了微信小游戏、QQ小游戏平台常用api接口和用户行为数据上报的一款产品。 | |
| 3 | -PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台,后台对数据统计分析后以多样化的方式展现数据。 | |
| 4 | - | |
| 5 | -**PCSDK提供的模块功能:** | |
| 6 | - | |
| 7 | -- [统计模块](stat.md) | |
| 8 | -- [分享视频模块](share.md) | |
| 9 | -- [配置参数模块️](online.md) | |
| 10 | -- [多平台接口模块](platform.md) | |
| 11 | -- [数据模块](data.md) | |
| 12 | -- [事件模块](event.md) | |
| 13 | - | |
| 14 | - | |
| 15 | - | |
| 16 | -# 噗嗤管理后台 | |
| 17 | -噗嗤管理后台对sdk中上报的各项数据进行分析;管理sdk中所需要的配置信息:分享/视频配置、配置参数(在线参数配置)、交叉推广位配置、用户自定义事件配置。 | |
| 18 | - | |
| 19 | -方便开发者联调测试阶段不影响上线游戏运营相关数据或者配置信息,config.js的Env配置提供测试和正式环境切换。 | |
| 20 | - | |
| 21 | -> 测试环境各种配置管理、数据分析查看,请[前往测试服后台](http://pre-data.d3games.com/#/login) | |
| 22 | - | |
| 23 | -> 正式环境各种配置管理、数据分析查看,请[前往正式服后台](https://data.d3games.com/#/login) | |
| 24 | - | |
| 25 | -噗嗤管理后台地址: | |
| 26 | - | |
| 27 | -- 测试服后台,地址:http://pre-data.d3games.com/#/login | |
| 28 | - | |
| 29 | -- 正式服后台,地址:https://data.d3games.com/#/login | |
| 30 | - | |
| 31 | -**友情提示:** | |
| 32 | - | |
| 33 | -- **之后文档中'后台'指的是[噗嗤管理后台],而不是微信小程序/小游戏后台。** | |
| 34 | -- **后台登录账号获取:需提供手机信息给我方运营,运营创建后台登录账号、密码后提供反馈。** | |
| 35 | -- **登录后台即可使用后台提供的各项服务** | |
| 36 | - | |
| 37 | - | |
| 38 | - | |
| 39 | -**后台概览:** | |
| 40 | -##  | |
| 41 | - | |
| 42 | - | |
| 43 | - | |
| 44 | -**后台提供数据分析功能(不能跳转请联系管理员添加权限):** | |
| 45 | - | |
| 46 | -- [注册/活跃用户,在线时长实时数据分析](https://data.d3games.com/index.html#/view_chart) | |
| 47 | -- [分享数据分析](https://data.d3games.com/index.html#/share_exact) | |
| 48 | -- [用户事件行为分析](https://data.d3games.com/index.html#/dot_list) | |
| 49 | -- [渠道数据统计分析](https//data.d3games.com/index.html#/channel_stat_list) | |
| 50 | - | |
| 51 | - | |
| 52 | - | |
| 53 | -**后台提供配置相关功能(不能跳转请联系管理员添加权限):** | |
| 54 | - | |
| 55 | -- [分享/视频配置](http://pre-data.d3games.com/index.html#/share_list) | |
| 56 | -- [配置参数](http://pre-data.d3games.com/index.html#/config_list) | |
| 57 | - | |
| 58 | - | |
| 59 | -# 更多: | |
| 60 | -- 快速接入,请详读 [安装步骤](install.md) | |
| 61 | - | |
| 62 | - | |
| 63 | - | |
| 64 | -- 遇到问题可以查看 [FAQ](faq.md) | |
| 65 | 0 | \ No newline at end of file |
inner/inner/stat_ads.md
| ... | ... | @@ -1,543 +0,0 @@ |
| 1 | -# 交叉推广位 | |
| 2 | - | |
| 3 | ------- | |
| 4 | - | |
| 5 | -#### **简介** | |
| 6 | - | |
| 7 | -交叉推广位是在游戏中展示其他游戏,用户点击某个游戏跳转进入游戏,达到共享用户的目的。 | |
| 8 | - | |
| 9 | -噗嗤游戏提供了3种类型的交叉推广位,后台可对交叉推广位进行配置管理,对交叉推广位各项指标分析阅览。 | |
| 10 | - | |
| 11 | -**3种广告类型:交叉悬浮广告框、交叉抽屉式广告位、交叉猜你喜欢广告位** | |
| 12 | - | |
| 13 | -1. 交叉悬浮广告框,放置到首页、结算页 | |
| 14 | - | |
| 15 | -  | |
| 16 | - | |
| 17 | -2. 交叉抽屉式广告位,放置到首页、结算页 | |
| 18 | - | |
| 19 | -  | |
| 20 | - | |
| 21 | -3. 交叉猜你喜欢广告位,推荐放置到结算页 | |
| 22 | - | |
| 23 | -  | |
| 24 | - | |
| 25 | - | |
| 26 | - | |
| 27 | - | |
| 28 | - | |
| 29 | -#### **后台使用** | |
| 30 | - | |
| 31 | -完成接入交叉推广位后,登录后台->头部tab切换到【游戏数据】->【流量分析】->【广告导出】即可查看推广位的各项数据信息(需要后台管理人员添加权限): | |
| 32 | - | |
| 33 | - | |
| 34 | - | |
| 35 | - | |
| 36 | - | |
| 37 | -#### **接入必读** | |
| 38 | - | |
| 39 | -- 由于微信对每个游戏可跳转其他游戏有10个限制,可跳转的其它游戏需要在小游戏根目录下的全局配置文件game.json中进行添加配置:navigateToMiniProgramAppIdList,该参数定义请详读[小程序全局配置](https://developers.weixin.qq.com/minigame/dev/reference/configuration/app.html)。 | |
| 40 | - | |
| 41 | -- 噗嗤游戏为了方便开发者接入调试交叉推广位,【后台测试服】已经配置测试使用的不同类型推广位,并提供以下10个测试服广告位appid: | |
| 42 | - | |
| 43 | - 水果爆破 :"wx26822126b4d99eda", | |
| 44 | - | |
| 45 | - 球球涂涂涂:"wxac0750884d5bed0c", | |
| 46 | - | |
| 47 | - 狂野漂移3D:"wx019a09df638e6683", | |
| 48 | - | |
| 49 | - 星星爱消消:"wx9ff47d13a88e5511", | |
| 50 | - | |
| 51 | - 土耳其方块消消乐:"wx89efb2282d65a2d0", | |
| 52 | - | |
| 53 | - 成语小才子:"wxd4d478c7d331ce80", | |
| 54 | - | |
| 55 | - 球球蹦蹦蹦:"wxabee9afe62d0b114", | |
| 56 | - | |
| 57 | - 俄罗斯方块连连消:"wx4cd087f19f4cb7c3", | |
| 58 | - | |
| 59 | - 球球爆爆爆:"wxae33d68413f40641", | |
| 60 | - | |
| 61 | - 疯狂水果一刀切:"wxdf26a04c53d6f1e9" | |
| 62 | - | |
| 63 | - ```javascript | |
| 64 | - "navigateToMiniProgramAppIdList": [ | |
| 65 | - "wx26822126b4d99eda", | |
| 66 | - "wxac0750884d5bed0c", | |
| 67 | - "wx019a09df638e6683", | |
| 68 | - "wx9ff47d13a88e5511", | |
| 69 | - "wx89efb2282d65a2d0", | |
| 70 | - "wxd4d478c7d331ce80", | |
| 71 | - "wxabee9afe62d0b114", | |
| 72 | - "wx4cd087f19f4cb7c3", | |
| 73 | - "wxae33d68413f40641", | |
| 74 | - "wxdf26a04c53d6f1e9" | |
| 75 | - ] | |
| 76 | - ``` | |
| 77 | - | |
| 78 | - | |
| 79 | - | |
| 80 | -- 完成下面的操作步骤,即可拉取交叉推广位: | |
| 81 | - | |
| 82 | - 1、开发者复制上面的10个其他游戏的appid,配置到game.json的navigateToMiniProgramAppIdList参数: | |
| 83 | - | |
| 84 | -  | |
| 85 | - | |
| 86 | - 2、修改[config.js的Env配置](install.md#config_env)为110,开发者测试联调阶段,走测试环境 | |
| 87 | - | |
| 88 | - > 提示:广告位接入完毕测试通过,提交审核前,修改Env为100。 | |
| 89 | - | |
| 90 | -  | |
| 91 | - | |
| 92 | - | |
| 93 | - | |
| 94 | -#### **接入API:** | |
| 95 | - | |
| 96 | -| **名称** | **功能说明** | | |
| 97 | -| --------------------------- | ------------------------------------------------------------ | | |
| 98 | -| PCSDK.stat.bannerList | 根据类型获取对应类型交叉广告列表,目前SDK支持3种类型:40(交叉悬浮广告框)、70(交叉抽屉式广告位)、50(交叉猜你喜欢广告位) | | |
| 99 | -| PCSDK.stat.bannerNavigateTo | 交叉推广位点击跳转到对应appid的游戏,该接口封装了小游戏的跳转功能(navigateToMiniProgram) | | |
| 100 | -| PCSDK.stat.addExposure | 交叉推广位一条或者多条广告展示,添加曝光数据,SDK在onHide时候上报数据到后台 | | |
| 101 | - | |
| 102 | - | |
| 103 | - | |
| 104 | - | |
| 105 | - | |
| 106 | - | |
| 107 | - | |
| 108 | -1. ##### **bannerList** | |
| 109 | - | |
| 110 | - ```javascript | |
| 111 | - PCSDK.stat.loadingFinish(banner_type): Promise<any> | |
| 112 | - ``` | |
| 113 | - | |
| 114 | - 定义:根据类型获取对应类型交叉广告列表,目前SDK支持3种类型 | |
| 115 | - | |
| 116 | - 参数: | |
| 117 | - | |
| 118 | - ``` | |
| 119 | - banner_type: number 必填 目前支持三种广告类型:40、50、70 | |
| 120 | - ``` | |
| 121 | - | |
| 122 | - 返回值:Promise<any> | |
| 123 | - | |
| 124 | - 返回的是Promise类型,Promise resolve成功回调数据结构为: | |
| 125 | - | |
| 126 | - ```json | |
| 127 | - { | |
| 128 | - "banner_list": [ | |
| 129 | - { | |
| 130 | - "banner_id": "3568", | |
| 131 | - "banner_name": "土耳其方块", | |
| 132 | - "banner_type": "40", | |
| 133 | - "banner_location": "100", | |
| 134 | - "banner_ad_id": "50", | |
| 135 | - "banner_launch_appid": "", | |
| 136 | - "banner_launch_path": "", | |
| 137 | - "banner_appid": "wx89efb2282d65a2d0", | |
| 138 | - "banner_path": "?channel_id=20361", | |
| 139 | - "banner_icon": "https://dep.miso-lab.com/data_analysis/games/res/5D42CB97RK.png", | |
| 140 | - "banner_user_num": "0", | |
| 141 | - "banner_exposure_num": "0", | |
| 142 | - "banner_sort": "1", | |
| 143 | - "banner_game_id": "1000053", | |
| 144 | - "banner_qqgame": "0", | |
| 145 | - "banner_qqgame_id": "0", | |
| 146 | - "banner_game_type": 0, | |
| 147 | - "banner_bone": "0", | |
| 148 | - "banner_system": "0", | |
| 149 | - "banner_online": "1", | |
| 150 | - "banner_reddot": "0", | |
| 151 | - "banner_gender": "0", | |
| 152 | - "banner_resident": "0", | |
| 153 | - "banner_qrcode": "0", | |
| 154 | - "banner_qrcode_img": "", | |
| 155 | - "banner_bone_info": false, | |
| 156 | - "banner_img_info": { | |
| 157 | - "banner_icon": "https://dep.miso-lab.com/data_analysis/games/res/5D42CB97RK.png" | |
| 158 | - } | |
| 159 | - }, | |
| 160 | - { | |
| 161 | - "banner_id": "3571", | |
| 162 | - "banner_name": "水果一刀切", | |
| 163 | - "banner_type": "40", | |
| 164 | - "banner_location": "100", | |
| 165 | - "banner_ad_id": "99", | |
| 166 | - "banner_launch_appid": "", | |
| 167 | - "banner_launch_path": "", | |
| 168 | - "banner_appid": "wxdf26a04c53d6f1e9", | |
| 169 | - "banner_path": "?channel_id=20361", | |
| 170 | - "banner_icon": "https://dep.miso-lab.com/data_analysis/games/res/5D42CBACTt.png", | |
| 171 | - "banner_user_num": "0", | |
| 172 | - "banner_exposure_num": "0", | |
| 173 | - "banner_sort": "1", | |
| 174 | - "banner_game_id": "1000053", | |
| 175 | - "banner_qqgame": "0", | |
| 176 | - "banner_qqgame_id": "0", | |
| 177 | - "banner_game_type": 0, | |
| 178 | - "banner_bone": "0", | |
| 179 | - "banner_system": "0", | |
| 180 | - "banner_online": "1", | |
| 181 | - "banner_reddot": "0", | |
| 182 | - "banner_gender": "0", | |
| 183 | - "banner_resident": "0", | |
| 184 | - "banner_qrcode": "0", | |
| 185 | - "banner_qrcode_img": "", | |
| 186 | - "banner_bone_info": false, | |
| 187 | - "banner_img_info": { | |
| 188 | - "banner_icon": "https://dep.miso-lab.com/data_analysis/games/res/5D42CBACTt.png" | |
| 189 | - } | |
| 190 | - } | |
| 191 | - ] | |
| 192 | - } | |
| 193 | - | |
| 194 | - ``` | |
| 195 | - | |
| 196 | - > **返回的数据banner_list列表解析为 Array< BannerData >,BannerData是banner_list每一项数据实体,下面的bannerNavigateTo与addExposure接口api参数banner_data属于此BannerData结构**。 | |
| 197 | - | |
| 198 | - 示例: | |
| 199 | - | |
| 200 | - ```javascript | |
| 201 | - /** | |
| 202 | - * 演示交叉推广位使用示例 | |
| 203 | - */ | |
| 204 | - export default class TestBannerSample { | |
| 205 | - constructor() { | |
| 206 | - // 示例:加载交叉悬浮广告框 | |
| 207 | - this.loadBannerList(BannerType.TYPE_CROSS) | |
| 208 | - .then((dataList: Array<BannerData>) => { | |
| 209 | - // 渲染广告位数据 | |
| 210 | - this.renderAdCrossList(dataList); | |
| 211 | - }).catch(err => { | |
| 212 | - // bannerList不存在获取请求拉取失败 | |
| 213 | - }); | |
| 214 | - } | |
| 215 | - | |
| 216 | - /** | |
| 217 | - * 渲染广告位列表 | |
| 218 | - * @param dataList 广告位列表 | |
| 219 | - */ | |
| 220 | - private renderAdCrossList(dataList: Array<BannerData>) { | |
| 221 | - // ... | |
| 222 | - } | |
| 223 | - | |
| 224 | - /** | |
| 225 | - * 根据类型获取交叉推广位列表 | |
| 226 | - * @param banner_type 广告位类型 | |
| 227 | - */ | |
| 228 | - private loadBannerList(banner_type: BannerType): Promise<any> { | |
| 229 | - return new Promise((resolve, reject) => { | |
| 230 | - PCSDK.stat.bannerList(banner_type) | |
| 231 | - .then(data => { | |
| 232 | - let bannerList: Array<BannerData> = data.banner_list || []; | |
| 233 | - if (bannerList.length) { | |
| 234 | - // 处理bannerList数据列表 | |
| 235 | - resolve(bannerList); | |
| 236 | - } else { | |
| 237 | - // 处理数据为空情况 | |
| 238 | - reject(null); | |
| 239 | - } | |
| 240 | - }).catch(err => { | |
| 241 | - // 请求接口报错情况 | |
| 242 | - reject(err); | |
| 243 | - }); | |
| 244 | - }); | |
| 245 | - } | |
| 246 | - } | |
| 247 | - | |
| 248 | - // 广告位类型的枚举 | |
| 249 | - enum BannerType { | |
| 250 | - TYPE_CROSS = 40, // 交叉悬浮广告框 | |
| 251 | - TYPE_LIKE = 50, // 交叉猜你喜欢广告位 | |
| 252 | - TYPE_LIST = 70, // 交叉抽屉广告位 | |
| 253 | - } | |
| 254 | - | |
| 255 | - /* | |
| 256 | - * banner数据实体结构 | |
| 257 | - */ | |
| 258 | - class BannerData { | |
| 259 | - public banner_id: string; | |
| 260 | - public banner_appid: string; | |
| 261 | - public banner_diamond: number; | |
| 262 | - public banner_type: string; | |
| 263 | - public banner_icon: string; | |
| 264 | - public banner_name: string; | |
| 265 | - public banner_resident: string; // 是否常驻 | |
| 266 | - } | |
| 267 | - ``` | |
| 268 | - | |
| 269 | -2. ##### **bannerNavigateTo** | |
| 270 | - | |
| 271 | - ```javascript | |
| 272 | - PCSDK.stat.bannerNavigateTo( location:number, banner_data: any, opts?: { extraData?: string; envVersion?: string }): Promise<any> | |
| 273 | - ``` | |
| 274 | - | |
| 275 | - 定义:交叉推广位点击游戏跳转到对应appid的游戏,该接口封装了小游戏的跳转功能(navigateToMiniProgram), 第三个参数配置可参考[wx.navigateToMiniProgram extraData、envVersion配置信息](https://developers.weixin.qq.com/minigame/dev/api/open-api/miniprogram-navigate/wx.navigateToMiniProgram.html) | |
| 276 | - | |
| 277 | - 参数: | |
| 278 | - | |
| 279 | - ```javascript | |
| 280 | - location: number 必传,统一传递为:100 | |
| 281 | - | |
| 282 | - banner_data:any 必传,点击跳转项对应数据,该数据的结构为BannerData,为bannerList获取的Array<BannerData>的单元实体项 | |
| 283 | - | |
| 284 | - opts: object 选传,调试阶段可参照[wx.navigateToMiniProgram(Object object) extraData配置信息]进行裴旭 | |
| 285 | - { | |
| 286 | - extraData: string 选传, 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch,App.onShow 中获取到这份数据 | |
| 287 | - envVersion: string 选传,要打开的小程序版本,合法值:develop、trial、release | |
| 288 | - } | |
| 289 | - ``` | |
| 290 | - | |
| 291 | - 示例:获取猜你喜欢推广位,以列表的形式显示在界面上,点击任意一项游戏跳转其他游戏 | |
| 292 | - | |
| 293 | - ```javascript | |
| 294 | - // 发起登录请求,得到登录数据信息,调用setLogind设置SDK用户信息 | |
| 295 | - /** | |
| 296 | - * 演示交叉推广位使用示例 | |
| 297 | - */ | |
| 298 | - export default class TestBannerSample extends ui.shop.ShopPopwinUI { | |
| 299 | - private list: Laya.List; | |
| 300 | - | |
| 301 | - constructor() { | |
| 302 | - super(); | |
| 303 | - | |
| 304 | - // 创建List ui | |
| 305 | - this.list = new Laya.List(); | |
| 306 | - this.list.itemRender = AdItem; | |
| 307 | - this.list.vScrollBarSkin = ""; | |
| 308 | - this.list.scrollBar.elasticBackTime = 500; | |
| 309 | - this.list.scrollBar.elasticDistance = 350; | |
| 310 | - this.list.x = 0; | |
| 311 | - this.list.y = 0; | |
| 312 | - this.list.spaceY = 10; | |
| 313 | - this.list.height = 1000; | |
| 314 | - this.list.renderHandler = new Laya.Handler(this, this.renderAdItem); | |
| 315 | - this.boxList.addChild(this.list); | |
| 316 | - | |
| 317 | - // 示例:加载猜你喜欢广告位数据列表 | |
| 318 | - this.loadBannerList(BannerType.TYPE_LIKE) | |
| 319 | - .then((dataList: Array<BannerData>) => { | |
| 320 | - this.renderAdLikeList(dataList); | |
| 321 | - }).catch(err => { | |
| 322 | - // bannerList不存在获取请求拉取失败 | |
| 323 | - }); | |
| 324 | - } | |
| 325 | - | |
| 326 | - /** | |
| 327 | - * 渲染单个广告位ui | |
| 328 | - * @param cell | |
| 329 | - */ | |
| 330 | - private renderAdItem(cell: AdItem) { | |
| 331 | - cell.init(); | |
| 332 | - } | |
| 333 | - | |
| 334 | - /** | |
| 335 | - * 渲染广告位列表 | |
| 336 | - * @param dataList 广告位列表 | |
| 337 | - */ | |
| 338 | - private renderAdLikeList(dataList: Array<BannerData>) { | |
| 339 | - this.list.array = dataList; | |
| 340 | - } | |
| 341 | - | |
| 342 | - /** | |
| 343 | - * 根据类型获取交叉推广位列表 | |
| 344 | - * @param banner_type 广告位类型 | |
| 345 | - */ | |
| 346 | - private loadBannerList(banner_type: BannerType): Promise<any> { | |
| 347 | - return new Promise((resolve, reject) => { | |
| 348 | - PCSDK.stat.bannerList(banner_type) | |
| 349 | - .then(data => { | |
| 350 | - let bannerList: Array<BannerData> = data.banner_list || []; | |
| 351 | - if (bannerList.length) { | |
| 352 | - // 处理bannerList数据列表 | |
| 353 | - resolve(bannerList); | |
| 354 | - } else { | |
| 355 | - // 处理数据为空情况 | |
| 356 | - reject(null); | |
| 357 | - } | |
| 358 | - }).catch(err => { | |
| 359 | - // 请求接口报错情况 | |
| 360 | - reject(err); | |
| 361 | - }); | |
| 362 | - }); | |
| 363 | - } | |
| 364 | - } | |
| 365 | - | |
| 366 | - class AdItem extends ui.ads.GameIconUI { | |
| 367 | - constructor() { | |
| 368 | - super(); | |
| 369 | - this.on(Laya.Event.CLICK, this, this.onJumpGame); | |
| 370 | - } | |
| 371 | - | |
| 372 | - init() { | |
| 373 | - let { banner_icon, banner_name, banner_reddot } = this.dataSource; | |
| 374 | - this.iconTex.skin = banner_icon; | |
| 375 | - this.nametxt.text = banner_name; | |
| 376 | - this.hot.visible = banner_reddot + '' === '1'; | |
| 377 | - } | |
| 378 | - | |
| 379 | - private onJumpGame(ev: Laya.Event) { | |
| 380 | - PCSDK.stat.bannerNavigateTo(100, { ...this.dataSource }).catch(err => { | |
| 381 | - // 跳转游戏微信弹出二次确认框,点击取消执行此处 | |
| 382 | - }); | |
| 383 | - } | |
| 384 | - } | |
| 385 | - | |
| 386 | - // 广告位类型的枚举 | |
| 387 | - enum BannerType { | |
| 388 | - TYPE_CROSS = 40, // 交叉悬浮广告框 | |
| 389 | - TYPE_LIKE = 50, // 交叉猜你喜欢广告位 | |
| 390 | - TYPE_LIST = 70, // 交叉抽屉广告位 | |
| 391 | - } | |
| 392 | - | |
| 393 | - /* | |
| 394 | - * banner数据实体结构 | |
| 395 | - */ | |
| 396 | - class BannerData { | |
| 397 | - public banner_id: string; | |
| 398 | - public banner_appid: string; | |
| 399 | - public banner_diamond: number; | |
| 400 | - public banner_type: string; | |
| 401 | - public banner_icon: string; | |
| 402 | - public banner_name: string; | |
| 403 | - public banner_resident: string; // 是否常驻 | |
| 404 | - } | |
| 405 | - ``` | |
| 406 | - | |
| 407 | - | |
| 408 | -3. ##### **addExposure** | |
| 409 | - | |
| 410 | - ```javascript | |
| 411 | - PCSDK.stat.addExposure( location: number, banner_data: Array< any > | any ): void | |
| 412 | - ``` | |
| 413 | - | |
| 414 | - 定义:对一个或者多个展示的推广位添加曝光,SDK在onHide时候上报曝光数据到后台,后台进行统计查阅 | |
| 415 | - | |
| 416 | - 参数: | |
| 417 | - | |
| 418 | - ```javascript | |
| 419 | - location: number 必传,统一传递为:100 | |
| 420 | - | |
| 421 | - banner_data:any 必传,添加展推广位曝光数据,可添加一个或者多个曝光数据,banner_data参数数据结构为上面bannerList api返回的列表数据的项BannerData实体结构:Array<BannerData> | BannerData | |
| 422 | - | |
| 423 | - ``` | |
| 424 | - | |
| 425 | - > 提示: | |
| 426 | - > | |
| 427 | - > 展示猜你喜欢/抽屉推广位:获取到9个推广位数据,展示了其中5个,调用曝光接口传入推广位数据为展示的5个,剩余的4个需在其展示的时候再调用曝光api接口传入。 | |
| 428 | - > | |
| 429 | - > 展示交叉悬浮框推广位:展示一个,将此推广位传入曝光接口,点击展示下一个,则把这个最新的数据传入曝光api | |
| 430 | - | |
| 431 | - 示例:根据交叉悬浮框类型调用PCSDK.stat.bannnerList接口获取交叉悬浮框推广位列表,显示第一个,每隔4秒切换到下一个,点击一个切换下一个展示。此示例没有使用定时器方式,采用的是监听动画帧实现。 | |
| 432 | - ```javascript | |
| 433 | - /** | |
| 434 | - * 演示交叉推广位使用示例 | |
| 435 | - */ | |
| 436 | -export default class TestBannerSample extends ui.ads.ADbtnUI { | |
| 437 | - private data; | |
| 438 | - private count: number; | |
| 439 | - private adList: Array<BannerData>; | |
| 440 | - | |
| 441 | - constructor() { | |
| 442 | - super(); | |
| 443 | - this.count = 0; | |
| 444 | - this.adList = []; | |
| 445 | - this.on(Laya.Event.CLICK, this, this.onJumpGame); | |
| 446 | - } | |
| 447 | - | |
| 448 | - // 初始化显示交叉悬浮框广告位 | |
| 449 | - init(isFirst: boolean) { | |
| 450 | - isFirst && (this.count = 0); | |
| 451 | - this.anim_entice.play(0, true); | |
| 452 | - this.anim_entice.addLabel('refresh', 38); | |
| 453 | - // 交叉悬浮框动画执行到第38帧,自动更新下一个,开发者可根据实际使用定时器实现切换下一个 | |
| 454 | - this.anim_entice.on(Laya.Event.LABEL, this, this.handleAutoRrefresh); | |
| 455 | - // 第一次 | |
| 456 | - this.refresh(); | |
| 457 | - } | |
| 458 | - | |
| 459 | - // 清理交叉悬浮框广告位 | |
| 460 | - clear() { | |
| 461 | - this.anim_entice.gotoAndStop(0); | |
| 462 | - this.anim_entice.removeLabel('refresh'); | |
| 463 | - this.anim_entice.off(Laya.Event.LABEL, this, this.handleAutoRrefresh); | |
| 464 | - } | |
| 465 | - | |
| 466 | - private refresh() { | |
| 467 | - let list = this.adList; | |
| 468 | - if (!list || !list.length) { | |
| 469 | - this.loadBannerList(BannerType.TYPE_CROSS).then(() => this.refresh()); | |
| 470 | - return; | |
| 471 | - } | |
| 472 | - let data = list.pop(); | |
| 473 | - this.renderAdui(data); | |
| 474 | - this.data = data; | |
| 475 | - // 添加曝光数据 | |
| 476 | - PCSDK.stat.addExposure(100, data); | |
| 477 | - // 也可以采用传递多个方式 | |
| 478 | - // PCSDK.stat.addExposure(100, [{...data}]); | |
| 479 | - } | |
| 480 | - | |
| 481 | - private renderAdui(data) { | |
| 482 | - let { banner_bone_info, banner_img_info } = data; | |
| 483 | - if (banner_bone_info) { | |
| 484 | - this.imgIcon.visible = false; | |
| 485 | - } else { | |
| 486 | - this.imgIcon.visible = true; | |
| 487 | - this.imgIcon.skin = banner_img_info.banner_icon; | |
| 488 | - } | |
| 489 | - this.imgHot.visible = data.banner_reddot + '' === '1'; | |
| 490 | - } | |
| 491 | - | |
| 492 | - private onJumpGame(ev: Laya.Event) { | |
| 493 | - this.anim_entice.gotoAndStop(39); | |
| 494 | - this.anim_entice.play(39, true); | |
| 495 | - // 切换下一个 | |
| 496 | - this.refresh(); | |
| 497 | - PCSDK.stat.bannerNavigateTo(100, { ...this.data }).catch(err => { | |
| 498 | - // 跳转游戏微信弹出二次确认框,点击取消执行此处 | |
| 499 | - }); | |
| 500 | - } | |
| 501 | - | |
| 502 | - /** | |
| 503 | - * 处理自动切换下一个 | |
| 504 | - * @param name | |
| 505 | - */ | |
| 506 | - private handleAutoRrefresh(name) { | |
| 507 | - if (name === 'refresh' && this.count !== 0) { | |
| 508 | - this.refresh(); | |
| 509 | - } | |
| 510 | - this.count++; | |
| 511 | - } | |
| 512 | - | |
| 513 | - /** | |
| 514 | - * 根据类型获取交叉推广位列表 | |
| 515 | - * @param banner_type 广告位类型 | |
| 516 | - */ | |
| 517 | - private loadBannerList(banner_type: BannerType): Promise<any> { | |
| 518 | - return new Promise((resolve, reject) => { | |
| 519 | - PCSDK.stat.bannerList(banner_type) | |
| 520 | - .then(data => { | |
| 521 | - let bannerList: Array<BannerData> = data.banner_list || []; | |
| 522 | - if (bannerList.length) { | |
| 523 | - // 处理bannerList数据列表 | |
| 524 | - resolve(bannerList); | |
| 525 | - } else { | |
| 526 | - // 处理数据为空情况 | |
| 527 | - reject(null); | |
| 528 | - } | |
| 529 | - }).catch(err => { | |
| 530 | - // 请求接口报错情况 | |
| 531 | - reject(err); | |
| 532 | - }); | |
| 533 | - }); | |
| 534 | - } | |
| 535 | - } | |
| 536 | - | |
| 537 | - // 广告位类型的枚举 | |
| 538 | - enum BannerType { | |
| 539 | - TYPE_CROSS = 40, // 交叉悬浮广告框 | |
| 540 | - TYPE_LIKE = 50, // 交叉猜你喜欢广告位 | |
| 541 | - TYPE_LIST = 70, // 交叉抽屉广告位 | |
| 542 | - } | |
| 543 | - ``` | |
| 544 | 0 | \ No newline at end of file |
inner/install.md
| ... | ... | @@ -32,15 +32,13 @@ |
| 32 | 32 | |
| 33 | 33 | https://dataapi.d3games.com (统计平台正式服域名) |
| 34 | 34 | |
| 35 | + https://pre-dataapi.d3games.com (统计平台测试服域名) | |
| 36 | + | |
| 35 | 37 | cdn资源请求合法域名: |
| 36 | 38 | |
| 37 | 39 | https://dep.miso-lab.com (>>>request、download均要添加<<<) |
| 38 | 40 | |
| 39 | 41 | |
| 40 | - | |
| 41 | - | |
| 42 | - | |
| 43 | - | |
| 44 | 42 | ## SDK配置步骤 |
| 45 | 43 | |
| 46 | 44 | * #### 将下载下来的sdk压缩包,解压后,拷贝sdk文件夹到微信开发者工具项目中。 |
| ... | ... | @@ -71,6 +69,10 @@ |
| 71 | 69 | IsOnlineDebug: true, // 是否开启online模块(配置参数模块)debug模式 |
| 72 | 70 | ShareRightKey: 'forward', // 右上角分享的shareKey,shareKey请阅读share模块说明,默认为forward,为空字符串则不使用右上角分享 |
| 73 | 71 | |
| 72 | + GameHost: { // 必填,游戏服务端的host | |
| 73 | + Prod: 'https://xxx/xxx', | |
| 74 | + Pre: 'https://pre-xxx/xxx' | |
| 75 | + }, | |
| 74 | 76 | ShareData: { // 必填,默认分享数据(拉取不到分享配置后使用,默认分享,SDK自动分配share_id为99999) |
| 75 | 77 | share_desc: 'xxx', |
| 76 | 78 | share_wxad_id: '', // 可选,视频广告uid,配置此参数,拉取不到对应的shareKey,推送看视频,不配置或者配置的uid无效则推送分享 |
| ... | ... | @@ -153,8 +155,8 @@ |
| 153 | 155 | 在后台的【分享/视频配置】栏目配置了一条分享key为:forward的分享配置 |
| 154 | 156 | |
| 155 | 157 |  |
| 156 | - | |
| 157 | -8. **ShareData( object ):**此配置在【IsUseShareModule: true】起效,开发者如果接入了分享视频模块,>>> 请务必配置一条 <<<。 | |
| 158 | +8. **GameHost( object ):**必填,游戏服务端的host,此配置需运营or后端人员提供,目前是后端人员提供,游戏服务器API的测试、正式服地址。 | |
| 159 | +9. **ShareData( object ):**此配置在【IsUseShareModule: true】起效,开发者如果接入了分享视频模块,>>> 请务必配置一条 <<<。 | |
| 158 | 160 | |
| 159 | 161 | > IsUseShareModule设置true sdk启动拉取分享视频配置列表,如果分享视频列表拉取请求失败,或此shareKey不在分享视频配置列表中(登录后台 ->【游戏数据】->【分享/视频配置】栏没有配置分享key)就会使用此条设置的数据。 |
| 160 | 162 | ... | ... |
inner/intro.md
| ... | ... | @@ -16,9 +16,11 @@ PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台, |
| 16 | 16 | # 噗嗤管理后台 |
| 17 | 17 | 噗嗤管理后台对sdk中上报的各项数据进行分析,管理sdk中所需要的配置信息:分享/视频配置、配置参数(在线参数配置)、交叉推广位配置、用户自定义事件配置。 |
| 18 | 18 | |
| 19 | -噗嗤管理后台地址: | |
| 19 | +噗嗤管理后台地址:方便开发者联调测试阶段不影响上线游戏运营相关数据或者配置信息,{% em %}注意:开发者需在游戏客户端维护一个版本号version,作为[PCSDK.game模块的env](game.md#env) api的参数传递;第一次接入设置version为1.0,此时API跑的是测试环境,游戏提审通过发布上线后,1.0则会被后端切为正式服地址,用于线上游戏运行,1.1则被后端改成测试服地址,方便开发者进行新的版本功能迭代,请客户端版本号加0.1,改成1.1,依次类推,每个版本上线后开发者都要对version加上0.1。{% endem %} | |
| 20 | 20 | |
| 21 | -- https://data.d3games.com/#/login | |
| 21 | +> 测试环境各种配置管理、数据分析查看,请[前往测试服后台](http://pre-data.d3games.com/#/login) | |
| 22 | + | |
| 23 | +> 正式环境各种配置管理、数据分析查看,请[前往正式服后台](https://data.d3games.com/#/login) | |
| 22 | 24 | |
| 23 | 25 | **友情提示:** |
| 24 | 26 | |
| ... | ... | @@ -42,10 +44,10 @@ PCSDK上报小游戏用户所触发的各种行为数据到噗嗤管理后台, |
| 42 | 44 | |
| 43 | 45 | |
| 44 | 46 | |
| 45 | -**后台提供配置相关功能(不能跳转请联系管理员添加权限):** | |
| 47 | +**后台提供配置相关功能,开发者去测试后台配置,提审后让相关人员同步测试配置到正式配置(不能跳转请联系管理员添加权限):** | |
| 46 | 48 | |
| 47 | -- [分享/视频配置](https://data.d3games.com/index.html#/share_list) | |
| 48 | -- [配置参数](https://data.d3games.com/index.html#/config_list) | |
| 49 | +- [分享/视频配置](http://pre-data.d3games.com/index.html#/share_list) | |
| 50 | +- [配置参数](http://pre-data.d3games.com/index.html#/config_list) | |
| 49 | 51 | |
| 50 | 52 | |
| 51 | 53 | # 更多: | ... | ... |