NOTA: Certifique-se de que tem instalado o SDK TopOn Unity mais recente (versão TopOn_Unity_Release_Android&iOS_5.9.51 ou superior)
O SDK da Tenjin pode recolher dados de receitas ao nível das impressões da TopOn e enviar eventos de receitas para a Tenjin. Esta integração envia informações sobre as receitas relativas a cada impressão publicitária veiculada pela TopOn. Aqui estão os passos para a integração:
- Instale o SDK do TopOn Unity: https://docs.toponad.com/#/en-us/unity/download/package?id=topon-unity-sdk-integration-tool
- Ao inicializar o SDK da Tenjin, subscreva o TopOn Impressions:
var tenjin = Tenjin.getInstance("<SDK_KEY>");
tenjin.Connect();
tenjin.SubscribeTopOnImpressions();Segue-se um exemplo da integração do TopOn Banner e da subscrição de eventos de impressão.
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>");
}- [IMPORTANTE] Se outra dependência já estiver a utilizar os callbacks do TopOn, os métodos de subscrição poderão não funcionar. Nesse caso, pode utilizar o
TopOnImpressionFromJSON(string json)método para enviar manualmente cada impressão com os campos indicados na tabela abaixo. Para tal, é necessário o Tenjin Unity SDK v1.13.1 ou superior.
Exemplo de dados relativos às receitas ao nível das impressões do TopOn:
| Parâmetro | É obrigatório? | Exemplo |
| adsource_index | Não | 0 |
| tipo_de_rede_publicitária | Não | String |
| is_header_bidding_adsource | Não | Int |
| ecpm_precision | Não | String |
| adsource_id | Não | 5656 |
| ecpm | Não | 1 |
| scenario_id | Não | String |
| regra_personalizada | Não | String |
| sub_canal | Não | testSubChannel |
| receitas_da_editora | Sim | 0.001 |
| nome_da_recompensa_do_cenário | Não | String |
| canal | Não | testChannel |
| topon_ad_format | Não | String |
| segment_id | Não | 0 |
| país | Não | DE |
| show_id | Não | String |
| número_de_recompensa_do_cenário | Não | 0 |
| network_placement_id | Não | ca-app-pub-3940256099942544%2F6300978111 |
| topon_placement_id | Não | String |
| ecpm_level | Não | 1 |
| reward_user_custom_data | Não | String |
| network_firm_id | Não | 2 |
| moeda | Não | USD |
| precisão | Não | String |