菜单

首次事件

首次事件是指针对某些维度(设备 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字段为必传字段,否则无法上报。

最近修改: 2026-04-29Powered by