注記: 最新の TopOn Unity SDK(バージョン TopOn_Unity_Release_Android&iOS_5.9.51 以降)がインストールされていることを確認してください。
Tenjin SDK は、TopOn のインプレッションレベルの収益データを取得し、収益イベントを Tenjin に送信することができます。この連携により、TopOn から配信された各広告インプレッションの収益情報が送信されます。連携の手順は以下の通りです:
- TopOn Unity SDK をインストールします: https://docs.toponad.com/#/en-us/unity/download/package?id=topon-unity-sdk-integration-tool
- Tenjin SDK を初期化する際、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 コールバックが使用されている場合、subscribe メソッドが正常に動作しない可能性があります。その場合は、
TopOnImpressionFromJSON(string json)以下の表に記載されたフィールドを使用して、各インプレッションを手動で送信する方法です。これには、Tenjin Unity SDK v1.13.1 以降が必要です。.
TopOnのインプレッションベースの収益データの例:
| パラメータ | 必須? | 例 |
| adsource_index | いいえ | 0 |
| ad_network_type | いいえ | 文字列 |
| is_header_bidding_adsource | いいえ | Int |
| ecpm_precision | いいえ | 文字列 |
| adsource_id | いいえ | 5656 |
| ecpm | いいえ | 1 |
| シナリオID | いいえ | 文字列 |
| custom_rule | いいえ | 文字列 |
| サブチャンネル | いいえ | testSubChannel |
| 出版社の収益 | はい | 0.001 |
| シナリオ報酬名 | いいえ | 文字列 |
| チャンネル | いいえ | testChannel |
| topon_ad_format | いいえ | 文字列 |
| segment_id | いいえ | 0 |
| 国 | いいえ | DE |
| show_id | いいえ | 文字列 |
| シナリオ報酬数 | いいえ | 0 |
| network_placement_id | いいえ | ca-app-pub-3940256099942544%2F6300978111 |
| topon_placement_id | いいえ | 文字列 |
| ecpm_level | いいえ | 1 |
| reward_user_custom_data | いいえ | 文字列 |
| network_firm_id | いいえ | 2 |
| 通貨 | いいえ | USD |
| 精度 | いいえ | 文字列 |