protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_rewarded_ad); progress = FindViewById <ProgressBar>(Resource.Id.progress); // Construct optional app options object to be sent with configure AdColonyAppOptions appOptions = new AdColonyAppOptions() .SetUserID("unique_user_id") .SetKeepScreenOn(true); // Configure AdColony in your launching Activity's onCreate() method so that cached ads can // be available as soon as possible. AdColony.Configure(this, appOptions, APP_ID, ZONE_ID); // Optional user metadata sent with the ad options in each request AdColonyUserMetadata metadata = new AdColonyUserMetadata() .SetUserAge(26) .SetUserEducation(AdColonyUserMetadata.UserEducationBachelorsDegree) .SetUserGender(AdColonyUserMetadata.UserMale); // Ad specific options to be sent with request adOptions = new AdColonyAdOptions() .EnableConfirmationDialog(true) .EnableResultsDialog(true) .SetUserMetadata(metadata); // Create and set a reward listener AdColony.SetRewardListener(this); // Set up listener for interstitial ad callbacks. You only need to implement the callbacks // that you care about. The only required callback is onRequestFilled, as this is the only // way to get an ad object. listener = new MyAdColonyInterstitialListener(this); // Set up button to show an ad when clicked showButton = FindViewById <Button>(Resource.Id.showbutton); showButton.Click += ShowButton_Click; // GDPR AdColony.AppOptions.SetGDPRConsentString("0"); AdColony.AppOptions.SetGDPRRequired(false); }