Параметры запроса для конкретной сети

Некоторые сетевые адаптеры поддерживают дополнительные параметры, которые можно передать адаптеру при создании запроса объявления. Они называются сетевыми дополнениями.

Плагин Google Mobile Ads предоставляет API для Android и iOS, которые позволяют передавать сетевые дополнения адаптерам-посредникам. Для этого вам необходимо реализовать MediationNetworkExtrasProvider на Android и FLTMediationNetworkExtrasProvider на iOS, а затем зарегистрировать реализацию поставщика дополнительных возможностей с помощью подключаемого модуля. Впоследствии плагин будет использовать его для прохождения через сетевые дополнения при создании запроса рекламы на Android или iOS.

Зарегистрируйте свой MediationNetworkExtrasProvider на Android

Создайте реализацию 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 для конкретной сети .

Зарегистрируйте свой FLTMediationNetworkExtrasProvider на iOS.

Создайте реализацию 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 при интеграции.

Посредничество