# 1 功能介绍

本文将介绍如何快速实现市场SDK的接入。

完成本文接口功能,你可以实现:

  • 初始化
  • 发送AppsFlyer事件
  • 发送Firebase事件
  • 发送Facebook事件
  • 发送Adjust事件
  • 发送聚合事件
  • 发送AppMetrica事件

# 2 前置条件

  1. 以下所有api调用com.hero.market.MarketSDK类来操作
  2. 获取AppsFlyer、Firebase、Facebook、Adjust等第三方的参数(appKey,appSecret)

# 3 接入步骤

# 3.1 初始化

场景介绍 游戏登录前, 初始化市场SDK

前置条件 该接口需在Application或者启动ActivityonCreate函数中调用

接口声明

MarketSDK.init(application, config);
1

参数说明 具体传入参数请见调用示例,重点是第三方市场SDK的信息

调用示例

    MkConfig config = new MkConfig();
    //日志开关
    config.setLog(true);
    //测试模式、正式模式切换开关。
    //特别说明:当接入的第三方SDK存在正式环境和测试环境区分时,本SDK会根据此配置去对应初始化第三方SDK为对应的测试或正式的环境。
    //true为测试模式,false为正式模式,不设置默认为false
    config.setDebug(false);


    //设置AppsFlyer devkey
    config.putThirdExtra(ThirdExtraKey.AF_DEV_KEY, "j********************E");

    //设置Facebook AppId
    config.putThirdExtra(ThirdExtraKey.FB_APP_ID, "7*************0");


    //设置Adjust App Token
    config.putThirdExtra(ThirdExtraKey.ADJ_APP_TOKEN, "b**********0");
    //设置Adjust支付成功上报事件
    config.putThirdExtra(ThirdExtraKey.ADJ_CHARGE_EVENT_TOKEN, "t****q");


    //设置AppMetrica 的API key (for SDK)
    config.putThirdExtra(ThirdExtraKey.APPMETRICA_API_KEY, "52******-****-****-****-**********be");


    //是否启用firebase 如果启用:固定"firebase"值
    config.putThirdExtra(ThirdExtraKey.IS_FIREBASE_EVENT, "firebase");


    //是否启用聚合 如果启用:固定"unified"值
    config.putThirdExtra(ThirdExtraKey.IS_UNIFIED_EVENT, "unified");

    //初始化
    MarketSDK.init(application, config);
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
31
32
33
34
35

# 3.2 发送AppsFlyer事件

场景介绍 接入后,会将所接行为上报至AppsFlyer。

接口声明

public static void sendAppsflyerEvent(String event, Bundle values)
1

参数说明

字段 名称 重要性 类型 说明
event String 必须 事件名
values String 可选 -

调用示例

Bundle bundle = new Bundle();
bundle.putInt(AFInAppEventParameterName.LEVEL, 5);
MarketSDK.sendAppsflyerEvent(AFInAppEventType.LEVEL_ACHIEVED, bundle);
1
2
3

# 3.3 发送Firebase事件

场景介绍 接入后,会将所接行为上报至Firebase。

接口声明

public static void sendFirebaseEvent(String event, Bundle values)
1

参数说明

字段 名称 重要性 类型 说明
event String 必须 事件名
values String 可选 -

调用示例

Bundle bundle = new Bundle();
bundle.putInt(FirebaseAnalytics.Param.LEVEL, 5);
MarketSDK.sendFirebaseEvent(FirebaseAnalytics.Event.LEVEL_UP, bundle);
1
2
3

# 3.4 发送Facebook事件

场景介绍 接入后,会将所接行为上报至Facebook。

接口声明

public static void sendFacebookEvent(String event)
public static void sendFacebookEvent(String event, Bundle values)
public static void sendFacebookEvent(String event, double valueToSum)
public static void sendFacebookEvent(String event, Double valueToSum, Bundle values)
1
2
3
4

参数说明

字段 类型 重要性 说明
event String 必须 事件名
values String 可选 签名
valueToSum String 可选 事件参数

调用示例

    //第一种
    MarketSDK.sendFacebookEvent(AppEventsConstants.LEVEL_ACHIEVED);

    //第二种
    Bundle bundle = new Bundle();
    bundle.putInt(AppEventsConstants.EVENT_PARAM_LEVEL, 5);
    MarketSDK.sendFacebookEvent(AppEventsConstants.EVENT_NAME_ACHIEVED_LEVEL, bundle);

    //第三种
    MarketSDK.sendFacebookEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART, 54.23);

    //第四种
    Bundle bundle = new Bundle();
    bundle.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
    bundle.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
    bundle.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452");
    MarketSDK.sendFacebookEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART, 54.23, bundle);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 3.5 发送Adjust事件

场景介绍 接入后,会将所接行为上报至Adjust。

接口声明

public static void sendAdjustEvent(String event, Bundle values)
1

参数说明

字段 名称 重要性 类型 说明
event String 必须 事件名
values String 可选 --

调用示例

    Bundle bundle = new Bundle();
    bundle.putInt(FirebaseAnalytics.Param.LEVEL, 5);
    MarketSDK.sendAdjustEvent(FirebaseAnalytics.Event.LEVEL_UP, bundle);
1
2
3

# 3.6 发送聚合上报事件

场景介绍 用聚合事件的发送,指的是本市场SDK会把event和values参数原封不动的把内容分发给所有第三方SDK(不包含adjust)。

接口声明

public static void sendUnifiedEvent(String event, Bundle values)
1

参数说明

字段 名称 重要性 类型 说明
event String 必须 事件名
values String 可选 --

调用示例

    Bundle bundle = new Bundle();
    bundle.putString("Test", "GOODS");
    MarketSDK.sendUnifiedEvent("6tq31g", bundle);
1
2
3

# 3.7 发送聚合购买事件

场景介绍 支付成功后,将订单信息上报到appsflyer, adjust和facebook等平台(不支持firebase,需cp单独调用sendFirebaseEvent方法自定义支付事件)。

接口声明

public static void trackRevenue(String orderId, double amount, String currency)
1

参数说明

字段 名称 重要性 类型 说明
orderId String 必须 订单ID
amount String 必须 金额(单位元,小数位2)
currency String 必须 币种 CNY

调用示例

    MarketSDK.trackRevenue("orderId", "9.99", "CNY");
1

# 3.8 发送AppMetrica事件

场景介绍 接入后,会将所接行为上报至AppMetrica后台。

备注 4.2.0及以上版本,支付事件会自动进行收集,可以不用单独收集支付事件

接口声明

public static void sendAppMetricaEvent(String event, Bundle values)
1

参数说明

字段 名称 重要性 类型 说明
event String 必须 事件名
values String 可选 --

调用示例

    Bundle bundle = new Bundle();
    bundle.putString("Test", "test");
    MarketSDK.sendAppMetricaEvent("LEVEL_UP", bundle);
1
2
3
本文档对解决你的问题有所帮助?