请输入
菜单

三方收益回传

💡Tips

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

Firebase

java 复制代码
mInterstitialAd.setRevenueListener(new MCAdRevenueListener() {
    @Override
    public void onAdRevenuePaid(MCAdInfo adInfo) {
        // 防止AdMob重复上报
        // if ("Admob".equalsIgnoreCase(adInfo.getNetworkFirmName())) return;
        
        FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(mActivity);
        Bundle params = new Bundle();
        
        // 平台类型判断
        int mediationId = adInfo.getMediationId();
        String adPlatform = mediationId == MCAdConst.MediationId.MEDIATION_ID_TOPON ? "TopOn" :
                (mediationId == MCAdConst.MediationId.MEDIATION_ID_MAX ? "Max" : "Your Platform Name");
        
        // 收益参数配置
        params.putString(FirebaseAnalytics.Param.AD_PLATFORM, adPlatform);
        params.putString(FirebaseAnalytics.Param.AD_SOURCE, adInfo.getNetworkFirmName());
        params.putString(FirebaseAnalytics.Param.AD_FORMAT, adInfo.getFormat().getLabel());
        params.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, adInfo.getNetworkPlacementId());
        params.putDouble(FirebaseAnalytics.Param.VALUE, adInfo.getRevenue());
        params.putString(FirebaseAnalytics.Param.CURRENCY, adInfo.getCurrency());
        
        mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, params);
    }
});

Adjust

java 复制代码
mInterstitialAd.setRevenueListener(new MCAdRevenueListener() {
    @Override
    public void onAdRevenuePaid(MCAdInfo adInfo) {
        int mediationId = adInfo.getMediationId();
        String adPlatform = mediationId == MCAdConst.MediationId.MEDIATION_ID_TOPON ? "TopOn" :
                (mediationId == MCAdConst.MediationId.MEDIATION_ID_MAX ? "Max" : "Your Platform Name");
        AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue(adPlatform);

        // 收益参数设置
        adjustAdRevenue.setRevenue(adInfo.getRevenue(), adInfo.getCurrency());
        adjustAdRevenue.setAdRevenueNetwork(adInfo.getNetworkFirmName());
        adjustAdRevenue.setAdRevenueUnit(adInfo.getNetworkPlacementId());
        adjustAdRevenue.setAdRevenuePlacement(adInfo.getMediationPlacementId());
        
        Adjust.trackAdRevenue(adjustAdRevenue);
    }

});

AppsFlyer

java 复制代码
mInterstitialAd.setRevenueListener(new MCAdRevenueListener() {
    @Override
    public void onAdRevenuePaid(MCAdInfo adInfo) {
        AppsFlyerLib appsflyer = AppsFlyerLib.getInstance();
        MediationNetwork mediationNetwork = adInfo.getMediationId() == MCAdConst.MediationId.MEDIATION_ID_TOPON ? MediationNetwork.TOPON :
                (adInfo.getMediationId() == MCAdConst.MediationId.MEDIATION_ID_MAX ? MediationNetwork.APPLOVIN_MAX : MediationNetwork.CUSTOM_MEDIATION);
        AFAdRevenueData adRevenueData = new AFAdRevenueData(adInfo.getNetworkFirmName(),
                mediationNetwork,
                adInfo.getCurrency(),
                adInfo.getRevenue()
        );

        // 收益参数配置
        Map<String, Object> additionalParams = new HashMap<>();
        additionalParams.put(AdRevenueScheme.COUNTRY, adInfo.getCountry());
        additionalParams.put(AdRevenueScheme.AD_UNIT, adInfo.getNetworkPlacementId());
        additionalParams.put(AdRevenueScheme.AD_TYPE, adInfo.getFormat().getLabel());
        additionalParams.put(AdRevenueScheme.PLACEMENT, adInfo.getMediationPlacementId());
        
        AppsFlyerLib.getInstance().logAdRevenue(adRevenueData, additionalParams);
    }
});

SolarEngine

java 复制代码
mInterstitialAd.setRevenueListener(new MCAdRevenueListener() {
    @Override
    public void onAdRevenuePaid(MCAdInfo adInfo) {
        SEAdImpEventModel seAdImpEventModel = new SEAdImpEventModel();
        //变现平台名称
        String adNetworkPlatform = adInfo.getNetworkFirmName();
        //需将 adNetworkPlatform 的值转化为官方SEAdImpEventModel参数说明中定义的String值后进行使用
        seAdImpEventModel.setAdNetworkPlatform("adNetworkPlatform");
        //聚合平台标识
        String mediationPlatform = adInfo.getMediationName();
        //需将 mediationPlatform 的值转化为官方SEAdImpEventModel参数说明中定义的String值后进行使用
        seAdImpEventModel.setMediationPlatform("mediationPlatform");
        //展示广告的类型,以插屏广告为例adType = 1
        seAdImpEventModel.setAdType(3);
        //变现平台的应用ID,选填项,可以填SE SDK的appKey也可以不填
        seAdImpEventModel.setAdNetworkAppID("---SE SDK的appKey---");
        //变现平台的变现广告位ID
        seAdImpEventModel.setAdNetworkADID(adInfo.getNetworkPlacementId());
        //广告ECPM
        seAdImpEventModel.setEcpm(adInfo.getEcpm());
        //变现平台货币类型
        seAdImpEventModel.setCurrencyType(adInfo.getCurrency());
        //填充成功填TRUE即可
        seAdImpEventModel.setRenderSuccess(true);
        //如果需要设置变现广告事件的自定义属性可参官方文档示例,这里不再设置
        SolarEngineManager.getInstance().trackAdImpression(seAdImpEventModel);
    }
});

上一个
预置策略
下一个
政策合规
最近修改: 2025-12-17Powered by