ネットワーク アダプタによっては、広告リクエストの作成時にアダプタに渡すことができる追加のパラメータをサポートしているものがあります。これらはネットワークについての追加情報と呼ばれます。
Google Mobile Ads プラグインは、Android と iOS で、ネットワークについての追加情報をメディエーション アダプタに渡すための API を提供しています。これを行うには、Android で
MediationNetworkExtrasProvider、iOS で
FLTMediationNetworkExtrasProvider を実装し、追加パラメータ
プロバイダの実装をプラグインに登録する必要があります。その後、プラグインはこれを使用して、Android または iOS で広告リクエストを作成するときにネットワークについての追加情報を渡します。
Android で MediationNetworkExtrasProvider を登録する
MediationNetworkExtrasProvider の実装を作成します。
class MyMediationNetworkExtrasProvider implements MediationNetworkExtrasProvider {
@Override
public Map<Class<? extends MediationExtrasReceiver>, Bundle> getMediationExtras(
String adUnitId, @Nullable String identifier) {
// This example passes extras to the AppLovin adapter.
// This method is called with the ad unit of the associated ad request, and
// an optional string parameter which comes from the dart ad request object.
Bundle appLovinBundle = new AppLovinExtras.Builder().setMuteAudio(true).build();
Map<Class<? extends MediationExtrasReceiver>, Bundle> extras = new HashMap<>();
extras.put(ApplovinAdapter.class, appLovinBundle);
// Note: You can pass extras to multiple adapters by adding more entries.
return extras;
}
}
次に、GoogleMobileAdsPlugin に登録します。
// Register a MediationNetworkExtrasProvider with the plugin.
public class MainActivity extends FlutterActivity {
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
super.configureFlutterEngine(flutterEngine);
// Register your MediationNetworkExtrasProvider to provide network extras to ad requests.
GoogleMobileAdsPlugin.registerMediationNetworkExtrasProvider(
flutterEngine, new MyMediationNetworkExtrasProvider());
}
}
さまざまなネットワークでサポートされている追加パラメータと、それらの 構築方法については、特定の ネットワークの Android リファレンスをご覧ください。
iOS で FLTMediationNetworkExtrasProvider を登録する
FLTMediationNetworkExtrasProvider の実装を作成します。
@implementation MyFLTMediationNetworkExtrasProvider
- (NSArray<id<GADAdNetworkExtras>> *_Nullable)getMediationExtras:(NSString *_Nonnull)adUnitId
mediationExtrasIdentifier:
(NSString *_Nullable)mediationExtrasIdentifier {
// This example passes extras to the AppLovin adapter.
// This method is called with the ad unit of the associated ad request, and
// an optional string parameter which comes from the dart ad request object.
GADMAdapterAppLovinExtras *appLovinExtras = [[GADMAdapterAppLovinExtras alloc] init];
appLovinExtras.muteAudio = NO;
// Note: You can pass extras to multiple adapters by adding more entries.
return @[ appLovinExtras ];
}
@end
次に、FLTGoogleMobileAdsPlugin に登録します。
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GeneratedPluginRegistrant registerWithRegistry:self];
// Register your network extras provider if you want to provide
// network extras to specific ad requests.
MyFLTMediationNetworkExtrasProvider *networkExtrasProvider =
[[MyFLTMediationNetworkExtrasProvider alloc] init];
[FLTGoogleMobileAdsPlugin registerMediationNetworkExtrasProvider:networkExtrasProvider
registry:self];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@end
さまざまなネットワークでサポートされている追加パラメータと、それらの 構築方法については、特定の ネットワークの iOS リファレンスをご覧ください。
GitHub のサンプルコードの全文
このサンプルでは、統合で AppLovin にカスタム パラメータを設定する方法を示します。