アドバンス設定
広告プレースメント
各広告ユニットにプレースメント名を設定することができます(例:「Rewarded VideoLevels」、「INTER_levelEnd」、「RewardedVideoCoinStore」など)。 これにより、異なるプレースメントカテゴリーの統計を集計することができます。 以下のスニペットは、さまざまな広告フォーマットのプレースメント名を設定する方法を示しています。
AppLovinMAX.createBanner(«ad-unit-ID», «position»);AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.createMRec(«ad-unit-ID», «position»);AppLovinMAX.setMRecPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.showInterstitial(«ad-unit-ID», placement: «placement»);
AppLovinMAX.showRewardedAd(«ad-unit-ID», placement: «placement»);
音声をミュート
アプリを起動する際に、一部のメディエーションSDKネットワークの音声をミュートすることができます。 AppLovin SDKをとおしてこの機能をサポートしているネットワークは、Google Bidding、 Google AdMob 、AppLovin、DT Exchange、 Google アド マネージャー、LINE、Mintegral、Tencent、Verveです。 他のネットワークについては、この機能が利用可能かどうか、またそのアクセス方法について、ネットワークのアカウントチームにお問い合わせください。
以下のコードスニペットは、この機能をサポートするネットワークで音声をミュートする方法を示しています。
AppLovinMAX.setMuted(true);
AppLovinMAX.setMuted(false);
Verboseログを有効化
Verboseログを有効にするには、以下の呼び出しを行います:
AppLovinMAX.setVerboseLogging(true);
Verboseログを正常に有効化したことを確認するには、AppLovin SDKのログの初期化セクションに、Verbose Logging On: true
と表示される行を確認してください。
AppLovin SDKVersion: 11.4.2⋮Verbose Logging On: true⋮
AppLovin SDKは、そのログに「/AppLovinSdk: [AppLovinSdk]
」というタグを付けます。
クリエイティブIDとネットワーク名
さまざまなメディエーションネットワークから表示された広告のクリエイティブIDとネットワーク名を取得できます。 詳細については、the Creative Debugger documentation を参照してください。
DSP名
AppLovin Exchangeから配信されたMAX広告のdspName
プロパティを使用して、DSP名を取得できます。
AppLovinMAX.setInterstitialListener(InterstitialListener( onAdLoadedCallback: (ad) { print("AppLovin Exchange DSP Name: " + ad.dspName); }, ⋮);
インプレッションレベルのユーザー収益API
Flutterプラグイン2.2.0より、クライアント側でインプレッションレベルのユーザー収益データにアクセスできるようになりました。 このデータは、異なるソースやキャンペーンの比較に利用できます。 また、MAXの ユーザー収益APIを使用して、このデータにアクセスすることも可能です。
サポートするすべてのネットワークについて、インプレッションレベルの広告収益データをAdjust などのモバイル計測パートナーと共有できます。
すべての広告ライフサイクルコールバックで、収益額を取得できます。 以下の例は、「ad revenue paid」コールバックでこれを行う方法を示しています。
AppLovinMAX.setInterstitialListener(InterstitialListener(onAdRevenuePaidCallback: (ad) {…}));AppLovinMAX.setRewardedAdListener(RewardedAdListener(onAdRevenuePaidCallback: (ad) {…}));AppLovinMAX.setBannerListener(AdViewAdListener(onAdRevenuePaidCallback: (ad) {…}));AppLovinMAX.setMRecListener(AdViewAdListener(onAdRevenuePaidCallback: (ad) {…}));
AppLovinMAX.setInterstitialListener(InterstitialListener(onAdLoadedCallback: (ad) { }, onAdLoadFailedCallback: (adUnitId, error) { }, onAdDisplayedCallback: (ad) { }, onAdDisplayFailedCallback: (ad, error) { }, onAdClickedCallback: (ad) { }, onAdHiddenCallback: (ad) { }, onAdRevenuePaidCallback: (ad) { print('Interstitial ad revenue paid: $ad.revenue'); },));
MaxAdView( adUnitId: _ad_unit_id, adFormat: AdFormat.banner, listener: AdViewAdListener(onAdLoadedCallback: (ad) { }, onAdLoadFailedCallback: (adUnitId, error) { }, onAdClickedCallback: (ad) { }, onAdExpandedCallback: (ad) { }, onAdCollapsedCallback: (ad) { }, onAdRevenuePaidCallback: (ad) { print('Banner widget ad revenue paid: $ad.revenue'); }))
Selective Init
Flutterプラグインバージョン3.4.0以降では、特定の広告ユニットを使用してSDKを初期化できます。 このとき、SDKは、指定の広告ユニットに設定されたネットワークのみを初期化します。 広告ユニットを指定しない場合、SDKは、現在のセッションにすべての広告ユニットが必要だと見なします。 その結果、広告ユニットに設定したネットワークがすべて初期化されます。 以下の例は、この機能の実装方法を示したものです。
AppLovinMAX.setInitializationAdUnitIds([ "«ad-unit-ID-1»", "«ad-unit-ID-2»" ]);MaxConfiguration? configuration = await AppLovinMAX.initialize(«your-SDK-key»);
Waterfall Information API
Waterfall Information APIは、広告の現在のウォーターフォール(ロードされたもの、またはロードに失敗したもの)について通知します。APIは、ウォーターフォール内の各広告のロード状態、待ち時間、資格情報、およびメディエーションネットワーク情報を返します。 ウォーターフォール内の広告がロードに失敗した場合、APIはエラー情報を提供します。
このAPIは、Flutterプラグインバージョン2.3.2でサポートされています。
AdLoadState Values
値 | 説明 |
---|---|
0 | Ad Load Not Attempted |
1 | Ad Loaded |
2 | Ad Failed To Load |
例
AppLovinMAX.setInterstitialListener(InterstitialListener( onAdLoadedCallback: (ad) { MaxAdWaterfallInfo waterfall = ad.waterfall;
print('Waterfall Name: ${waterfall.name} and Test Name: ${waterfall.testName}'); print('Waterfall latency was: ${waterfall.latency} milliseconds');
for (var networkResponse in waterfall.networkResponses) { var mediatedNetwork = networkResponse.mediatedNetwork; print('Network - mediatedNetwork: [name: ${mediatedNetwork.name} ' 'adapterClassName: ${mediatedNetwork.adapterClassName} ' 'sdkVersion: ${mediatedNetwork.sdkVersion} ' 'adapterVersion: ${mediatedNetwork.adapterVersion}'); print('...adLoadState: ${networkResponse.adLoadState}'); print('...latencyMillis: ${networkResponse.latency}'); print('...credentials: ${networkResponse.credentials}');
var error = networkResponse.error; if (error != null) { print('...error code: ${error.code} message: ${error.message}'); } } }, onAdLoadFailedCallback: (adUnitId, error) { MaxAdWaterfallInfo? waterfall = error.waterfall; if (waterfall == null) return;
print('Waterfall Name: ${waterfall.name} and Test Name: ${waterfall.testName}'); print('Waterfall latency was: ${waterfall.latency} milliseconds');
for (var networkResponse in waterfall.networkResponses) { var mediatedNetwork = networkResponse.mediatedNetwork; print('Network - mediatedNetwork: [name: ${mediatedNetwork.name} ' 'adapterClassName: ${mediatedNetwork.adapterClassName} ' 'sdkVersion: ${mediatedNetwork.sdkVersion} ' 'adapterVersion: ${mediatedNetwork.adapterVersion}'); print('...adLoadState: ${networkResponse.adLoadState}'); print('...latencyMillis: ${networkResponse.latency}'); print('...credentials: ${networkResponse.credentials}');
var error = networkResponse.error; if (error != null) { print('...error code: ${error.code} message: ${error.message}'); } } }));
アウトプット
Waterfall Name: Default Waterfall and Test Name: ControlWaterfall latency was: 1635 millisecondsNetwork -> mediatedNetwork: [name: Mintegral adapterClassName: com.applovin.mediation.adapters.MintegralMediationAdapter sdkVersion: MAL_16.2.61 adapterVersion: 16.2.61.2]...adLoadState: 1...latencyMillis: 1635...credentials: 1542105Network -> mediatedNetwork: [name: InMobi adapterClassName: com.applovin.mediation.adapters.InMobiMediationAdapter sdkVersion: 10.1.2 adapterVersion: 10.1.2.1]...adLoadState: 0...latencyMillis: -1...credentials: 1550734895971Network -> mediatedNetwork: [name: LINE adapterClassName: com.applovin.mediation.adapters.LineMediationAdapter sdkVersion: 2.4.20220216 adapterVersion: 2022.2.16.3]...adLoadState: 0...latencyMillis: -1...credentials: 849050Network -> mediatedNetwork: [name: Pangle adapterClassName: com.applovin.mediation.adapters.ByteDanceMediationAdapter sdkVersion: 4.8.0.9 adapterVersion: 4.8.0.9.0]...adLoadState: 0...latencyMillis: -1...credentials: 980040498