package org.robovm.bindings.admob.mediation; import org.robovm.apple.foundation.NSObjectProtocol; import org.robovm.apple.uikit.UIViewController; import org.robovm.objc.annotation.Method; public interface GADCustomEventInterstitial extends NSObjectProtocol { /** This method is called by Mediation when your Custom Event is scheduled to be executed. Your implementation should begin * retrieval of the interstitial ad, usually from a backend server, or from an ad network SDK. Results of the execution should * be reported back via the delegate. Note that you should wait until -presentFromRootViewController is called before * displaying the interstitial ad. Do not automatically display the ad when you receive the ad. Instead, retain the ad and * display it when presentFromRootViewController is called. |serverParameter| and |serverLabel| are the parameter and label * configured in the AdMob Mediation UI for the Custom Event. |request| contains information about the ad request, some of * those are from GADRequest. * @param serverParameter * @param serverLabel * @param request */ @Method(selector = "requestInterstitialAdWithParameter:label:request:") void requestInterstitial (String serverParameter, String serverLabel, GADCustomEventRequest request); /** Present the interstitial ad as a modal view using the provided view controller. This is called only after your Custom Event * calls back to the delegate with the message -customEvent:didReceiveAd: . * @param rootViewController */ @Method(selector = "presentFromRootViewController:") void present (UIViewController rootViewController); /** Setter for delegate You should call back to the |delegate| with the results of the execution to ensure Mediation behaves * correctly. The delegate is assigned, not retained, to prevent memory leak caused by circular retention. * * You can create accessor methods either by doing * * @synthesize delegate; * * in your class implementation, or define the methods -delegate and -setDelegate: yourself. * * In your object's -dealloc method, remember to nil out the delegate. * @param delegate */ @Method(selector = "setDelegate:") void setDelegate (GADCustomEventInterstitialDelegate delegate); /** Getter for Delegate You should call back to the |delegate| with the results of the execution to ensure Mediation behaves * correctly. The delegate is assigned, not retained, to prevent memory leak caused by circular retention. * * You can create accessor methods either by doing * * @synthesize delegate; * * in your class implementation, or define the methods -delegate and -setDelegate: yourself. * * In your object's -dealloc method, remember to nil out the delegate. * @return */ @Method(selector = "delegate") GADCustomEventInterstitialDelegate getDelegate (); }