Paramètres de requête spécifiques au réseau

Certaines adaptateurs réseau acceptent des paramètres supplémentaires qui peuvent être transmis à l'adaptateur lorsque la demande d'annonce est créée. C'est ce que l'on appelle des extras réseau.

Le plug-in Google Mobile Ads fournit des API sur Android et iOS qui vous permettent de transmettre des extras réseau aux adaptateurs de médiation. Pour ce faire, vous devez implémenter MediationNetworkExtrasProvider sur Android et FLTMediationNetworkExtrasProvider sur iOS, puis enregistrer l'implémentation de votre fournisseur d'extras dans le plug-in. Par la suite, le plug-in l'utilisera pour passer par les extras réseau lors de la création de la demande d'annonce sur Android ou iOS.

Enregistrer votre MediationNetworkExtrasProvider sur Android

Créez une implémentation 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;
  }
}

Ensuite, enregistrez-le avec 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());
  }
}

Pour savoir quels extras sont compatibles avec différents réseaux et comment les construire, consultez la documentation de référence Android pour le réseau spécifique.

Enregistrer votre FLTMediationNetworkExtrasProvider sur iOS

Créez une implémentation 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

Enregistrez-le avec 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

Pour savoir quels extras sont compatibles avec différents réseaux et comment les construire, consultez la documentation de référence iOS pour le réseau spécifique.

Exemple complet sur GitHub

Notre exemple montre comment définir des paramètres personnalisés sur AppLovin dans une intégration.

Médiation