일부 네트워크 어댑터는 광고 요청이 생성될 때 어댑터에 전달할 수 있는 추가 매개변수를 지원합니다. 이를 네트워크 추가 기능이라고 합니다.
Google 모바일 광고 플러그인은 Android 및 iOS에서 미디에이션 어댑터에 네트워크 추가 항목을 전달할 수 있는
API를 제공합니다. 이렇게 하려면 Android에서 MediationNetworkExtrasProvider
를 구현하고 iOS에서 FLTMediationNetworkExtrasProvider
를 구현한 후 추가 제공자 구현을 플러그인에 등록해야 합니다. 이후 플러그인은 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 참조에서 여러 네트워크에서 지원되는 추가 항목과 구성 방법을 확인할 수 있습니다.