ПРИМЕЧАНИЕ: Убедитесь, что у вас установлена последняя версия TopOn Unity SDK (версия TopOn_Unity_Release_Android&iOS_5.9.51 или выше)
SDK Tenjin может получать данные о доходах на уровне показов от TopOn и отправлять события о доходах в Tenjin. Эта интеграция обеспечивает передачу информации о доходах по каждому рекламному показу, размещенному через TopOn. Ниже приведены инструкции по интеграции:
- Установите TopOn Unity SDK: https://docs.toponad.com/#/en-us/unity/download/package?id=topon-unity-sdk-integration-tool
- При инициализации SDK Tenjin подпишитесь на TopOn Impressions:
C#
var tenjin = Tenjin.getInstance("<SDK_KEY>");
tenjin.Connect();
tenjin.SubscribeTopOnImpressions();Ниже приведен пример интеграции TopOn Banner и подписки на события просмотра.
C#
public class TopOnBehavior : MonoBehaviour
{
void Start()
{
InitializeTopOn();
}
private void InitializeTopOn()
{
var tenjin = Tenjin.getInstance("<YOUR-TENJIN-SDK_KEY>");
tenjin.Connect();
tenjin.SubscribeTopOnImpressions();
AnyThinkAds.API.ATSDKAPI.setChannel("<YOUR-APP-CHANNEL>");
AnyThinkAds.API.ATSDKAPI.setSubChannel("<YOUR-APP-SUB-CHANNEL>");
AnyThinkAds.API.ATSDKAPI.setLogDebug(true);
AnyThinkAds.API.ATSDKAPI.setGDPRLevel(AnyThinkAds.API.ATSDKAPI.PERSONALIZED);
AnyThinkAds.API.ATSDKAPI.initSDK("<YOUR-APP_ID>", "<SDK_KEY>");
// Load Banner
Dictionary<string, object> jsonmap = new Dictionary<string,object>();
#if UNITY_ANDROID && !UNITY_EDITOR
AnyThinkAds.API.ATSize bannerSize = new AnyThinkAds.API.ATSize(320, 50, true);
#elif UNITY_IPHONE && !UNITY_EDITOR
AnyThinkAds.API.ATSize bannerSize = new AnyThinkAds.API.ATSize(320, 50, false);
#else
AnyThinkAds.API.ATSize bannerSize = new AnyThinkAds.API.ATSize(320, 50, false);
#endif
jsonmap.Add(AnyThinkAds.API.ATBannerAdLoadingExtra.kATBannerAdLoadingExtraBannerAdSizeStruct, bannerSize);
AnyThinkAds.API.ATBannerAd.Instance.loadBannerAd("<YOUR-PLACEMENT-BANNER-AD-ID>", jsonmap);
// Show Banner
AnyThinkAds.API.ATBannerAd.Instance.showBannerAd("<YOUR-PLACEMENT-BANNER-AD-ID>", AnyThinkAds.API.ATBannerAdLoadingExtra.kATBannerAdShowingPisitionBottom);
//Ad Impression Data Event
AnyThinkAds.API.ATInterstitialAd.Instance.client.onAdShowEvent += (sender, args) =>
{
Debug.Log($"!!! Unity got ATInterstitialAd impression data - {args}");
};
AnyThinkAds.API.ATBannerAd.Instance.client.onAdImpressEvent += (sender, args) =>
{
Debug.Log($"!!! Unity got ATBannerAd impression data - {args}");
};
AnyThinkAds.API.ATRewardedVideo.Instance.client.onAdVideoStartEvent += (sender, args) =>
{
Debug.Log($"!!! Unity got ATRewardedVideo impression data - {args}");
};
AnyThinkAds.API.ATNativeAd.Instance.client.onAdImpressEvent += (sender, args) =>
{
Debug.Log($"!!! Unity got ATNativeAd impression data - {args}");
};
}
public void GoBack()
{
// Hide banner ad
AnyThinkAds.API.ATBannerAd.Instance.hideBannerAd("<YOUR-PLACEMENT-BANNER-AD-ID>");
}- [ВАЖНО] Если какая-либо другая зависимость уже использует обратные вызовы TopOn, методы подписки могут не работать. В этом случае можно использовать
TopOnImpressionFromJSON(string json)метод для ручной отправки каждого показа с использованием полей, перечисленных в таблице ниже. Для этого требуется Tenjin Unity SDK версии 1.13.1 или выше.
Пример данных о выручке TopOn по уровню просмотров:
| Параметр | Обязательно? | Пример |
| adsource_index | Нет | 0 |
| ad_network_type | Нет | Строка |
| is_header_bidding_adsource | Нет | Int |
| ecpm_precision | Нет | Строка |
| adsource_id | Нет | 5656 |
| ecpm | Нет | 1 |
| scenario_id | Нет | Строка |
| пользовательское_правило | Нет | Строка |
| sub_channel | Нет | testSubChannel |
| доход_издателя | Да | 0.001 |
| название_награды_за_сценарий | Нет | Строка |
| канал | Нет | testChannel |
| topon_ad_format | Нет | Строка |
| segment_id | Нет | 0 |
| страна | Нет | DE |
| show_id | Нет | Строка |
| номер_награды_в_сценарии | Нет | 0 |
| идентификатор_размещения_в_сети | Нет | ca-app-pub-3940256099942544%2F6300978111 |
| topon_placement_id | Нет | Строка |
| ecpm_level | Нет | 1 |
| reward_user_custom_data | Нет | Строка |
| идентификатор_сетевой_компании | Нет | 2 |
| валюта | Нет | долл. США |
| точность | Нет | Строка |