主题
Skip to content
简介
需求来源
是否是渠道必接:有内购必接,非内购项目如需买量必接,其他情况选接
功能简介
在小游戏公共库中整合成统一风格的调用接口,和统一在小游戏配置面板上配置相关内容
各种别称
对应功能截图

前置条件
框架版本:1.2.0框架
公共库版本:微信插件模块>=9.0.1
打包渠道:微信小游戏
其他要求:需要发布在小游戏后台中添加对应地址的白名单
接入
接入流程
1. AMS配置界面

2. IAA项目接入
下面这些属于必接,如果游戏无法接入,请给测试说一下
新手引导
如果没有新手引导,可以不用接入
cs
//引导开始时调用
XYX.WXAMS.TutorialStart();cs
//引导结束时调用
XYX.WXAMS.TutorialFinish();关卡相关
事件对应关系
game_start -> LEVEL_ENTER
game_quit -> LEVEL_EXIT
game_fail -> LEVEL_LOSE
game_draw -> LEVEL_LOSE
game_complete -> LEVEL_PASS
关卡的其他数据,可以直接跟随关卡事件 data 传入,也可以先通过 SetLevelData_* 填充到 AMS 数据层。
注意:
SetLevelData_*不会立即进行上报,只是为了把数据填充到 AMS 数据层,等上报关卡行为时,会取出数据进行上报
设置章节ID
cs
XYX.WXAMS.SetLevelData_chapter_id(long chapter_id)设置体力值
cs
XYX.WXAMS.SetLevelData_stamina_value(long stamina_value)设置等级值
cs
XYX.WXAMS.SetLevelData_level_value(long level_value)设置金币数量
cs
XYX.WXAMS.SetLevelData_coin_amount(long coin_amount)当关卡内使用物品
cs
// item_type:物品类型
// use_item_num:使用数量
XYX.WXAMS.LevelUseItem(long item_type, long use_item_num)参数关系说明:
Bridge_WX_XYXFunction.cs 在处理关卡事件时,会优先读取当前事件 data 中的字段;如果当前事件没有传,再使用 SetLevelData_* 已缓存的数据。最终这些值会写入 LEVEL_DATA,再调用 AMS 的 LEVEL_ENTER、LEVEL_EXIT、LEVEL_LOSE、LEVEL_PASS。
| Unity 传入 | 桥接后字段 | 说明 |
|---|---|---|
data.mode_level | level_id | 关卡 ID |
data.mode_level_name | enter_level_name | 关卡名称 |
data.mode_level_progress | enter_level_id | 对应 AMS 的关卡进度。Unity 侧按百分比传,桥接层会执行 Mathf.Clamp01(int.Parse(...) / 100.0f) 转成 0 到 1,例如 55 会变成 0.55,100 会变成 1 |
data.mode_name | game_mode | 游戏模式 |
data._duration | duration | 当前关卡耗时 |
data._current_gold | coin_amount | 当前金币数;如果项目内金币是 long 类型,可以使用 SetLevelData_coin_amount 缓存 |
data.chapter_id 或 SetLevelData_chapter_id | chapter_id | 章节 ID |
data.stamina_value 或 SetLevelData_stamina_value | stamina_value | 当前体力值 |
data.user_level 或 SetLevelData_level_value | level_value | 当前用户等级;事件 data 中读取的是 user_level,缓存接口名是 SetLevelData_level_value |
XYX.WXAMS.LevelUseItem(item_type, use_item_num) | items | 只在 game_start 之后、关卡结束之前累计;相同 item_type 会合并数量,关卡结束事件带出 |
video_success | ad_cnt | 当前关卡激励视频成功次数;关卡结束时带出,下一次 game_start 重置 |
下面是框架的开始上报关卡示例代码:
cs
//以关卡开始上报为例
//需要补充关卡名字,关卡进度,金币数量
int level = 1;
string levelName = "关卡" + level;
data.mode_level = level;
data.mode_level_name = levelName;
data.mode_level_progress = 1; // 进度按 0 到 100 传,桥接层会上报为 enter_level_id = 0.01
data._current_gold = Gold; // 注意这里的金币类型是 int,如果游戏里面用的是 long 类型,请使用数据填充接口
XYX.WXAMS.SetLevelData_chapter_id(chapterId);
XYX.WXAMS.SetLevelData_stamina_value(staminaValue);
XYX.WXAMS.SetLevelData_level_value(userLevel);
XYX.WXAMS.SetLevelData_coin_amount(coinAmount);
ReportManager.Instance.NewReportGameStart(data);视频相关
研发必须手动初始化
XYX.WXAMS.SetVideoMapping
一定要在SDK初始化完成后注册
Csharp
ZMYSDKManager.SDKInitOver_Event += OnSDKInitOver;
void OnSDKInitOver(object sender, System.EventArgs e){
Debug.Log("SDK初始化完成");
//后面执行video_name注册
}如

这里是将video_name和下方枚举值关联起来,用作归因
激励视频广告枚举值如下



IAP,内购项目
内购项目主要需要上报以下内容
sql
//角色名称(有就上报)
XYX.WXAMS.OnCreateRole("test");
//上报完成新手引导(有就上报)
XYX.WXAMS.OnFinishToturial();
//上报升级(有就上报)
XYX.WXAMS.UpdateLevel(100);
//上报浏览某个UI(有就上报)
XYX.WXAMS.VIEW_CONTENT();
//上报浏览商店UI(有就上报)
XYX.WXAMS.VIEW_CONTENT_Mall();
//上报浏览活动UI(有就上报)
XYX.WXAMS.VIEW_CONTENT_Activity ();自测
检查是否有对应打印
微信日志中搜索WXAMS 函数调用会有对应的中文日志
如果没有AMS的初始化日志 请务必检查 是否配置正确,因为AMS是配置后才会开启的业务


//下方是埋点具体的对应的打印
java
收藏游戏:
Log("WXAMS", $"Call OnAddToFavorites 用户收藏小游戏:");
注册事件:
Log("WXAMS", $"Call checkRegAndReActive 上报注册事件");
回归事件
Log("WXAMS", $"Call onReActive 用户回归 天数:" + backday);
支付事件
Log("WXAMS", "Call 支付 金额分:" + purchaseValue);
分享事件
Log("WXAMS", "Call 调用分享 是否是朋友圈 :" + isShareToTimeLine);
创建角色:
Log("WXAMS", "Call 创建角色:" + roleName);
新手引导
Log("WXAMS", "Call 完成新手引导:");
玩家升级
Log("WXAMS", "Call 升级:" + level);
浏览商城
Log("WXAMS", "Call 浏览商城:" + "Mall");检查是否上传成功
- 查看微信开发者工具中的的network信息

Code 为0 代表上传成功

ams后台是否能看到上报信息,是由测试验收的,研发没有后台权限
点我快速对接



›
‹