Parámetros de solicitud específicos de la red

Algunos adaptadores de red admiten parámetros adicionales que se pueden pasar al adaptador cuando se crea la solicitud de anuncio. Estos se denominan servicios adicionales de red.

El complemento de Google Mobile Ads proporciona APIs en Android y en iOS que te permiten pasar elementos adicionales de la red a adaptadores de mediación. Para ello, debes implementar MediationNetworkExtrasProvider en Android y FLTMediationNetworkExtrasProvider en iOS y, luego, registrar la implementación del proveedor de extras con el complemento. Luego, el complemento lo usará para pasar los elementos adicionales de la red cuando cree la solicitud de anuncio en Android o iOS.

Registra tu MediationNetworkExtrasProvider en Android

Crea una implementación de 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;
  }
}

Luego, regístralo con 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());
  }
}

Puedes ver qué servicios adicionales son compatibles con diferentes redes y cómo construirlos en la referencia de Android para la red específica.

Registra tu FLTMediationNetworkExtrasProvider en iOS

Crea una implementación de 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

Y regístralo con 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

Puedes ver qué servicios adicionales son compatibles con diferentes redes y cómo construirlos en la referencia de iOS para la red específica.

Ejemplo completo en GitHub

En nuestro ejemplo, se muestra cómo configurar parámetros personalizados en AppLovin en una integración.

Mediación