برخی از آداپتورهای شبکه از پارامترهای اضافی پشتیبانی می کنند که می توانند هنگام ایجاد درخواست تبلیغ به آداپتور منتقل شوند. به این موارد اضافی شبکه می گویند.
افزونه Google Mobile Ads API هایی را در Android و iOS ارائه می دهد که به شما امکان می دهد موارد اضافی شبکه را به آداپتورهای واسطه منتقل کنید. برای انجام این کار، باید MediationNetworkExtrasProvider
در اندروید و FLTMediationNetworkExtrasProvider
در iOS پیاده سازی کنید و سپس پیاده سازی ارائه دهنده اضافی خود را با افزونه ثبت کنید. پس از آن، افزونه هنگام ایجاد درخواست تبلیغات در Android یا iOS، از آن برای عبور از موارد اضافی شبکه استفاده می کند.
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());
}
}
در مرجع اندروید برای شبکههای خاص، میتوانید ببینید که کدام موارد اضافی توسط شبکههای مختلف پشتیبانی میشوند و چگونه میتوانید آنها را بسازید.
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 را در یک ادغام نشان می دهد.