public static void InitNative(Activity activity, NativeAdScrollView nativeAdLayout, NativeAd ad) { try { if (AppSettings.ShowFbNativeAds) { if (ad == null) { var nativeAd = new NativeAd(activity, AppSettings.AdsFbNativeKey); #pragma warning disable 618 nativeAd.SetAdListener(new NativeAdListener(activity, nativeAd, nativeAdLayout)); #pragma warning restore 618 // Initiate a request to load an ad. nativeAd.LoadAd(); } else { var holder = new AdHolder(nativeAdLayout); LoadAd(activity, holder, ad, nativeAdLayout); } } } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
private static void LoadAd(Activity activity, AdHolder holder, NativeAd nativeAd, NativeAdScrollView adView) { try { adView.Visibility = ViewStates.Visible; if (holder.NativeAdChoicesContainer != null) { //var adOptionsView = new AdOptionsView(activity, nativeAd, adView); holder.NativeAdChoicesContainer.RemoveAllViews(); holder.NativeAdChoicesContainer.AddView(adView, 0); } // Setting the Text holder.NativeAdSocialContext.Text = nativeAd.AdSocialContext; holder.NativeAdCallToAction.Text = nativeAd.AdCallToAction; holder.NativeAdCallToAction.Visibility = nativeAd.HasCallToAction ? ViewStates.Visible : ViewStates.Invisible; holder.NativeAdTitle.Text = nativeAd.AdvertiserName; holder.NativeAdBody.Text = nativeAd.AdBodyText; holder.SponsoredLabel.Text = activity.GetText(Resource.String.sponsored); // You can use the following to specify the clickable areas. List <View> clickableViews = new List <View> { holder.NativeAdIcon, holder.NativeAdMedia, holder.NativeAdCallToAction }; nativeAd.RegisterViewForInteraction(adView, holder.NativeAdMedia, holder.NativeAdIcon, clickableViews); // Optional: tag views NativeAdBase.NativeComponentTag.TagView(holder.NativeAdIcon, NativeAdBase.NativeComponentTag.AdIcon); NativeAdBase.NativeComponentTag.TagView(holder.NativeAdTitle, NativeAdBase.NativeComponentTag.AdTitle); NativeAdBase.NativeComponentTag.TagView(holder.NativeAdBody, NativeAdBase.NativeComponentTag.AdBody); NativeAdBase.NativeComponentTag.TagView(holder.NativeAdSocialContext, NativeAdBase.NativeComponentTag.AdSocialContext); NativeAdBase.NativeComponentTag.TagView(holder.NativeAdCallToAction, NativeAdBase.NativeComponentTag.AdCallToAction); } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
public NativeAdListener(Activity activity, NativeAd nativeAd, NativeAdScrollView nativeAdLayout) { Activity = activity; NativeAd = nativeAd; NativeAdLayout = nativeAdLayout; }