Google AdMob

通过集成 AdMob 广告收入,您不仅可以收集通过 AdMob 获得的广告收入数据,还可以在 Airbridge 面板按归因和用户进行查看。

AdMob 广告收入的集成是通过 AdMob SDK 获取 AdMob 广告收入数据,然后将此数据传递给 Airbridge SDK 实现的。由于只有在 AdMob 面板中启用 展示机会层级的广告收入 后才能收集 AdMob 广告收入数据,因此为了集成 AdMob 需要安装 AdMob SDK 并启用 AdMob 展示机会层级的广告收入。

提示

此功能处于测试阶段。 如有疑问或功能需求,请联系您的 CSM。

AdMob SDK 安装

启用 AdMob 展示机会层级的广告收入

请参阅 AdMob 文档

传递 AdMob 广告收入数据至 Airbridge SDK

请使用 AdMob SDK 设置广告收入数据回调,并通过此回调将广告收入数据传递至 Airbridge SDK。

12345678910111213141516171819202122232425262728293031323334353637
private void RequestRewardedAd()
{
    RewardedAd.LoadAd(adUnitId, new AdRequest.Builder().Build(), (rewardedAd, error) => {
        if (error != null) { return; }

        this.rewardedAd = rewardedAd;
        this.rewardedAd.OnPaidEvent += this.HandleAdPaidEvent;
    }
}

public void HandleAdPaidEvent(object sender, AdValueEventArgs args)
{
    AdValue adValue = args.AdValue;
    var adUnitId = this.rewardedAd.adUnitId;
    var adNetworkAdapter = this.rewardedAd.MediationAdapterClassName();
  
    AirbridgeEvent @event = new AirbridgeEvent("airbridge.adImpression");

    var admob = new Dictionary<string, object>();
    admob["value_micros"] = adValue.Value;
    admob["currency_code"] = adValue.CurrencyCode;
    admob["precision"] = adValue.Precision;
  
    admob["ad_unit_id"] = adUnitId;
    admob["ad_network_adapter"] = adNetworkAdapter;
     
    var adPartners = new Dictionary<string, object>();
    adPartners["admob"] = admob;
  
    @event.SetAction(adUnitId);
    @event.SetLabel(adNetworkAdapter);
    @event.SetValue(adValue.Value / 1000000.0);
    @event.AddSemanticAttribute("adPartners", adPartners);
    @event.AddSemanticAttribute("currency", adValue.CurrencyCode);
  
    AirbridgeUnity.TrackEvent(@event);
}

AdMob SDK 传递的收入数据根据平台环境格式不同。例如,收入为 USD 0.005 时,在 Android 和 Unity 环境中返回 5000,而在 iOS 环境中返回 0.005。

上述示例代码指导内容如下:在所有平台上,当 semanticAttributes.adPartners.admob.value_micros 设置为 5000 时,将向 Airbridge SDK 输入 0.005。

Was this page helpful?

Have any questions or suggestions?