Netzwerkspezifische Anforderungsparameter

Einige Netzwerkadapter unterstützen zusätzliche Parameter, die an den Adapter übergeben werden können, wenn die Anzeigenanfrage erstellt wird. Diese werden als Netzwerkextras bezeichnet.

Das Google Mobile Ads-Plug-in bietet APIs für Android und iOS, mit denen Sie Netzwerkextras an Vermittlungsadapter übergeben können. Dazu musst du MediationNetworkExtrasProvider unter Android und FLTMediationNetworkExtrasProvider für iOS implementieren und dann die Implementierung deines Extras-Anbieters mit dem Plug-in registrieren. Danach werden vom Plug-in beim Erstellen der Anzeigenanfrage auf Android- oder iOS-Geräten Netzwerkextras übergeben.

MediationNetworkExtrasProvider für 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 ihn dann mit 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());
  }
}

Welche Extras von den verschiedenen Netzwerken unterstützt werden und wie sie erstellt werden, können Sie der Android-Referenz für das jeweilige Netzwerk entnehmen.

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

Registriere es 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 können Sie nachlesen, welche Extras von den verschiedenen Netzwerken unterstützt werden und wie sie erstellt werden.

Vollständiges Beispiel auf GitHub

Unser Beispiel zeigt, wie benutzerdefinierte Parameter in AppLovin in einer Integration festgelegt werden.

Vermittlung