Bazı ağ bağdaştırıcıları, reklam isteği oluşturulduğunda bağdaştırıcıya iletilebilen ek parametreleri destekler. Bunlara ağ ekstraları denir.
Google Mobile Ads eklentisi, Android ve iOS'te ağ ekstralarını uyumlulaştırma bağdaştırıcılarına iletmenize olanak tanıyan API'ler sağlar. Bunu yapmak için Android'de MediationNetworkExtrasProvider
, iOS'te ise FLTMediationNetworkExtrasProvider
öğesini uygulamanız ve ardından ekstralar sağlayıcı uygulamanızı eklentiye kaydetmeniz gerekir. Daha sonra eklenti, Android veya iOS'te reklam isteği oluştururken ağ ekstralarını iletmek için bu bilgiyi kullanır.
Android'de MediationNetworkExtrasProvider'ınızı kaydetme
MediationNetworkExtrasProvider
öğesinin bir uygulamasını oluşturun:
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;
}
}
Ardından, cihazı GoogleMobileAdsPlugin
ile kaydedin:
// 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());
}
}
Hangi ekstraların farklı ağlar tarafından desteklendiğini ve bunların nasıl oluşturulacağını, belirli ağ için Android referansında görebilirsiniz.
iOS'te FLTMediationNetworkExtrasProvider'ınızı kaydetme
FLTMediationNetworkExtrasProvider
öğesinin bir uygulamasını oluşturun:
@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
Ayrıca, FLTGoogleMobileAdsPlugin
ile kaydettirin:
@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
Farklı ağlar tarafından hangi ekstraların desteklendiğini ve bunların nasıl oluşturulacağını, belirli ağın iOS referansında görebilirsiniz.
GitHub'daki tam örnek
Örneğimizde, bir entegrasyonda AppLovin'de özel parametrelerin nasıl ayarlanacağı gösterilmektedir.