네트워크별 요청 매개변수

일부 네트워크 어댑터는 광고 요청이 생성될 때 어댑터에 전달할 수 있는 추가 매개변수를 지원합니다. 이를 네트워크 엑스트라라고 합니다.

Google 모바일 광고 플러그인은 네트워크 추가 정보를 미디에이션 어댑터에 전달할 수 있는 Android 및 iOS의 API를 제공합니다. 이렇게 하려면 Android에서 MediationNetworkExtrasProvider를 구현하고 iOS에서 FLTMediationNetworkExtrasProvider를 구현한 다음 플러그인에 extras 제공자 구현을 등록해야 합니다. 그런 다음 플러그인은 Android 또는 iOS에서 광고 요청을 만들 때 이를 사용하여 네트워크 추가를 전달합니다.

Android에서 MediationNetworkExtrasProvider 등록

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 참조에서 확인할 수 있습니다.

iOS에서 FLTMediationNetworkExtrasProvider 등록

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에 맞춤 매개변수를 설정하는 방법을 보여줍니다.

미디에이션