# 上报系统

# 一、介绍

可用于上报游戏教程、分享、广告相关数据,支持自定义数据的上报。

调用上报 API 后,相关记录会先暂存到内存,每 180 秒或缓存记录超过 20 条时,会自动进行上报操作。同时,上报系统也提供了接口用于立即上报。

上报系统提供的 API 中,大部分参数都是可选的,游戏可以根据实际需求传入参数。

# 二、使用

# 导入上报系统

import { reportSystem } from '@timi/mogs-sdk';
1

TIP

上报系统内部自动进行了游戏启动的上报(同时上报了启动场景值)。

# 上报新手引导

// 完整的参数列表详见 API 文档
reportSystem.reportGuidance({
  /**
   * (游戏自定义的)新手引导节点类型,例如"PvP新手引导"、"物品合成新手引导"等等。
   */
  guidanceType: 1,
  /**
   * (游戏自定义的)新手引导节点 ID,用于表示一个完整的新手引导中的每一个具体步骤,按实际情况自增即可。
   */
  guidanceId: 1,
  /**
   * 可上传自定义数据
   */
  extraData: {
    prop1: 'value1',
    prop2: 'value2',
  },
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 上报对局流水

// 完整的参数列表详见 API 文档
reportSystem.reportRoundTurnover({
  /**
   * 可上报对局时长
   */
  roundTime: 120,
  /**
   * 可上报单局结果
   *
   * - 0 失败
   * - 1 胜利
   * - 2 平手
   */
  battleResult: 1,
  /**
   * 可上报排名
   */
  rank: 1,
  /**
   * 可上报单局获得金钱/代币
   */
  amount: 1000,
  /**
   * 可上传自定义数据
   */
  extraData: {
    prop1: 'value1',
    prop2: 'value2',
  },
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 上报分享

// 完整的参数列表详见 API 文档
reportSystem.reportShare({
  /**
   * 可上报分享接口调用结果
   */
  apiResult: 0,
  /**
   * 可上报(游戏自定义的)分享结果
   */
  result: 1,
  /**
   * 可上报玩家分享来源 OpenId
   */
  shareFromOpenId: '0000',
  /**
   * 可上报(游戏自定义的)分享行为类型 ID
   */
  shareActionId: 2,
  /**
   * 可上报分享时的游戏场景
   */
  scene: 'sceen-1',
  /**
   * 可上传自定义数据
   */
  extraData: {
    prop1: 'value1',
    prop2: 'value2',
  },
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 上报激励视频广告相关事件

/**
 * 上报激励视频广告曝光(广告播放按钮出现在用户视野中时调用)
 */
reportSystem.reportRewardedVideoAdExpose();
/**
 * 上报激励视频广告点击播放(用户点击广告播放按钮时调用)
 */
reportSystem.reportRewardedVideoAdClick();
1
2
3
4
5
6
7
8

TIP

上报系统内部同时自动进行了其余一些激励视频广告相关的上报,包括:

  • 激励视频广告成功显示(对应广告的 show() 操作);
  • 激励视频广告中途退出(未达到领取奖励的资格);
  • 激励视频广告播放完成(或已达到领取奖励的资格);

# 上报自定义数据

// 完整的参数列表详见 API 文档
reportSystem.reportCustomData({
  /**
   * 上报(游戏自定义的)自定义数据的种类
   */
  type: 12,

  // 以下八个字段均可用于自定义数据的上报
  customProperty1: 1,
  customProperty2: 2,
  customProperty3: 3,
  customProperty4: 4,
  customProperty5: '5',
  customProperty6: '6',
  customProperty7: '7',
  customProperty8: '8',

  /**
   * 可上传自定义数据
   */
  extraData: {
    prop1: 'value1',
    prop2: 'value2',
  },
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 立即上报所有缓存记录

/**
 * 返回本次成功上报的记录数
 */
const count = await reportSystem.uploadReportsImmediately();
1
2
3
4

TIP

更多上报系统的 API 请参考 上报系统