広告レスポンスに関する情報の取得
デバッグおよびログ出力のために、正常にロードされた広告は ResponseInfo オブジェクトを提供します。このオブジェクトには、ロードされた広告に関する情報のほか、その広告のロードに使用されたメディエーションのウォーターフォールに関する情報が含まれています。
広告が正常にロードされ、インプレッション料金が支払われた場合、on_ad_paid コールバックから返される AdValue.response_info(C# では AdValue.ResponseInfo)プロパティを介してレスポンス情報を取得できます。また、AppOpenAd の場合は、get_response_info()(C# では GetResponseInfo())メソッドを介して直接取得することもできます。
広告のロードに失敗し、エラーのみが発生した場合は、LoadAdError.response_info(C# では LoadAdError.ResponseInfo)を介してレスポンス情報を取得できます。
レスポンス情報 (Response Info)
ロードされた広告に対して返されるサンプルデータ(JSON 表現)は以下のとおりです。
{
"response_id": "COOllLGxlPoCFdAx4Aod-Q4A0g",
"mediation_adapter_class_name": "com.google.ads.mediation.admob.AdMobAdapter",
"adapter_responses": {
"0": {
"adapter_class_name": "com.google.ads.mediation.admob.AdMobAdapter",
"latency_millis": 328,
"ad_source_name": "Reservation campaign",
"ad_source_id": "7068401028668408324",
"ad_source_instance_name": "[DO NOT EDIT] Publisher Test Interstitial",
"ad_source_instance_id": "4665218928925097",
"ad_unit_mapping": {},
"ad_error": {}
}
},
"loaded_adapter_response_info": {
"adapter_class_name": "com.google.ads.mediation.admob.AdMobAdapter",
"latency_millis": 328,
"ad_source_name": "Reservation campaign",
"ad_source_id": "7068401028668408324",
"ad_source_instance_name": "[DO NOT EDIT] Publisher Test Interstitial",
"ad_source_instance_id": "4665218928925097",
"ad_unit_mapping": {},
"ad_error": {}
},
"response_extras": {
"mediation_group_name": "Campaign"
}
}
ResponseInfo オブジェクトのプロパティは以下のとおりです。
| プロパティ | 説明 |
|---|---|
adapter_responses (AdapterResponses) |
広告レスポンスに含まれる各アダプターのメタデータを含む AdapterResponseInfo のリストを返します。ウォーターフォール メディエーションおよび入札の実行のデバッグに使用できます。リストの順序は、この広告リクエストのメディエーション ウォーターフォールの順序と一致します。詳細については、アダプター応答情報を参照してください。 |
loaded_adapter_response_info (LoadedAdapterResponseInfo) |
広告をロードしたアダプターに対応する AdapterResponseInfo を返します。 |
mediation_adapter_class_name (MediationAdapterClassName) |
広告をロードした広告ソースのメディエーション アダプター クラス名を返します。 |
response_id (ResponseId) |
広告レスポンスの一意の識別子。この識別子は、広告レビュー センター(ARC)で広告を特定し、ブロックするために使用できます。 |
response_extras (ResponseExtras) |
広告レスポンスに関する追加の情報を返します。追加情報には、次のキーが含まれる場合があります。 - mediation_group_name: メディエーション グループ名 - mediation_ab_test_name: メディエーション A/B テスト名(該当する場合) - mediation_ab_test_variant: メディエーション A/B テストのバリアント(該当する場合) |
func _on_interstitial_ad_paid(ad_value: AdValue) -> void:
var response_info := interstitial_ad.get_response_info()
var response_id: String = response_info.response_id
var mediation_adapter_class_name: String = response_info.mediation_adapter_class_name
var adapter_responses: Array[AdapterResponseInfo] = response_info.adapter_responses
var loaded_adapter_response_info: AdapterResponseInfo = response_info.loaded_adapter_response_info
var extras: Dictionary = response_info.response_extras
var mediation_group_name = extras.get("mediation_group_name", "")
var mediation_ab_test_name = extras.get("mediation_ab_test_name", "")
var mediation_ab_test_variant = extras.get("mediation_ab_test_variant", "")
private void OnInterstitialAdLoaded(InterstitialAd interstitialAd)
{
ResponseInfo responseInfo = interstitialAd.ResponseInfo;
string responseId = responseInfo.ResponseId;
string mediationAdapterClassName = responseInfo.MediationAdapterClassName;
System.Collections.Generic.List<AdapterResponseInfo> adapterResponses = responseInfo.AdapterResponses;
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.LoadedAdapterResponseInfo;
Godot.Collections.Dictionary extras = responseInfo.ResponseExtras;
string mediationGroupName = extras.ContainsKey("mediation_group_name") ? extras["mediation_group_name"].ToString() : "";
string mediationABTestName = extras.ContainsKey("mediation_ab_test_name") ? extras["mediation_ab_test_name"].ToString() : "";
string mediationABTestVariant = extras.ContainsKey("mediation_ab_test_variant") ? extras["mediation_ab_test_variant"].ToString() : "";
}
アダプター応答情報
AdapterResponseInfo には、広告レスポンス内の個々の広告ソースに対する応答情報が含まれています。
ロードされた広告のメタデータを示す AdapterResponseInfo の出力例は以下のとおりです。
{
"adapter_class_name": "com.google.ads.mediation.admob.AdMobAdapter",
"latency_millis": 328,
"ad_source_name": "Reservation campaign",
"ad_source_id": "7068401028668408324",
"ad_source_instance_name": "[DO NOT EDIT] Publisher Test Interstitial",
"ad_source_instance_id": "4665218928925097",
"ad_unit_mapping": {},
"ad_error": {}
}
各広告ソースに対して、AdapterResponseInfo は以下のプロパティを提供します。
| プロパティ | 説明 |
|---|---|
ad_error (AdError) |
広告ソースへのリクエストに関連付けられたエラーを取得します。広告ソースが正常に広告をロードした場合、または広告ソースが試行されなかった場合は null を返します。 |
ad_source_id (AdSourceId) |
このアダプター応答に関連付けられた広告ソース ID を取得します。キャンペーンの場合、メディエーション広告キャンペーンの目標タイプに対しては 6060308706800320801 が返され、インプレッションおよびクリックの目標タイプに対しては 7068401028668408324 が返されます。 |
ad_source_instance_id (AdSourceInstanceId) |
このアダプター応答に関連付けられた広告ソース インスタンス ID を取得します。 |
ad_source_instance_name (AdSourceInstanceName) |
このアダプター応答に関連付けられた広告ソース インスタンス名を取得します。 |
ad_source_name (AdSourceName) |
このアダプター応答に関連付けられた広告ソース名を取得します。キャンペーンの場合、メディエーション広告キャンペーンの目標タイプに対しては Mediated House Ads が返され、インプレッションおよびクリックの目標タイプに対しては Reservation Campaign が返されます。 |
adapter_class_name (AdapterClassName) |
広告をロードした広告ソース アダプターのクラス名を取得します。 |
ad_unit_mapping (AdUnitMapping) |
AdMob UI で指定された広告ソース アダプターの認証情報を取得します。 |
latency_millis (LatencyMillis) |
広告ソース アダプターが広告のロードに費やした時間(ミリ秒単位)を取得します。広告ソースが試行されなかった場合は 0 を返します。 |
func _on_interstitial_ad_paid(ad_value: AdValue) -> void:
var loaded_adapter_response_info := interstitial_ad.get_response_info().loaded_adapter_response_info
var ad_error: AdError = loaded_adapter_response_info.ad_error
var ad_source_id: String = loaded_adapter_response_info.ad_source_id
var ad_source_instance_id: String = loaded_adapter_response_info.ad_source_instance_id
var ad_source_instance_name: String = loaded_adapter_response_info.ad_source_instance_name
var ad_source_name: String = loaded_adapter_response_info.ad_source_name
var adapter_class_name: String = loaded_adapter_response_info.adapter_class_name
var ad_unit_mapping: Dictionary = loaded_adapter_response_info.ad_unit_mapping
var latency_millis: int = loaded_adapter_response_info.latency_millis
private void OnInterstitialAdPaid(AdValue adValue)
{
AdapterResponseInfo loadedAdapterResponseInfo = interstitialAd.GetResponseInfo().LoadedAdapterResponseInfo;
AdError adError = loadedAdapterResponseInfo.AdError;
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
Godot.Collections.Dictionary adUnitMapping = loadedAdapterResponseInfo.AdUnitMapping;
int latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
}