菜单

首次事件

首次事件是指针对某些维度(设备 ID或其他维度的 ID)只记录一次的事件,例如记录某个账号的注册事件,可以使用首次事件来记录,服务端会按照checkId 去重,同一 ID 只会记录第一次上报的事件。

预置事件(_appInstall、_appStart、_appEnd)不支持设置为首次事件。

方法示例

public static trackFirstEvent(seBaseEventModel: BaseEventModel)

 

参数说明

参数名称 参数含义 参数类型 是否必传
seBaseEventModel 首次事件类 BaseEventModel

seBaseEventModel参数使用时需要传BaseEventModel的子类实例,具体说明如下:

首次事件 参数类型 说明
自定义首次事件 SECustomEventModel 自定义事件首次事件model类,具体使用方式参考下方示例
变现广告展示首次事件 SEAdImpEventModel 变现广告展示事件首次事件model类,具体使用方式参考下方示例
变现广告点击首次事件 SEAdClickEventModel 变现广告点击事件首次事件model类,具体使用方式参考下方示例
应用内购买首次事件 SEPurchaseEventModel 应用内购买事件首次事件model类,具体使用方式参考下方示例
自归因安装首次事件 SEAttributionEventModel 自归因事件首次事件model类,具体使用方式参考下方示例
订单事件首次事件 SEOrderEventModel 订单事件首次事件model类,具体使用方式参考下方示例
注册事件首次事件 SERegisterEventModel 注册事件首次事件model类,具体使用方式参考下方示例
登录事件首次事件 SELoginEventModel 登录事件首次事件model类,具体使用方式参考下方示例

 

调用示例

1.变现广告展示事件首次事件

参数说明:

(各聚合平台对应传值字段参见: ROI-三方账户管理-聚合平台-其他聚合平台 )

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
adNetworkPlatform 变现平台,前面为应传值,后面为平台名称, 例如:变现平台为快手时,只需要传入 kuaishou csj:穿山甲国内版 pangle:穿山甲国际版 tencent:腾讯优量汇 baidu:百度百青藤 kuaishou:快手 oppo:OPPO vivo:vivo mi:小米 huawei:华为 applovin:Applovin sigmob:Sigmob mintegral:Mintegral oneway:OneWay vungle:Vungle facebook:Facebook admob:AdMob unity:UnityAds is:IronSource adtiming:AdTiming klein:游可赢 fyber:Fyber chartboost:Chartboost adcolony:Adcolony string
mediationPlatform 填充广告的聚合平台,变现广告由聚合平台填充时必填,其他情况默认填custom即可 string
adType 展示广告的类型,枚举值如下: 例如:adType 为激励视频时,只需要传入 1 1:激励视频 2:开屏 3:插屏 4:全屏视频 5:Banner 6:信息流 7:短视频信息流 8:大横幅 9:视频贴片 10:中等尺寸横幅 0:其它 number
adNetworkAppID 变现平台的应用 ID string
adNetworkADID 变现平台的变现广告位 ID string
ecpm 广告 ecpm,单位:元(广告千次展现的变现收入,0或负值表示没传,单位为元) number
currencyType 展示收益的货币种类,遵循《ISO 4217国际标准》,如 CNY、USD string
isRenderSuccess 广告是否渲染成功,具体枚举值如下: 例如:成功时,只需要传入 true true:成功 false:失败 如果不需要统计该指标,请传 true boolean
customProperties 开发者传入的自定义属性 Record<string,Object>

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seFirstEventModel = new SEAdImpEventModel();
//如果不传checkId则当前事件会被当成正常事件上报,若传checkId则首次事件只会被调用一次,不会重复上报
seFirstEventModel.checkId = "11aaBB";
seFirstEventModel.adNetworkPlatform = "kuaishou";
seFirstEventModel.mediationPlatform = "Mintgaral";
seFirstEventModel.adType = 1;
seFirstEventModel.adNetworkAppID = "广告AppID";
seFirstEventModel.adNetworkADID = "广告ID";
seFirstEventModel.ecpm = 10.1;
seFirstEventModel.currencyType = "USD";
seFirstEventModel.isRenderSuccess = true;

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
seFirstEventModel.customProperties = custom_properties;

SolarEngineManager.trackFirstEvent(seFirstEventModel);
 

2.变现广告点击事件首次事件

参数说明:

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
adNetworkPlatform 变现平台,前面为应传值,后面为平台名称 csj:穿山甲国内版 pangle:穿山甲国际版 tencent:腾讯优量汇 baidu:百度百青藤 kuaishou:快手 oppo:OPPO vivo:vivo mi:小米 huawei:华为 applovin:Applovin sigmob:Sigmob mintegral:Mintegral oneway:OneWay vungle:Vungle facebook:Facebook admob:AdMob unity:UnityAds is:IronSource adtiming:AdTiming klein:游可赢 fyber:Fyber chartboost:Chartboost adcolony:Adcolony string
mediationPlatform 填充广告的聚合平台,变现广告由聚合平台填充时必填,其他情况默认填 custom 即可 string
adType 展示广告的类型,枚举值如下(传值传前面的枚举简称即可): 1:激励视频 2:开屏 3:插屏 4:全屏视频 5:Banner 6:信息流 7:短视频信息流 8:大横幅 9:视频贴片 0:其它 number
adNetworkADID 变现平台的变现广告位 ID string
customProperties 开发者传入的自定义属性 Record<string,Object>

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seAdClickEventModel = new SEAdClickEventModel();
seAdClickEventModel.checkId = "22bbCC";
seAdClickEventModel.adNetworkPlatform = "kuaishou";
seAdClickEventModel.mediationPlatform = "Mintgaral";
seAdClickEventModel.adType = 2;
seAdClickEventModel.adNetworkADID = "广告ID";

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
seAdClickEventModel.customProperties = custom_properties;

SolarEngineManager.trackFirstEvent(seAdClickEventModel);
 

3.自归因事件首次事件

参数说明:

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id String 是(如果未传checkId,则为普通事件)
adNetwork 投放广告的渠道 ID,需要与ROI分析匹配 String
subChannel 投放广告的子渠道 String
adAccountId 投放广告的投放账号 ID String
adAccountName 投放广告的投放账号名称 String
adCampaignId 投放广告的广告计划 ID String
adCampaignName 投放广告的广告计划名称 String
adOfferId 投放广告的广告单元 ID String
adOfferName 投放广告的广告单元名称 String
adCreativeId 投放广告的广告创意 ID String
adCreativeName 投放广告的广告创意名称 String
attributionPlatform 监测平台 String
customProperties 开发者传入的自定义属性 JSONObject

 

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seAttrEventModel = new SEAttributionEventModel();
//如果不传checkId则当前事件会被当成正常事件上报,若传checkId则首次事件只会被调用一次,不会重复上报 
seAttrEventModel.checkId = "33ccDD"
seAttrEventModel.adNetwork = "投放广告的渠道ID";
seAttrEventModel.subChannel = "投放广告的子渠道";
seAttrEventModel.adAccountId = "投放广告的投放账号ID";
seAttrEventModel.adAccountName = "投放广告的投放账号名称";
seAttrEventModel.adCampaignId = "投放广告的广告计划ID";
seAttrEventModel.adCampaignName = "投放广告的广告计划名称";
seAttrEventModel.adOfferId = "投放广告的广告单元ID";
seAttrEventModel.adOfferName = "投放广告的广告单元名称";
seAttrEventModel.adCreativeId = "投放广告的广告创意ID";
seAttrEventModel.adCreativeName = "投放广告的广告创意名称";
seAttrEventModel.attributionPlatform = "监测平台";

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";

seAttrEventModel.customProperties = custom_properties;
SolarEngineManager.trackFirstEvent(seAttrEventModel);
 

4.登录事件首次事件

参数说明

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
loginType 登录类型如 WeChat、QQ 等自定义值 string
status 登录状态 string
customProperties 开发者传入的自定义属性 Record<string,Object>

 

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seLoginEventModel = new SELoginEventModel();
seLoginEventModel.checkId = "44ddEE"
seLoginEventModel.loginType = "QQ";
seLoginEventModel.status = "success";

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
seLoginEventModel.customProperties = custom_properties;
SolarEngineManager.trackFirstEvent(seLoginEventModel);
 

5.注册事件首次事件

参数说明

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
regType 注册类型如 WeChat、QQ 等自定义值 string
status 注册状态 string
customProperties 开发者传入的自定义属性 Record<string,Object>

 

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seRegisterEventModel = new SERegisterEventModel();
//如果不传checkId则当前事件会被当成正常事件上报,若传checkId则首次事件只会被调用一次,不会重复上报 
seRegisterEventModel.checkId = "55eeFF"
seRegisterEventModel.regType = "Wechat";
seRegisterEventModel.status = "success";

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
seRegisterEventModel.customProperties = custom_properties;

SolarEngineManager.trackFirstEvent(seRegisterEventModel);

 

6.订单事件首次事件

参数说明:

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
orderId 订单 ID string
payAmount 订单金额,单位:元 number
currencyType 支付的货币类型,遵循《ISO 4217国际标准》,如 CNY、USD string
payType 支付方式:如 alipay、weixin、applepay、paypal 等 string
status 订单状态 string
customProperties 开发者传入的自定义属性 Record<string,Object>

 

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seOrderEventModel = new SEOrderEventModel();
//如果不传checkId则当前事件会被当成正常事件上报,若传checkId则首次事件只会被调用一次,不会重复上报 
seOrderEventModel.checkId = "66ffGG"
seOrderEventModel.orderId = "本次购买由系统生成的订单ID";
seOrderEventModel.payAmount = 10.11;
seOrderEventModel.currencyType = "USD";
seOrderEventModel.payType = "alipay";
seOrderEventModel.status = "success";

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
seOrderEventModel.customProperties = custom_properties;

SolarEngineManager.trackFirstEvent(seOrderEventModel);
 

7.应用内购买事件首次事件

参数说明:

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
orderId 本次购买由系统生成的订单 ID string
payAmount 本次购买支付的金额,单位:元 number
currencyType 支付的货币类型,遵循《ISO 4217国际标准》,如 CNY、USD string
payType 支付方式:如 alipay、weixin、applepay、paypal 等 string
productId 购买商品的ID string
productName 商品名称 string
productNum 购买商品的数量 number
payStatus 支付状态,例如:成功时,只需要传入 1 1:成功 2:失败 number
failReason 支付失败的原因 string
customProperties 开发者传入的自定义属性 Record<string,Object>

 

调用示例

import { SolarEngineManager } from '@solarengine/core'

let sePurchaseEventModel = new SEPurchaseEventModel();
//如果不传checkId则当前事件会被当成正常事件上报,若传checkId则首次事件只会被调用一次,不会重复上报 
sePurchaseEventModel.checkId = "77ggHH";
sePurchaseEventModel.orderId = "本次购买由系统生成的订单ID";
sePurchaseEventModel.payAmount = 11.01;
sePurchaseEventModel.currencyType = "CNY";
sePurchaseEventModel.payType = "alipay";
sePurchaseEventModel.productId = "购买商品的ID";
sePurchaseEventModel.productName = "购买商品的名称";
sePurchaseEventModel.productNum = 66;
sePurchaseEventModel.payStatus = 2;
sePurchaseEventModel.failReason = "failed";

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
sePurchaseEventModel.customProperties = custom_properties;

SolarEngineManager.trackFirstEvent(sePurchaseEventModel);

注:支付失败原因 failReason 参数仅在 payStatus 参数为 2 支付失败时才会传入,其他状态传""即可。

 

8.自定义事件首次事件

参数说明:

参数名称 参数含义 参数类型 是否必传
checkId 首次事件校验id string 是(如果未传checkId,则为普通事件)
eventName 开发者自定义事件名称 string
preProperties
自定义事件预置属性,目前只支持
_pay_amount与_currency_type,其他字段会被SDK舍弃
Record<string,Object>
customProperties 开发者自定义事件属性 Record<string,Object>

 

调用示例

import { SolarEngineManager } from '@solarengine/core'

let seCustomEventModel = new SECustomEventModel();
//如果不传checkId则当前事件会被当成正常事件上报,若传checkId则首次事件只会被调用一次,不会重复上报 
seCustomEventModel.checkId = "88hhII"
//如果要上报自定义事件首次事件,那么eventName字段为必传字段,否则无法上报
seCustomEventModel.eventName = "your_custom_event_name"

//设置预置属性,目前只支持_pay_amount与_currency_type,其他字段会被SDK舍弃
let preProperties: Record<string, Object> = {};
preProperties["_pay_amount"] = 11.2;
preProperties["_currency_type"] = "USD";
seCustomEventModel.preProperties = preProperties;

let custom_properties: Record<string, Object> = {};
custom_properties["key1"] = "value1";
custom_properties["key2"] = "value2";
seCustomEventModel.customProperties = custom_properties;

SolarEngineManager.trackFirstEvent(seCustomEventModel);

注:如果要上报自定义事件首次事件,那么eventName字段为必传字段,否则无法上报。

最近修改: 2025-03-12Powered by