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