AppLovin Support

S2S Rewarded Callback API

AppLovinのサーバーは、開発者が定義した外部サーバーに対して、サーバー間(server-to-server)の rewarded callback を送信できます。 これらの callback は、アプリのユーザーが rewarded ad を完了し、特典(リワード)を受け取る資格を得たことを通知します。 これにより、rewarded ad を最後まで完了せずに特典を獲得しようとする悪質なユーザーを防ぐことができます。

はじめに

AppLovinのサーバーは、ユーザーが MAX mediation の配信する rewarded ad を完了した後に、外部のエンドポイントへ callback を送信できます。 これらのリクエストを受信するエンドポイントは、開発者自身で定義します。 callback は、HTTPまたはHTTPSの GET リクエストの形式で行われます。 AppLovinは広告の完了後すぐにこれらの callback を行いますが、数分遅れる場合があります。 impression のタイムスタンプマクロを使用することで、impression と callback の時間の間の遅延を調整できます。

エンドポイントからの応答がないまま5秒が経過すると、callback リクエストはタイムアウトします。 callback リクエストがタイムアウトした場合、AppLovinは最大2回まで callback を再試行します。

これらの callback を設定するには、任意の rewarded Ad Unit の Edit Ad Unit ページで「Server Side Callback URL」の値を設定します。

https://myrewardedserver.com/rewards?idfa={IDFA}&user_id={USER_ID}&event={EVENT_ID}&token={EVENT_TOKEN}

利用可能なマクロ

以下の表にあるマクロは、callback URLに組み込むことができます。 上記の例のURLには、{IDFA}{USER_ID}{EVENT_ID}、および {EVENT_TOKEN} マクロが組み込まれています。 AppLovinのサーバーがエンドポイントに callback を行う際、これらのマクロ名は正確な値に置き換えられます。

名前説明
{AD_UNIT_ID}MAX Ad Unit ID(16桁の16進数文字)9ad0816ac071552a
{AD_UNIT_NAME}Ad Unit 名(URLエンコード済み)My%20App%20Banners
{AMOUNT}ユーザーに付与する仮想通貨の量。各 Ad Unit の Ad Unit 編集ページで設定します。100
{CC}ユーザーの2文字の国コードgb
{CURRENCY}ユーザーに付与する仮想通貨のタイプ(URLエンコード済み)。各 Ad Unit の Ad Unit 編集ページで設定します。coins
{CUSTOM_DATA}インテグレーションから渡されるカスタムデータ(URLエンコード済み)。AppLovinは、文字列のサイズを8192文字未満に抑えることを推奨しています。my%20custom%20data
{EVENT_ID}ユニークなイベントID、36文字のUUIDa7c3e1b2-4f59-4d8a-9c21-8e6b0f3a1d47
{EVENT_TOKEN}sha1( EVENT_ID + Your-Event-Key )e000949f6d851…a43cf31
{EVENT_TOKEN_ALL}sha256( すべての1マクロをアルファベット順に並べ、URLデコードしたもの + Your-Event-Key )eba615583ed59…5f218702a97a
{IDFA}iOSの IDFA または Google Advertising ID860635ea-65bc-eaed-d355-1b5283b30b94
{IDFV}IDFV4CD1C3C4-3FD7-00F5-1635-7BC6D9387E60
{IP}ユーザーのIP(IPv6の値はURLエンコードされます)162.1.1.1 , fe80%3A%3A…890a%0A
{NETWORK_NAME}MAX Ad Network名APPLOVIN_BIDDING
{PACKAGE_NAME}アプリのパッケージ名(Android)または Bundle ID(iOS)。URLエンコード済み。com.test.app
{PLACEMENT}パブリッシャーが定義した MAX 広告 placement 名(URLエンコード済み)Launch%20Screen
{PLATFORM}プラットフォームandroid , ios
{TS}広告ロード時のタイムスタンプ(整数、エポック秒)1546300800
{USER_ID}パブリッシャーが定義したユーザーID(URLエンコード済み)。最大長は8192文字です。7634657898

1 注:マクロに EVENT_TOKEN が含まれている場合、それは「すべてのマクロをアルファベット順に並べた」文字列から除外されます。

広告の placement 名の設定

以下のコードスニペットは、Ad Unit に placement 名を追加する方法を示しています。 placement 名の値は、postback リクエスト内の {PLACEMENT} マクロに置き換えられます:

    ActionScript

    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    Blueprint

    Ad Unit識別子。bannerの作成:Ad Unit識別子。bannerの位置:下部中央。bannerのplacement設定:Ad Unit識別子、placement:YOUR_BANNER_PLACEMENT。

    C++

    UAppLovinMAX::CreateBanner(«ad-unit-ID», «position»);
    UAppLovinMAX::SetBannerPlacement(«ad-unit-ID», «placement»);
    

    C#

    MaxSdk.CreateBanner(«ad-unit-ID», «position»);
    MaxSdk.SetBannerPlacement(«ad-unit-ID», "«placement»");
    

    Dart

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    GDScript

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.set_banner_placement(«ad-unit-ID», «placement»);
    

    Java

    adViewAd.setPlacement( "«placement»" );
    

    JavaScript (Cordova)

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    JavaScript (React Native)

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    Kotlin

    adView.setPlacement( "«placement»" )
    

    Lua

    applovin.create_banner(«ad-unit-ID», «position»)
    applovin.set_banner_placement(«ad-unit-ID», «placement»)
    

    Objective-C

    adView.placement = @"«placement»";
    [adView loadAd];
    

    Swift

    adView.placement = "«placement»"
    adView.loadAd()
    

内部ユーザーIDの設定

以下のコードスニペットは、独自の内部ユーザーIDをユーザーにタグ付けする方法を示しています。 ユーザーID文字列の最大サイズは8192文字です。

AppLovinMAX.setUserId("«user-ID»");

rewarded ad の特典額と仮想通貨へのアクセス

特典の額と仮想通貨にアクセスするには、特典の callback をオーバーライドします:

private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo)
{
  print("Rewarded user: " + reward.Amount + " " + reward.Label);
}

カスタムデータ

以下のコードスニペットは、postback にカスタムの String データを追加する方法を示しています。 この String data は、これらの postback 内の {CUSTOM_DATA} マクロに置き換えられます。 AppLovinは、文字列を8192文字未満にすることを推奨しています。

カスタムデータは、banner ad または MREC ad をロードする前に設定する必要があります。 そうしないと、そのデータは広告に関連付けられた postback に表示されません。

    Banners & MRECs

    MaxSdk.SetBannerCustomData("«ad-unit-ID»", "«custom-data»"); // Banners
    MaxSdk.SetMRecCustomData("«ad-unit-ID»", "«custom-data»"); // MRECs
    

    Interstitials

    MaxSdk.ShowInterstitial(«adUnitIdentifier», «placement», «custom data»);
    

    Rewarded ads

    MaxSdk.ShowRewardedAd(«adUnitIdentifier», «placement», «custom data»);
    

    Native ads

    nativeAdLoader.setCustomData( "«custom data»" );
    

search