跳到主要内容

抖音小游戏对接

版本

当前版本 1.3.0 历史版本

1.接入前准备

整体结构

红色部分由SDK技术实现,蓝色部分由游戏技术实现 SDK会提供两部分资源文件,一是.unitypackage 结尾的Unity插件,需要放到unity工程里,二是几个.js结尾的sdk文件,需要放到抖音小游戏的工程里。说明在2.1 获取SDK 对接原理

接入必备信息

对接参数信息

参数类型提供者使用者描述用途
gameIdintSDK技术游戏技术SDK游戏ID调用SDK【初始化】方法时传入
ssAppIdstring运营游戏技术、SDK技术数数-项目管理-App_ID调用SDK初始化方法时传入
ylyqAccessTokenstring运营游戏技术、SDK技术引力引擎-应用管理-Access Token调用SDK初始化方法时传入
adUnitIdstring运营游戏技术抖音-流量主-广告管理-广告位ID调用SDK【激励广告创建并展示】方法时传入
productIdstring运营游戏技术、SDK技术游戏提供道具id调用SDK【支付】方法时传入

功能配置参数

  • 公共部分 需申请微信小游戏

    参数操作者使用者描述用途
    AppID((小程序ID))运营SDK技术抖音-开发设置-开发管理-AppID登录、支付等验证
    AppSecret(小程序密钥)运营SDK技术抖音-开发设置-开发管理-AppSecret登录信息验证
    设置域名白名单运营SDK技术、游戏技术抖音-开发设置-开发管理-服务器域名-request合法域名小游戏调用的域名都要设置,游戏域名请问游戏技术(包括下载域名要放downloadFile合法域名),SDK需设置:
    https://pre-minigamesdk-api.miaorui1.com
    https://minigamesdk-api.miaorui1.com
    https://backend.gravity-engine.com
    https://sskj-api.m-co.cn
  • 支付功能 需开通虚拟支付

    参数提供者使用者描述用途
    游戏币兑换比例运营SDK技术抖音-商业化-虚拟支付-支付设置支付验证用
    签名秘钥运营SDK技术抖音-商业化-虚拟支付-支付设置支付验证用
    服务器地址运营SDK技术抖音-商业化-虚拟支付-支付设置支付成功后抖音通知SDK地址
    https://minigamesdk-api.miaorui1.com/order/notify/dy
    服务器回调Token运营SDK技术抖音-商业化-虚拟支付-支付设置支付成功后微信通知SDK校验令牌
    道具游戏技术SDK技术游戏内道具,同微信小游戏把道具id、道具名称、道具价格提供给技术
    notify_url游戏技术SDK技术选填,游戏发货回调地址,客户端SDK在创单时也支持传,如果客户端传了就会通知客户端上报的,否则会通知notify_url
    signKeySDK技术游戏技术必填,游戏发货回调验证签名的密钥
  • 激励视频 需开通流量主功能

    参数提供者使用者描述用途
    广告位 ID运营游戏技术抖音-流量主-广告管理-广告位ID拉起激励视频需要
  • 数数数据上报

    参数提供者使用者描述用途
    ssAppId(ta_app_id)运营SDK技术、游戏技术数数-项目管理-App_ID数据上报数数
  • 引力引擎数据上报

    参数提供者使用者描述用途
    gravity_app_id运营SDK技术引力引擎-应用管理-应用名称-APPID数字,数据上报引力引擎
    gravity_app_key运营SDK技术引力引擎-应用管理-App Key数据上报引力引擎
    ylyqAccessToken(gravity_access_token)运营SDK技术、游戏技术引力引擎-应用管理-Access Token数据上报引力引擎
    抖音自动刷新TokenSDK技术SDK技术引力引擎-设置-应用管理-配置-抖音开发者填写token刷行地址(https://minigamesdk-api.miaorui1.com/dytoken/100002/SDK游戏id),开启,选择“引力调用客户接口刷新”
    自定义事件(不带$符号)运营SDK技术引力引擎-设置-元数据-元事件自定义事件(不带$符号)需要先创建才能上报,如果事件里有属性需要关联属性,属性在【事件属性】里创建
  • 客服功能 开通客服功能,添加客服人员。配置消息推送

    参数提供者使用者描述用途
    URL(服务器地址)运营SDK技术抖音开放平台 - 运营 - 客服 - 抖音IM客服用于自动回复客服消息,比如充值链接。填写
    https://minigamesdk-api.miaorui1.com/receive/100002/SDK游戏ID
    Token(令牌)运营SDK技术抖音开放平台 - 运营 - 客服 - 抖音IM客服用于自动回复客服消息,比如充值链接。
    EncodingAESKey(消息加密密钥)运营SDK技术抖音开放平台 - 运营 - 客服 - 抖音IM客服用于自动回复客服消息,比如充值链接。
    消息加密方式运营SDK技术抖音开放平台 - 运营 - 客服 - 抖音IM客服用于自动回复客服消息,比如充值链接。选择“明文模式”
    数据格式运营SDK技术抖音开放平台 - 运营 - 客服 - 抖音IM客服用于自动回复客服消息,比如充值链接。选择“JSON”

SDK名词

参数类型参数描述
sdkUserIdintSDK 用户唯一ID
platformUserIdstring小游戏的唯一ID,open_id
clientIdstringSDK生成的设备ID,每次清除缓存后会变

2.SDK接入

集成

集成步骤和示例

2.1 获取SDK

. Unity插件: MiaoJuDySDK.unitypackage 插件

. Js SDK: 小游戏SDK

2.2 配置SDK

1) 添加全局宏参数: UNITY_WEBGL【在抖音调试工具或抖音中运行时 添加】

宏定义

2) 解压MiaojuDySdk.zip,将目录中的所有文件复制到 unity项目的StreamingAssets/__cp_js_files下

2.3 SDK回调

公共返回字段

参数类型参数描述
codeint1000成功,其他失败
messagestring错误信息
dataobject/数据,看具体接口

2.4 初始化

提示

说明:必接功能,其他接口必须在初始化功能回调之后

数据流图

代码示例

object initParam = new Dictionary<string, object> {
{"gameId",1002},
{"gameVersion","v1.0.0"},
{"ssAppId", "822bb3ff1009407ebd76ed1787717c54"},
{"ylyqAccessToken", "OmptubhKdoUHbA0Cgicmozwatvqf7rfc"},
{"envConfig", "production"}
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.Init(initParam);//无需处理初始化回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.Init(initParam, InitCallBack);//需要处理初始化回调


void InitCallBack(string callback)
{
// 处理初始化回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
gameIdintSDK游戏ID,SDK技术提供
gameVersionint游戏版本号
ssAppIdstring数数应用App ID,运营提供
ylyqAccessTokenstring引力引擎应用Access Token,运营提供
envConfigstring环境配置,production正式,test测试 默认production

sdk回调返回值 [data]

 {
"userInfo": {//用户信息
"platformUserId": "抖音open_id",//(string)微信openId
"sdkUserId": "SDK用户id",//(string)SDK用户id
"clientId":"客户端SDK生成的唯一标识,小游戏缓存清除后会变",//(string)客户端SDK生成的唯一标识
"isNew": 1 // (int)是否新用户 0非新用户,1新用户
},
"launchOptions": {//启动参数
"scene":1001,//场景值
"query":{"from":"youusername","to":"wx"},//启动参数
"referrerInfo":{},//来源信息
//小游戏启动参数,见微信文档https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html
},
"systemInfo": {//系统信息
"brand":"devtools",//品牌
"model":"iPhone X",//型号
"system":"iOS 10.0.1",//系统
"platform":"devtools",//平台
"memorySize":"2048",//内存
"screenWidth":"375",//屏幕宽度
"screenHeight":"812",//屏幕高度
"SDKVersion":"3.2.5",//微信SDK版本
"language":"zh_CN",//语言
"version":"8.0.5"//微信版本
}
}

2.5 获取启动参数

数据流图

代码示例


object launchInfo = MiaoJuDySDK.MiaoJuDySDKBridge.Instance.GetUserLaunchInfo(); //用户设备及启动参数

参数说明

sdk返回值 [data]

{
"launchOptions": {//启动参数
"scene":1001,//场景值
"query":{"from":"youusername","to":"wx"},//启动参数
"referrerInfo":{},//来源信息
//小游戏启动参数,见微信文档https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html
},
"systemInfo": {//系统信息
"brand":"devtools",//品牌
"model":"iPhone X",//型号
"system":"iOS 10.0.1",//系统
"platform":"devtools",//平台
"memorySize":"2048",//内存
"screenWidth":"375",//屏幕宽度
"screenHeight":"812",//屏幕高度
"SDKVersion":"3.2.5",//微信SDK版本
"language":"zh_CN",//语言
"version":"8.0.5"//微信版本
}
}

2.6 监听小游戏界面展示 onMiniGameShow

提示

在调用初始化方法后调用,用来监听回到小游戏界面

代码示例


object onMiniGameShowDeFault = new Dictionary<string, object> {
};
MiaoJuWxSDK.MiaoJuWxSDKBridge.Instance.OnMiniGameShow(onMiniGameShowDeFault);//无需回调
MiaoJuWxSDK.MiaoJuWxSDKBridge.Instance.OnMiniGameShow(onMiniGameShowDeFault, OnMiniGameShowDCallBack);//需要处理回调

参数说明

sdk返回值 [data]

{
"scene": "021036",
"query": {},
"launch_from": "homepage",
"location": "sidebar_card",
"refererInfo": {appId: "tta368d5d53c5d50fa07"}
}

2.7 支付

数据流图

代码示例

object payDataDeFault = new Dictionary<string, object> {
{"productId","mj_unity_sdk_test"},
{"gameOrderId", "10000123456"},
{"customData",""},
{"productName", "MJSDK道具"},
{"serverId","4"},
{"serverName", "5"},
{"roleId", "6"},
{"roleName", "7"},
{"roleLevel", "8"},
{"buyQuantity", 1},
{"goodsPrice",100},
{"payNoticeUrl", ""}
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.Pay(payDataDeFault);//无需回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.Pay(payDataDeFault, PayCallBack);//需要处理回调


void PayCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
productIdstring商品ID,跟微信虚拟支付配置的道具ID一致
productNamestring商品名称
gameOrderIdstring游戏订单ID
serverIdstring服ID
serverNamestring服名称
roleIdstring角色ID
roleNamestring角色名
roleLevelstring角色等级
buyQuantityint购买数量
goodsPriceint单位分
customDatastring自定义参数
payNoticeUrlstring支付回调服务端地址,传了就会回调这个地址,不传则回调系统配置的

sdk回调返回值 [data]

{
"sdkOrderId":""//SDK订单ID 如果创单失败就不返回 data={}
}

2.8 激励广告创建并展示

数据流图

代码示例

object rewardVideoAdCreateDataDeFault = new Dictionary<string, object> {
{"adUnitId","adunit-b2c1849f409b5d48"},
{"otherProperties",new Dictionary<string, object> { } }
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.RewardVideoAdCreate(rewardVideoAdCreateDataDeFault);不需要处理回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.RewardVideoAdCreate(rewardVideoAdCreateDataDeFault, RewardVideoAdCreateCallBack);需要处理回调


void RewardVideoAdCreateCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
adUnitIdstring广告ID
otherPropertiesDictionary<string, object>引力引擎上报观看广告其他参数

sdk回调返回值 [data]

{
//data 为空
}

2.9 openCustomerService 打开客服

提示

说明:必接功能

代码示例

object openCustomerServiceDataDeFault = new Dictionary<string, object> {
{"sessionFrom","sdk"},
{"type",2}
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.OpenCustomerService(openCustomerServiceDataDeFault); //不需要处理回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.OpenCustomerService(openCustomerServiceDataDeFault, OpenCustomerServiceCallBack); //有回调


void OpenCustomerServiceCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
sessionFromstring会话来源
typeint先写死成2,抖音IM 客服

sdk回调返回值 [data]

{

}

注意事项:向用户发送消息48小时限5条,见文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-message/send.html

2.10 getUserInfo 获取用户信息

提示

说明:调用此功能如果没授权就可以拉起授权

代码示例

object getUserInfoDataDeFault = new Dictionary<string, object> {};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.GetUserInfo(getUserInfoDataDeFault); //不需要回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.GetUserInfo(getUserInfoDataDeFault, GetUserInfoCallBack); //有回调


void GetUserInfoCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述

sdk回调返回值 [data]

{
"nickName":"王二麻子",//昵称
"avatarUrl":"https://weixin.qq.com/kasrls",//头像,获取方式同上
"unionId":"23infos2384jwsflkw34r2",//同一开发者账号下的唯一标识
"createTime": "2024-09-05 13:14:15",
"gender": "男",//性别:男、女、未知
"platformUserId": "kswrlwsfhkwsfnkwf",//微信openId
"sdkUserId": 10000001,//SDK用户id
"sdkUserId": 10000001,//SDK用户id
"scopeUserInfo": true //本地头像昵称授权状态,如果true会自动更新头像昵称(一般2-4小时),false则需要游戏创建授权按钮让用户重新授权
}

2.11 createRole 创建角色上报数据

提示

说明:必接功能

代码示例

object createRoleDataDeFault = new Dictionary<string, object>
{
{"serverId","1" },
{"serverName","传奇盛世" },
{"roleId","123" },
{"roleName","重生之我是吗喽" },
{"roleLevel","999" },
{"roleCreateTime","1" },
{"location","浙江" },
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.CreateRole(createRoleDataDeFault);//不需要回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.CreateRole(createRoleDataDeFault, CreateRoleCallBack);//有回调


void CreateRoleCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
serverIdstring服ID
serverNamestring服名称
roleIdstring角色ID
roleNamestring角色名
roleLevelstring角色等级
roleCreateTimeint角色创建时间戳,秒
locationstring大区

sdk回调返回值 [data]

{

}

2.12 loginRole 登录角色上报数据

提示

说明:必接功能

代码示例

object loginRoleDataDeFault = new Dictionary<string, object>
{
{"serverId","1" },
{"serverName","传奇盛世" },
{"roleId","123" },
{"roleName","重生之我是吗喽" },
{"roleLevel","999" },
{"roleCreateTime","1" },
{"location","浙江" },
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.LoginRole(loginRoleDataDeFault); //不需要回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.LoginRole(loginRoleDataDeFault, LoginRoleCallBack); //有回调


void LoginRoleCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
serverIdstring服ID
serverNamestring服名称
roleIdstring角色ID
roleNamestring角色名
roleLevelstring角色等级
roleCreateTimeint角色创建时间戳,秒
locationstring大区

sdk回调返回值 [data]

{

}

2.13 changeRole 切换角色上报数据

数据流图

代码示例

object createRoleDataDeFault = new Dictionary<string, object>
{
{"serverId","1" },
{"serverName","传奇盛世" },
{"roleId","123" },
{"roleName","重生之我是吗喽" },
{"roleLevel","999" },
{"roleCreateTime","1" },
{"location","浙江" },
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.ChangeRole(createRoleDataDeFault); //不需要回主调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.ChangeRole(createRoleDataDeFault, ChangeRoleCallBack); //用回调


void ChangeRoleCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
serverIdstring服ID
serverNamestring服名称
roleIdstring角色ID
roleNamestring角色名
roleLevelstring角色等级
roleCreateTimeint角色创建时间戳,秒
locationstring大区

sdk回调返回值 [data]

{

}

2.14 ssUserSet 设置用户属性 上报数数 设置用户属性

数据流图

代码示例

object SsUserSetDataDeFault = new Dictionary<string, object>
{
{"type",1},
{"properties",new Dictionary<string, object>{
{ "mj_role_name","myRoleName"}
} },
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.SsUserSet(SsUserSetDataDeFault); //不需要回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.SsUserSet(SsUserSetDataDeFault, SsUserSetDataCallBack); //有回调


void SsUserSetDataCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
typeint设置用户属性的类型 1 user_set 2 userSetOnce 3 userAdd
propertiesDictionary<string, object>属性值对象

sdk回调返回值 [data]

{

}

2.15 ssReport 上报数数

数据流图

代码示例

object SsReportDataDeFault = new Dictionary<string, object>
{
{"eventName","mj_login_account"},
{"properties",new Dictionary<string, object>{
{"mj_login_method","抖音小游戏"}
}
},
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.SsReport(SsReportDataDeFault); //无需处理回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.SsReport(SsReportDataDeFault, SsReportDataCallBack); //有回调


void SsReportDataCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
eventNamestring事件名
propertiesDictionary<string, object>属性值对象

sdk回调返回值 [data]

{

}

2.16 ylyqReport 上报引力引擎

数据流图

代码示例

object ylyqReportDataDeFault = new Dictionary<string, object>
{
{"eventName","gravity_app_order"},
{"properties",new Dictionary<string, object>{
{"pay_reason","productName" },
{"pay_amount",1000},
{"order_id","orderid_123213123"}
}
},
};
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.YlyqReport(ylyqReportDataDeFault); //无需处理回调
MiaoJuDySDK.MiaoJuDySDKBridge.Instance.YlyqReport(ylyqReportDataDeFault, YlyqReportCallBack); //有回调


void YlyqReportCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述
eventNamestring事件名
propertiesDictionary<string, object>属性值对象

sdk回调返回值 [data]

{

}

2.17 isFromSidebar 判定玩家是否来自侧边栏

提示

说明:必接功能,判断用户是否来自侧边栏,如果是则展示【领奖按钮】,并让用户领奖;否则展示【前往侧边栏】按钮,点击调用sdk的navigateToScene方法跳转侧边栏

代码示例

object IsFromSidebarDeFault = new Dictionary<string, object>
{
};

MiaoJuDySDK.MiaoJuDySDKBridge.Instance.YlyqReport(IsFromSidebarDeFault, IsFromSidebarCallBack); //有回调


void IsFromSidebarCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述

sdk回调返回值 [data]

{
"show":"1",//1可领奖,2前往侧边栏
}

2.18 navigateToScene 跳转侧边栏

提示

说明:必接功能,同sdk的方法isFromSidebar结合使用

代码示例

object NavigateToSceneDeFault = new Dictionary<string, object>
{
};

MiaoJuDySDK.MiaoJuDySDKBridge.Instance.NavigateToScene(NavigateToSceneDeFault, NavigateToSceneCallBack); //有回调


void NavigateToSceneCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述

sdk回调返回值 [data]

{
}

2.19 onKeyboardAction 敏感词监听,监听键盘输入、确认、键盘收起

提示

说明:必接功能,抖音会监听键盘输入行为,游戏如果有玩家键盘输入型的交互行为,只要在此之前调用一次就行,或者放在初始化方法完成后调用。

代码示例

object OnKeyboardActionDeFault = new Dictionary<string, object>
{
};

MiaoJuDySDK.MiaoJuDySDKBridge.Instance.OnKeyboardAction(OnKeyboardActionDeFault, OnKeyboardActionCallBack); //有回调


void OnKeyboardActionCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述

sdk回调返回值 [data]

{
"value":"输入文字"
}

2.20 addShortcut 添加到桌面快捷方式

代码示例

object AddShortcutDeFault = new Dictionary<string, object>
{
};

MiaoJuDySDK.MiaoJuDySDKBridge.Instance.AddShortcut(OAddShortcutDeFault, AddShortcutCallBack); //有回调


void AddShortcutCallBack(string callback)
{
// 处理回调---无需处理回调不用实现
}

参数说明

参数类型是否必传参数描述

sdk回调返回值 [data]

{

}

3.服务端接入

3.1 游戏发货通知

当SDK服务端接收到抖音服务器推送的支付成功通知时,SDK服务端会先向抖音服务器发起用户游戏币扣款请求,扣款成功后,SDK服务器会向游戏服务器发送发货请求,通知游戏服给玩家发货。回调地址由游戏下单时传递的,不传的话,可以在SDK服务端数据后台配置。优先使用游戏传入。
发货签名密钥:signKey 由SDK提供
请求地址:游戏服接收请求的http地址,游戏下单时,传入。
请求方式:POST
参数格式:application/json
请求参数(JSON格式):
{
game_order_id:游戏订单号,必传
order_sn: SDK订单号,必传
user_id: SDK用户ID,必传
server_id: 服ID,必传
role_id: 角色ID,必填
platform_user_id: 抖音openID,必传
product_id: 商户唯一标识,必传
price:商品单价,单位分,必传
number: 购买数量,必传
money:付款金额,单位分,必传
real_pay:实付金额,单位分,必传
custom_data:获取订单号服务器传过来的自定义参数,原样返回
time: 请求发生的时间戳,必传
sign:签名值。 该字段不参与签名,签名规则:md5(order_sn&platform_user_id&product_id&custom_data&time&signKey),必传
}

游戏服务器返回(JSON格式):
{
code: 1000表示发货成功,其它值表示发货异常
message: 状态码对应的提示信息
}

请求参数说明(SDK发起请求)

参数类型是否必传参数描述
game_order_idstring游戏订单号
order_snstringSDK订单号:25位长度
user_idnumberSDK用户ID
platform_user_idstring即抖音openID
server_idstring服ID
role_idstring角色ID
product_idstring道具ID
pricenumber道具单价,单位分
numbernumber购买数量,如果大于1,需要按量发货
moneynumber付款金额,单位分
real_paynumber实付金额,单位分
custom_datastring获取游戏创建订单时透传过来的自定义参数,原样返回
timenumber请求发生的时间戳
signstring签名值。 该字段不参与签名
签名规则:md5(order_sn&platform_user_id&product_id&custom_data&time&signKey)

返回参数说明(游戏返回)

参数类型参数描述
codenumber状态码:1000表示发货成功,其它表示发货异常
messagestring状态码对应的提示说明
dataobject返回的其它数据,可为空或不传

3.2 发送抖音订阅模版服务通知

当游戏服需要对玩家进行下发抖音订阅模版服务通知时,游戏服务端向SDK服务端进行请求。
请求地址:https://minigamesdk-api.miaorui1.com/tools/sendsubscribemsg
请求方式:GET
特别说明:platform_id 与 game_id 由SDK提供
签名密钥:signKey 由SDK提供

请求参数说明(游戏服务端发起请求)

参数类型是否必传参数描述
platform_idnumber平台ID,由SDK提供
game_idnumber游戏ID,由SDK提供
server_idstring游戏服
role_idstring角色
template_idstring消息模版ID
sdk_uidstringSDK 用户唯一ID,与touser参数不能同时为空,都不为空则以touser为准
touserstring消息接收者 - 抖音用户openid,与sdk_uid参数不能同时为空,都不为空则以touser为准
pagestring服务通知消息点击后的跳转地址,跳转地址,例:/page/index
datastring模版内容,格式如: { "名次": 1, "奖励": "500钻石"},具体查看抖音模版对应的各字段
timenumber请求发生的时间戳
signstring签名值。 该字段不参与签名
签名规则:md5(platform_id&game_id&template_id&time&signKey)

返回参数说明(SDK服务端返回)

参数类型参数描述
codenumber状态码:1000表示成功,其它表示异常
messagestring状态码对应的提示说明
dataobject返回的其它数据,可为空或不传

3.3 获取小游戏的抖音服务端调用凭证

当需要自行操作抖音小游戏的部分服务接口调用时,可使用该接口先获取调用凭证(即access_token),由需求方向SDK服务端进行请求。
请求地址:https://minigamesdk-api.miaorui1.com/dytoken/{platform_id}/{game_id}
请求方式:GET
特别说明:platform_id 与 game_id 由SDK提供
签名密钥:signKey 由SDK提供

请求参数说明(游戏服务端发起请求)

参数类型是否必传参数描述
timenumber请求发生的时间戳
signstring签名值。 该字段不参与签名
签名规则:md5(platform_id&game_id&time&signKey)

返回参数说明(SDK服务端返回)

参数类型参数描述
codenumber状态码:1000表示成功,其它表示异常
messagestring状态码对应的提示说明
dataobject返回的其它数据,可为空或不传
-------当code = 1000时,以下返回
object{"access_token": "23****893","expire_in": 1729146965}