Einige Netzwerkadapter unterstützen zusätzliche Parameter, die beim Erstellen der Anzeigenanfrage an den Adapter übergeben werden können. Diese werden als Netzwerk-Extras bezeichnet.
Das Google Mobile Ads-Plug-in bietet APIs für Android und iOS, mit denen Sie Netzwerk-Extras an Vermittlungsadapter übergeben können. Dazu müssen Sie MediationNetworkExtrasProvider auf Android-Geräten und FLTMediationNetworkExtrasProvider auf iOS-Geräten implementieren und dann die Implementierung des Extras-Anbieters beim Plug-in registrieren. Anschließend wird das Plug-in verwendet, um Netzwerk-Extras weiterzugeben, wenn die Anzeigenanfrage auf Android oder iOS erstellt wird.
MediationNetworkExtrasProvider unter Android registrieren
Erstellen Sie eine Implementierung von 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;
}
}
Registrieren Sie sie dann mit dem 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());
}
}
In der Android-Referenz für das jeweilige Netzwerk finden Sie Informationen dazu, welche Extras von den verschiedenen Netzwerken unterstützt werden und wie sie erstellt werden.
FLTMediationNetworkExtrasProvider unter iOS registrieren
Erstellen Sie eine Implementierung von 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
Und registrieren Sie sie mit 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
In der iOS-Referenz für das jeweilige Netzwerk finden Sie Informationen dazu, welche Extras von den verschiedenen Netzwerken unterstützt werden und wie sie erstellt werden.
Vollständiges Beispiel auf GitHub
In unserem Beispiel wird gezeigt, wie Sie benutzerdefinierte Parameter für AppLovin in einer Integration festlegen.