پارامترهای درخواست خاص شبکه

برخی از آداپتورهای شبکه از پارامترهای اضافی پشتیبانی می کنند که می توانند هنگام ایجاد درخواست تبلیغ به آداپتور منتقل شوند. به این موارد اضافی شبکه می گویند.

افزونه 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 را در یک ادغام نشان می دهد.

میانجیگری