跳到主要内容

微信小游戏 JS-SDK

为接入SDK平台的相关数据,平台提供了一个简单的微信小游戏SDK(DHMiniSDK),其中包含授权登录、支付、分享、数据上报、广告等功能,CP在打包的时候请注意使用环境哦,具体接入操作说明如下。

一、准备工作

1、添加安全域名

登录《微信公众平台》后台,进入“开发>开发管理>开发设置”,于“服务器域名(request合法域名)”一栏中添加如下安全域名。

域名请向SDK平台人员索要

2、微信端的 AppID 和 AppSecret 信息

登录《微信公众平台》后台获取小游戏的 AppID 和 AppSecret 提供给平台对接人员(请注意保管,如果秘钥发生变更,务必通知平台进行替换)。

3、SDK平台端的 AppID 等信息

向SDK平台索要小游戏的 appId、channel、mainChannel 和 secondChannel 等信息。

二、下载+初始化

1、下载

下载地址类型说明
DHMiniSDKUMD使用 import 导入

2、初始化

下载完SDK,并且拿到相应的参数后,可对SDK进行初始化操作,示例代码如下:

import DHMiniSDK from "./dhminisdk";

const sdk = new DHMiniSDK({
env: "test", // 接入环境,非必填,默认为 production(test:测试环境,除数据上报服务外,其它服务均请求测试环境接口;production:正式环境)
wxAppId: "wxcac8c2ce332e1ebc", // 微信小游戏AppID,必填
appId: 1296519244, // 小游戏在平台端的AppID,必填
appName: "com.qiyuan.lebinfen", // 小游戏应用包名,必填(1.0.3版本新增)
channel: 1398, // 渠道,必填
mainChannel: 100708, // 推广主渠道,非必填,默认将从启动参数中获取
secondChannel: 100709, // 推广次渠道,非必填,默认将从启动参数中获取
reyunAppKey: "xxx" // 热云管理后台创建产品时生成的AppKey,非必填,若填写此项则表示接入热云数据上报
});

console.log(sdk.wxAppId); // 读取微信小游戏AppID
console.log(sdk.wxSystem); // 读取微信系统信息
console.log(sdk.appId); // 读取小游戏在平台端的AppID
console.log(sdk.appName); // 读取小游戏应用包名
console.log(sdk.channel); // 读取渠道ID,如1398,(对应数据上报 from_ch 字段)
console.log(sdk.mainChannel); // 读取主渠道ID,如100708,(对应数据上报 ad_channel 字段)
console.log(sdk.secondChannel); // 读取次渠道ID,如100709,(对应数据上报 ad_subchannel 字段)
console.log(sdk.deviceId); // 读取设备唯一标识,(对应数据上报 dev_uuid 字段)
console.log(sdk.deviceOS); // 读取设备系统类型,(对应数据上报 dev_os 字段)

三、授权登录服务

1、授权登录

使用 sdk 实例的 authorize(options) 执行授权登录流程并拉取平台的用户信息,options 参数的详细说明如下所示:

选项类型说明
successFunction执行成功的回调函数,返回平台的用户数据
failFunction执行失败的回调函数,返回相关code码及错误消息

示例代码:

sdk.authorize({
success: function(response){
console.log("用户信息数据如下:");
console.log(response);
},
fail: function(error){
console.log(error);
}
});

四、支付服务

对于需要开通支付的小游戏,可以选择合适的支付方式进行接入,本文主要对平台支付进行简单概述说明。

1、支付环境

SDK 内置支付方式如下:

支付方式说明
customer-service跳转小游戏客服支付
miniprograme跳转小程序支付
midas米大师支付,仅支持安卓设备

由于微信策略限制,小游戏在iOS环境下不能直接进行支付,包括:

  • iOS环境下小游戏无法直接发起虚拟支付(如米大师支付,安卓环境下无此限制);
  • iOS环境下,使用跳转小程序进行支付,小程序一旦被限制打开,将导致无法充值。

如果小游戏内支付需对安卓或苹果等环境做区分处理,可根据sdk提供的sdk.wxSystem.platform返回值进行判断。

Platform 枚举值说明
androidAndroid微信
iosiOS微信(包含 iPhone、iPad)
windowsWindows微信
macmacOS微信(macOS微信暂不支持打开小游戏,此枚举值可忽略)
devtools微信开发者工具

2、准备事项

默认情况下,安卓采用米大师支付(启用米大师支付需要在后台配置),苹果采用小程序支付。如果安卓环境下不想采用米大师支付,相关的米大师配置可忽略;米大师支付需要相应的版号,若小游戏没有版号,建议直接使用小程序支付。

a. 登录《微信公众平台》后台添加如下安全域名。

请向SDK平台人员索要

b、需要在后台开通米大师虚拟支付,并且配置相关信息。

c、游戏在设置道具价格的时候,需要注意如下区别:

充值方式充值额度
米大师根据微信小游戏官方API的有效价格进行设置
支付小程序任意金额
跳转客服支付任意金额

d、开通支付后,CP需要提供给平台如下信息(对接人员必须正确配置到相应后台中):

e、确认服务端的充值回调接口地址,请配置到后台中,确保付款成功后,实时更新订单数据。

f、如果支付采用了跳转小程序的形式,需要小游戏在game.json中配置navigateToMiniProgramAppIdList,将需要跳转的小程序微信AppID添加到允许列表中,现平台SDK支付服务支持的小程序如下(按需添加):

微信小程序AppID说明
wxbfc111821fb999a0乐缤纷相册

示例代码:

// game.json
{
"navigateToMiniProgramAppIdList": [
"wxbfc111821fb999a0"
]
}

3、调用支付

使用 sdk 实例的 payment(data, options) 方法调用支付,具体参数说明如下:

参数名类型说明
dataObject支付数据对象(详见下文)
optionsObject支付方式及事件回调等配置

参数 data 的详细说明如下:

选项类型必填说明
wxPaymentAppIdString微信公众平台注册的支付小程序的AppID(不填时默认使用支付小程序“乐缤纷相册”)
appIdNumberSDK平台创建当前小游戏产品时生成的AppID(不填时默认使用SDK初始化参数中的appId字段作为缺省值)
mainChannelNumber主渠道(不填时默认使用SDK初始化参数中的mainChannel字段作为缺省值)
secChannelNumber次渠道(不填时默认使用SDK初始化参数中的secondChannel字段作为缺省值)
accountString用户在SDK平台的账号(通过sdk.authorize授权登录服务获取,不填时默认使用sdk.authorize授权登录方法获取的用户信息作为缺省值)
accountIdNumber用户在SDK平台的账号数字ID(通过sdk.authorize授权登录服务获取,不填时默认使用sdk.authorize授权登录方法获取的用户信息作为缺省值)
wxOpenIdString用户的微信openid(通过sdk.authorize授权登录服务获取,不填时默认使用sdk.authorize授权登录方法获取的用户信息作为缺省值)
areaIdNumber游戏大区ID(默认为1)
roleIdNumber角色ID(默认为0)
priceNumber道具金额,单位分
currencyString货币单位(默认为CNY)
productIdString道具ID
productNameString道具名称
timestampNumber时间戳
memoString透传参数(默认为空)
remarkString透传参数2(默认为空)

参数 options 的详细说明如下:

选项类型说明
androidStringAndroid微信使用的支付方式,可选值为 customer-service、miniprograme、midas,默认为 midas
iosStringiOS微信使用的支付方式,可选值为 customer-service、miniprograme,默认为 miniprograme
successFunction调用成功的回调函数
failFunction调用失败的回调函数,返回相关code码及错误消息

示例代码:

sdk.payment({
wxPaymentAppId: "wxbfc111821fb999a0",
appId: sdk.appId,
mainChannel: sdk.mainChannel,
secondChannel: sdk.secondChannel,
wxOpenId: sdk.userInfo.wxOpenId,
areaId: 1,
roleId: 0,
price: 600,
currency: "CNY",
productId: "com.qyyy.lebinfen.MLUPAY20501001",
productName: "测试道具",
timestamp: 1538212308,
memo: "",
remark: ""
}, {
android: "midas",
ios: "miniprogram",
devtools: "midas",
success: function(response) {
console.log(response);
},
fail: function(error) {
console.log(error.message);
}
});

五、分享服务

1、设置分享

调用 sdk 实例的 setShare(options) 可启用并自定义分享文案,下述图片链接和图片ID可在小游戏开发者后台上传「设置 - 游戏设置 - 自定义转发图片配置」,上传imageUrlimagePreviewUrl图,待审核通过后复制过来即可,具体参数说明如下:

选项类型说明
titleString分享标题,不传则默认使用当前小游戏的昵称
imageUrlString分享时显示的图片链接,不传则默认使用当前小游戏的头像
imageUrlIdString审核通过的图片ID,与 imageUrl 一起使用
imagePreviewUrlString分享到朋友圈的预览图,不传则默认使用当前小游戏的画面截图
imagePreviewUrlIdString审核通过的预览图片ID,与 imagePreviewUrl 一起使用
queryString自定义查询字符串,必须是 key1=val1&key2=val2 的格式。从这条转发消息进入后,可通过 wx.getLaunchOptionsSync() 或 wx.onShow() 获取启动参数中的 query

示例代码:

sdk.setShare({
title: "乐缤纷",
imageUrl: "https://mmocgame.qpic.cn/wechatgame/PGr6EBJdWIKOjUyS3lleGHVchRvG9KRgO3afBRvNy3Y5BmJl6cSG3RHKbjclHn1j/0",
imageUrlId: "imSzfWYsSIGdbW7pWDHU/w==",
imagePreviewUrl: "https://mmocgame.qpic.cn/wechatgame/PGr6EBJdWII0ow0xeGYQVEe3wbjabf2UNAdghj0apQFxQk4wqgSSuQzMIofiadiax2/0",
imagePreviewUrlId: "6XIF2tp+Q+mX1QfbC1mtCg==",
query: "parm1=a&parm2=b"
});

六、客服系统

1、跳转客服系统

注意:跳转客服系统为 1.0.3 版本新增,使用该服务需要获取 appName 游戏应用包名,请务必在 SDK 初始化时配置该参数

使用 sdk 实例的 service(data, options) 方法使用客服系统,具体参数说明如下:

参数名类型说明
dataObject跳转参数
optionsObject事件回调等配置

参数 data 的详细说明如下:

选项类型必填说明
roleIdNumber角色ID
nicknameString角色昵称
levelNumber角色等级
targetAppIdNumber客服系统应用ID,可填 21658

参数 options 的详细说明如下:

选项类型说明
successFunction调用成功的回调函数
failFunction调用失败的回调函数,返回相关code码及错误消息
completeFunction调用成功的回调函数

示例代码:

sdk.service({
roleId: 1000010000,
nickname: "MESS",
level: 3,
targetAppId: 21658
}, {
success: function(response) {
console.log(response);
},
fail: function(error) {
console.log(error.message);
}
});

七、问卷调查

1、跳转问卷调查

注意:跳转问卷调查为 1.0.3 版本新增,使用该服务需要获取 appName 游戏应用包名,请务必在 SDK 初始化时配置该参数

使用 sdk 实例的 survey(data, options) 方法使用问卷调查,具体参数说明如下:

参数名类型说明
dataObject跳转参数
optionsObject事件回调等配置

参数 data 的详细说明如下:

选项类型必填说明
serverIdNumber区服ID
areaIdNumber大区ID
roleIdNumber角色ID
nicknameString角色昵称
levelNumber角色等级
targetAppIdNumber问卷调查应用ID,可填 21658
surveyIdNumber问卷

参数 options 的详细说明如下:

选项类型说明
successFunction调用成功的回调函数
failFunction调用失败的回调函数,返回相关code码及错误消息
completeFunction调用成功的回调函数

示例代码:

sdk.service({
roleId: 1000010000,
nickname: "MESS",
level: 3,
targetAppId: 21658
}, {
success: function(response) {
console.log(response);
},
fail: function(error) {
console.log(error.message);
}
});

八、数据上报服务

数据上报目前支持上报到 OSSv2热云广告监测平台, 上报到 热云 时候需要运营人员提前填好相关配置信息,不清楚的请猛击 热云对接微信小程序使用说明。(✓表示支持上报)

注意:一定要先初始化数据,看大类[1-4]只上报到OSSv2[5]只上报到热云[6,7]既上报到OSSv2又上报到热云[8]日志上报[9,10]自定义上报事件,具体使用看下面说明。

1、用户未登录(OSSv2)

  • OSSv2
  • 热云

注意:支持上报到OSSv2,外部无需调用,已封装到SDK内部,未登录时自动上报。

a、用途和用法

如果用户没有登录,待页面加载完成调用此方法进行数据上报。

b、接口调用

sdk.analytics.loaded(callback?);

c、参数 callback 说明

callback上报完后的回调,可选。

d、示例

sdk.analytics.loaded();

2、用户创角(OSSv2)

  • OSSv2
  • 热云

注意:只支持上报到OSSv2

a、用途和用法

游戏内角色创建成功后,调用此方法进行数据上报。

b、接口调用

sdk.analytics.role(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
accountId账号id必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字
roleId角色id必填游戏内唯一(不同区服之间也不允许重复)纯数字,若游戏无角色概念,则填账号id
zid游戏大区id非必填游戏真实大区id,若无大区概念,可不填,默认值:1(初始大区编号)
sid游戏服务器id非必填大区的下一级,若游戏无服概念,可不填,默认值:1(初始服编号)
soles总角色数非必填本次创角后玩家的总角色数(RPG游戏会有多角色的情况)默认值:1(表示首次创角)
roleName角色名称非必填角色名称,默认为空
roleSex角色性别非必填角色性别,0: 男; 1: 女; 2: 其他(部分游戏无性别之分) 默认值:2

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.role({
accountId: 172463557,
roleId: 172463557,
zid: 1,
sid: 1,
soles: 1,
roleName: 'player1',
roleSex: 2
}, (params) => {
console.log(params);
});

3、广告上报(OSSv2)

  • OSSv2
  • 热云

注意:只支持上报到OSSv2,外部无需调用,已封装到SDK内部,广告行为自动上报。

a、用途和用法

用于微信小游戏内植入广告,上报用户的操作行为,如:关闭广告、播放广告、点击广告、广告错误事件等,详细参数如下

b、接口调用

sdk.analytics.advert(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
accountId账号id必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字
advertPlatform广告平台必填广告平台,例如:toutiao、weixin
advertEvent事件名称必填事件名称值为:ad_close(关闭广告)、ad_play(播放广告)、 ad_inclick(广告内点击)、ad_error(广告错误事件)
result事件结果必填值为:0(成功)、1(失败)、2(其他)。默认为 0
channelNameSDK内部渠道标识非必填一级市场渠道,与投放的应用市场有关,但有个例外是电魂官方,如dhunion、Xiaomi等,默认为 dhunion
verifyType账号验证类型非必填值为:1(通过账号服务器端验证登录)、2(客户端本地认证登录)。默认为 1
advertType广告类型非必填值为:1(激励视频广告)。默认为 1
advertId广告ID非必填预留参数,有就填写
advertPosition广告展示位置非必填预留参数,有就填写
playTime播放时长非必填单位:秒。仅播放结束时有值
message错误描述非必填当广告出现错误事件(result=1)时的描述信息,值需转为base64

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.advert({
accountId: 172463557,
advertPlatform: 'toutiao',
advertEvent: 'ad_close',
result: 0,
channelName: 'dhunion',
verifyType: 1,
advertType: 1,
advertId: '',
advertPosition: '',
playTime: '',
message: ''
}, (params) => {
console.log(params);
});

4、微信小游戏分享(OSSv2)

  • OSSv2
  • 热云

注意:只支持上报到OSSv2,外部无需调用,已封装到SDK内部,分享后自动上报,开启调用查看上述分享服务

a、用途和用法

用于微信小游戏右上角分享,支持分享到朋友圈和发送给朋友,只需调用上述sdk.setShare()方法即可。

b、接口调用

sdk.analytics.share(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
shareType分享类型必填值为:1(发送给朋友)、2(分享到朋友圈)、3(其他)

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.share({
shareType:1
}, (params) => {
console.log(params);
});

5、用户注册(热云)

  • OSSv2
  • 热云

注意:支持上报到热云

a、用途和用法

当有新用户注册时,注册成功后调用此方法,要确保 accountId 不能为空。

b、接口调用

sdk.analytics.register(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
accountId账号id必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字
extendParams扩展参数非必填JSON类型,自定义属性key只能为string类型,需要以英文字符开头,仅支持输入英文字符、数字、下划线;以“_”开头为内置属性,不可以使用。value支持字符串、数字、日期和布尔类型

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.register({
accountId: 172463557,
extendParams: {
age: 20,
gender: 'ale'
}
}, (params) => {
console.log(params);
});

6、用户已登录(OSSv2、热云)

  • OSSv2
  • 热云

注意:支持上报到OSSv2热云,外部无需调用,已封装到SDK内部,在执行 sdk.authorize 进行授权登录并成功获取平台用户信息时自动上报。

a、用途和用法

如果用户已登录,调用此方法进行数据上报。

b、接口调用

sdk.analytics.logged(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
platform需要上报的平台必填数组格式,1、['ossv2', 'reyun']表示上报到ossv2热云; 2、['reyun']表示只上报到热云; 3、[]或不填表示哪个平台都不上报
accountId账号id必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.logged({
platform: ['ossv2', 'reyun'], // ['ossv2', 'reyun']表示上报到OSSv2和热云,若为['reyun']表示只上报到热云,[]表示都不上报
accountId: 172463557,
}, (params) => {
console.log(params);
});

7、用户充值(OSSv2、热云)

  • OSSv2
  • 热云

注意:支持上报到OSSv2热云

a、用途和用法

用于用户充值成功,统计充值数据,调用此方法进行数据上报。

b、接口调用

sdk.analytics.pay(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
platform需要上报的平台必填数组格式,1、['ossv2', 'reyun']表示上报到ossv2热云; 2、['reyun']表示只上报到热云; 3、[]或不填表示哪个平台都不上报
accountId账号id必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字
orderId订单编号必填唯一确定订单标志,注意不要出现重复订单记录,只需要输出成功的记录
payAmount充值金额必填本次充值金额,整数
payType支付方式必填支付类型,例如支付宝(alipay),银联(unionpay),微信支付(weixinpay),易宝支付(yeepay),默认值 weixinpay
currencyType货币类型必填货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如人民币(CNY)、美金(USD)等,默认为 CNY
roleId角色id必填游戏内唯一(不同区服之间也不允许重复)纯数字,若游戏无角色概念,则填账号id
itemId商品id必填充值商品id
payChannel支付渠道id非必填默认值同 appStoreId(应用商店渠道id)
zid游戏大区id非必填游戏真实大区id,若无大区概念,可不填,默认值:1(初始大区编号)
roleLevel角色等级非必填角色等级,默认值:1
vipLevelvip等级非必填vip等级,默认为空

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.pay({
platform: ['ossv2', 'reyun'], // ['ossv2', 'reyun']表示上报到OSSv2和热云,若为['reyun']表示只上报到热云,[]表示都不上报
accountId: 172463557,
orderId: 172463557,
payAmount: 399,
payType: 'weixinpay',
currencyType: 'CNY',
roleId: 123456,
itemId: 'com.dianhun.pay.01',
payChannel: 2023,
zid: 1,
roleLevel: 20,
vipLevel: 11
}, (params) => {
console.log(params);
});

8、日志上报

注意:上报到日志系统。

a、用途和用法

记录用户的操作行为,快速定位问题的根源、追踪程序执行的过程、数据的变化等,如:点击登录、下载等行为。

b、接口调用

sdk.analytics.log(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
eventId事件ID必填是已知提前定义好的值,查看事件ID规则
logContent日志内容必填日志上报描述
accountId账号id非必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字
subEventId子事件ID非必填默认为 0
logLevel事件级别非必填值为 d(默认,表示正常流程或成功日志) 或 e(上报失败日志)

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.log({
eventId: '530000::SDK_GOOGLE_LOGIN',
logContent: '谷歌登录日志上报',
accountId: 172463557,
subEventId: '0',
logLevel: 'd'
}, (params) => {
console.log(params);
});

9、自定义事件(OSSv2)

a、用途和用法

由于自定义事件名称格式、参数不一样,如果有需要请分别上报。

b、接口调用

sdk.analytics.event(params, callback?);

c、参数 params 说明

参数名称参数说明状态参数描述
accountId账号id必填账号id(电魂id),全平台唯一,游客亦有唯一id,纯数字
eventName自定义事件类型必填使用英文单词命名,如’levelUp’,‘joinCorp’
eventObj事件操作对象非必填如果是按钮点击事件,则对应按钮ID
eventResult事件操作结果非必填如果是按钮点击事件,则返回按钮点击的结果,比如是调整到另外一个页面,就填写结果页ID
eventCode事件操作原因非必填事件原因code
dataMode数据统计方式非必填1. 按 eventName + eventObj + eventCode 聚合后统计人数次数;
2. 按 eventName + eventObj + eventCode 取每个用户最新记录,然后统计人数次数
extendParams扩展参数非必填格式为json字符串,如:JSON.stringify({ kills: 0, deaths: 0, assistant: 0 }); 参数最多20

d、参数 callback 说明

callback上报完后的回调,返回参数params,可选。

e、示例

sdk.analytics.event({
accountId: 172463557,
eventName: 'levelUp',
eventObj: ''
eventResult: '',
eventCode: '',
dataMode: '',
extendParams: ''
}, (params) => {
console.log(params);
});

10、自定义事件(热云)

a、用途和用法

由于自定义事件名称格式、参数不一样,如果有需要请分别上报。

b、接口调用

sdk.analytics.eventReyun(eventname, params);

c、参数说明

参数名称参数说明状态参数描述
eventName自定义事件名称必填自定义事件名称,必须为event_1到event_30
params自定义参数JSON类型非必填自定义属性key只能为string类型,需要以英文字符开头,仅支持输入英文字符、数字、下划线;以“_”开头为内置属性,不可以使用。value支持字符串、数字、日期和布尔类型。

d、示例

sdk.analytics.eventReyun('event_1', { "age": 20 });

九、小游戏接入广告

a、用途和用法

用于小游戏内嵌入广告,目前仅支持微信激励视频广告,接入之前需在小游戏开发者后台创建广告并获取广告位ID,进入「推广 - 流量主 - 广告位管理」,请提前使用下述 create 方法创建广告,创建后广告视频会自动加载,且已接入上述广告上报方法,数据自动上报。 注意:为了避免低版本微信不支持该方法,开发者需登录小程序管理后台,进入「设置 - 基本设置 - 基础库最低版本设置」进行配置,请设置最低支持为2.8.0,版本过低则无法正常打开小程序,且提示用户更新客户端版本

b、接口调用

// 具体使用请参考下面的示例
const wxAd = sdk.ad.create(params);
wxAd.show(params?, callback?);

c、参数说明(params)

参数名称参数说明状态参数描述
adUnitId广告位ID必填在微信小游戏后台创建后获得
advertPlatform广告平台非必填广告平台,例如:toutiao、weixin等,默认为weixin
advertPosition广告展示位置非必填用于展示广告位置信息
onLoad回调非必填视频加载成功后的回调,返回参数为当前广告位id
onClose回调非必填点击关闭广告后的回调,返回参数为当前广告位id和state值,state: 1正常播放结束,可以下发游戏奖励/ 2播放中途退出,不下发游戏奖励

d、创建后 show 方法参数说明

wxAd.show(params?, callback?) 有两个参数 paramscallback,均为非必填,params参数值如下:

参数名称参数说明状态参数描述
advertPosition广告展示位置非必填同一则广告在不同地方展示的位置信息,此属性会覆盖create方法中的传递的属性并以此上报

e、示例

// 假如接入了两则广告

// 广告1 - 需提前创建
const wxAd01 = sdk.ad.create({
adUnitId: 'adunit-e567c8d56ff69c0e1',
avertPlatformd: 'weixin',
advertPosition: '',
onLoad: (args) => {
console.log(args); // { adUnitId: 'adunit-e567c8d56ff69c0e', advertPosition: '' }
},
onClose: (args) => {
console.log(args); // { adUnitId: 'adunit-e567c8d56ff69c0e', advertPosition: '', state: 1 } state: 1正常播放结束,可以下发游戏奖励/ 2播放中途退出,不下发游戏奖励
}
});

// show 用于显示视频,默认隐藏
wxAd01.show({ advertPosition: '' }, callback?); // callback为显示视频后的回调,可不传


// 广告2 - 需提前创建
const wxAd02 = sdk.ad.create({
adUnitId: 'adunit-e567c8d56ff69c0e2',
avertPlatformd: 'weixin',
advertPosition: '',
onLoad: (args) => {
console.log(args); // { adUnitId: 'adunit-e567c8d56ff69c0e', advertPosition: '' }
},
onClose: (args) => {
console.log(args); // { adUnitId: 'adunit-e567c8d56ff69c0e', advertPosition: '', state: 1 } state: 1正常播放结束,可以下发游戏奖励/ 2播放中途退出,不下发游戏奖励
}
});

// show 用于显示视频,默认隐藏
wxAd02.show({ advertPosition: '' }, callback?); // callback为显示视频后的回调,可不传