请输入
菜单

三方收益回传

💡Tips

  • 🟢 本文示例以插屏广告样式演示,其他广告样式实现逻辑相同
  • 🔵 回传参数仅供参考,请根据实际业务需要自行选择参数上报回传

Firebase

csharp 复制代码
private void OnInterstitialRevenuePaidEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // 使用Firebase与AdMob关联,避免重复上报
    // if ("AdMob".Equals(adInfo.NetworkName, StringComparison.OrdinalIgnoreCase)) return;

    string adPlatform;
    if (adInfo.MediationId == nameof(McSdkBase.MediationId.TopOn)) {
        ad_platform = "TopOn";
    } else if (adInfo.MediationId == nameof(McSdkBase.MediationId.Max)) {
        ad_platform = "Max";
    } else {
        ad_platform = "your ad platform";
    }

    var impressionParameters = new[] {
        new Firebase.Analytics.Parameter("ad_platform", adPlatform),
        new Firebase.Analytics.Parameter("ad_source", adInfo.NetworkName),
        new Firebase.Analytics.Parameter("ad_unit_name", adInfo.NetworkPlacement),
        new Firebase.Analytics.Parameter("ad_format", adInfo.Format),
        new Firebase.Analytics.Parameter("value", adInfo.Revenue),
        new Firebase.Analytics.Parameter("currency", adInfo.Currency), 
    };

    Firebase.Analytics.FirebaseAnalytics.LogEvent("ad_impression", impressionParameters);
}

Adjust

csharp 复制代码
private void OnInterstitialRevenuePaidEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    string adPlatform;
    if (adInfo.MediationId == nameof(McSdkBase.MediationId.TopOn)) {
        ad_platform = "topon_sdk";
    } else if (adInfo.MediationId == nameof(McSdkBase.MediationId.Max)) {
        ad_platform = "applovin_max_sdk";
    } else {
        ad_platform = "your sdk name";
    }
    AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue(adPlatform);
    adjustAdRevenue.SetRevenue(adInfo.Revenue, adInfo.Currency);
    adjustAdRevenue.AdRevenueNetwork = adInfo.NetworkName;
    adjustAdRevenue.AdRevenueUnit = adInfo.NetworkPlacement;
    adjustAdRevenue.AdRevenuePlacement = adInfo.Format;
    Adjust.TrackAdRevenue(adjustAdRevenue);
}

AppsFlyer

csharp 复制代码
private void OnInterstitialRevenuePaidEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    MediationNetwork mediationNetwork;
    if (adInfo.MediationId == nameof(McSdkBase.MediationId.TopOn)) {
        mediationNetwork = MediationNetwork.Topon;
    } else if (adInfo.MediationId == nameof(McSdkBase.MediationId.Max)) {
        mediationNetwork = MediationNetwork.ApplovinMax;
    } else {
        mediationNetwork = MediationNetwork.Custom;
    }
    Dictionary<string, string> additionalParams = new Dictionary<string, string>();
    additionalParams.Add(AdRevenueScheme.COUNTRY, adInfo.Country);
    additionalParams.Add(AdRevenueScheme.AD_UNIT, adInfo.NetworkPlacement);
    additionalParams.Add(AdRevenueScheme.AD_TYPE, adInfo.Format);
    additionalParams.Add(AdRevenueScheme.PLACEMENT, adInfo.MediationPlacementId);
    var logRevenue = new AFAdRevenueData(adInfo.NetworkName, mediationNetwork, adInfo.Currency, adInfo.Revenue);
    AppsFlyer.logAdRevenue(logRevenue, additionalParams);
}

SolarEngine

  • The following sample code is for reference only. For detailed information, please refer to the official SolarEngine documentation
  • The parameter description for the ImpressionAttributes parameter shall be based on the official parameter specifications
csharp 复制代码
private void OnInterstitialAdRevenuePaidEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    ImpressionAttributes impressionAttributes = new ImpressionAttributes();
    //变现平台名称
    String ad_platform = adInfo.NetworkName;
    //需将 ad_platform 的值转化为官方SEAdImpEventModel参数说明中定义的String值后进行使用
    impressionAttributes.ad_platform = "ad_platform";
    //聚合平台标识
    string mediation_platform;
    if (adInfo.MediationId == nameof(McSdkBase.MediationId.TopOn)) {
        mediation_platform = "topon";
    } else if (adInfo.MediationId == nameof(McSdkBase.MediationId.Max)) {
        mediation_platform = "max";
    } else {
        mediation_platform = "custom";
    }
    //需将 mediation_platform 的值转化为官方SEAdImpEventModel参数说明中定义的String值后进行使用
    impressionAttributes.mediation_platform = mediation_platform;
    //变现平台的应用ID,选填项,可以填SE SDK的appKey也可以不填
    impressionAttributes.ad_appid = "---SE SDK appKey---";
    //变现平台的变现广告位ID
    impressionAttributes.ad_id = adInfo.NetworkPlacement;
    //展示广告的类型,以插屏广告为例adType = 3
    impressionAttributes.ad_type = 3;
    //变现平台货币类型
    impressionAttributes.currency_type = adInfo.Currency;
    //广告ECPM
    impressionAttributes.ad_ecpm = adInfo.Revenue * 1000;
    //填充成功填TRUE即可
    impressionAttributes.is_rendered = true;
    //如果需要设置变现广告事件的自定义属性可参官方文档示例,这里不再设置
    SolarEngine.Analytics.trackAdImpression(impressionAttributes);
}

上一个
查询广告状态信息
下一个
Open API接入指南
最近修改: 2025-12-17Powered by