public void PopulateContentAdView(NativeContentAd ad, NativeContentAdView adView)
        {
            adView.HeadlineView     = adView.FindViewById(Resource.Id.nativead_headline);
            adView.ImageView        = adView.FindViewById(Resource.Id.nativead_image);
            adView.BodyView         = adView.FindViewById(Resource.Id.nativead_body);
            adView.CallToActionView = adView.FindViewById(Resource.Id.nativead_callToAction);
            adView.LogoView         = adView.FindViewById(Resource.Id.nativead_logo);
            adView.AdvertiserView   = adView.FindViewById(Resource.Id.nativead_advertiser);

            // Some assets are guaranteed to be in every NativeContentAd.
            ((TextView)adView.HeadlineView).Text     = ad.Headline;
            ((TextView)adView.BodyView).Text         = ad.Body;
            ((TextView)adView.CallToActionView).Text = ad.CallToAction;
            ((TextView)adView.AdvertiserView).Text   = ad.Advertiser;

            IList <NativeAd.Image> images = ad.Images;

            if (images.Count > 0)
            {
                ((ImageView)adView.ImageView).SetImageDrawable(images[0].Drawable);
            }

            // Some aren't guaranteed, however, and should be checked.
            NativeAd.Image logoImage = ad.Logo;

            if (logoImage == null)
            {
                adView.LogoView.Visibility = ViewStates.Invisible;
            }
            else
            {
                ((ImageView)adView.LogoView).SetImageDrawable(logoImage.Drawable);
                adView.LogoView.Visibility = ViewStates.Visible;
            }

            // Assign native ad object to the native view.
            adView.SetNativeAd(ad);
        }
예제 #2
0
        public void SetNativeAd(UnifiedNativeAd nativeAd)
        {
            try
            {
                NativeAd = nativeAd;

                string store      = nativeAd.Store;
                string advertiser = nativeAd.Advertiser;
                string headline   = nativeAd.Headline;
                string body       = nativeAd.Body;
                //string cta = nativeAd.CallToAction;
                //int starRating = Convert.ToInt32(nativeAd.StarRating);
                NativeAd.Image icon = nativeAd.Icon;

                string secondaryText;

                //NativeAdView.CallToActionView=CallToActionView;
                NativeAdView.HeadlineView = PrimaryView;
                NativeAdView.MediaView    = MediaView;
                SecondaryView.Visibility  = ViewStates.Visible;
                if (AdHasOnlyStore(nativeAd))
                {
                    NativeAdView.StoreView = SecondaryView;
                    secondaryText          = store;
                }
                else if (!TextUtils.IsEmpty(advertiser))
                {
                    NativeAdView.AdvertiserView = SecondaryView;
                    secondaryText = advertiser;
                }
                else
                {
                    secondaryText = "";
                }

                PrimaryView.Text = headline;
                //CallToActionView.Text=cta;

                //  Set the secondary view to be the star rating if available.
                //if (starRating > 0)
                //{
                //    SecondaryView.Visibility=ViewStates.Gone;
                //    RatingBar.Visibility = ViewStates.Visible;
                //    RatingBar.Max=5;
                //    NativeAdView.StarRatingView=RatingBar;
                //}
                //else
                //{
                //    SecondaryView.Text=secondaryText;
                //    SecondaryView.Visibility = ViewStates.Visible;
                //    RatingBar.Visibility= ViewStates.Gone;
                //}

                if (string.IsNullOrEmpty(secondaryText))
                {
                    SecondaryView.Visibility = ViewStates.Gone;
                }
                else
                {
                    SecondaryView.Visibility = ViewStates.Visible;
                    SecondaryView.Text       = secondaryText;
                }

                if (icon != null)
                {
                    IconView.Visibility = ViewStates.Visible;
                    IconView.SetImageDrawable(icon.Drawable);
                }
                else
                {
                    IconView.Visibility = ViewStates.Gone;
                }

                if (TertiaryView != null && !string.IsNullOrEmpty(body))
                {
                    TertiaryView.Text     = body;
                    NativeAdView.BodyView = TertiaryView;
                }
                else if (TertiaryView != null)
                {
                    TertiaryView.Visibility = ViewStates.Gone;
                }

                NativeAdView.SetNativeAd(nativeAd);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
예제 #3
0
        public void SetNativeAd(UnifiedNativeAd nativeAd)
        {
            this.nativeAd = nativeAd;

            string store      = nativeAd.Store;
            string advertiser = nativeAd.Advertiser;
            string headline   = nativeAd.Headline;
            string body       = nativeAd.Body;
            string cta        = nativeAd.CallToAction;
            int    starRating = Convert.ToInt32(nativeAd.StarRating);

            NativeAd.Image icon          = nativeAd.Icon;
            string         secondaryText = string.Empty;

            nativeAdView.CallToActionView = callToActionView;
            nativeAdView.HeadlineView     = primaryView;
            nativeAdView.MediaView        = mediaView;
            secondaryView.Visibility      = ViewStates.Visible;
            if (AdHasOnlyStore(nativeAd))
            {
                nativeAdView.StoreView = secondaryView;
                secondaryText          = store;
            }
            else if (!string.IsNullOrEmpty(advertiser))
            {
                nativeAdView.AdvertiserView = secondaryView;
                secondaryText = advertiser;
            }

            primaryView.Text      = headline;
            callToActionView.Text = cta;

            //  Set the secondary view to be the star rating if available.
            if (starRating > 0)
            {
                secondaryView.Visibility    = ViewStates.Gone;
                ratingBar.Visibility        = ViewStates.Visible;
                ratingBar.Max               = 5;
                nativeAdView.StarRatingView = ratingBar;
            }
            else
            {
                secondaryView.Text       = secondaryText;
                secondaryView.Visibility = ViewStates.Visible;
                ratingBar.Visibility     = ViewStates.Gone;
            }

            if (icon != null)
            {
                iconView.Visibility = ViewStates.Visible;
                iconView.SetImageDrawable(icon.Drawable);
            }
            else
            {
                iconView.Visibility = ViewStates.Gone;
            }

            if (tertiaryView != null)
            {
                tertiaryView.Text     = body;
                nativeAdView.BodyView = tertiaryView;
            }

            nativeAdView.SetNativeAd(nativeAd);
        }