Facebook native ad won't click: Android <p>I am creating a native ad on android using audience network. The problem is that the ads are shown but do not click.Whenever I click on any of the views I registered for clicking the ad, nothing happens. I am loading the ads into a custom listView with a custom adapter:</p> <pre><code>static StaticListView turning_up_lv; //My custom listview private static void showNativeAd() { nativeAd = new NativeAd(context, AD_ID); nativeAd.setAdListener(new AdListener() { @Override public void onError(Ad ad, AdError error) { } @Override public void onAdLoaded(Ad ad) { if (ad != nativeAd) { return; } isAdLoaded = true; if ((turning_up_lv.getAdapter()) != null &amp;&amp; turning_up_lv.getCount() &gt; 3) { ((MyAdapter) turning_up_lv.getAdapter()).addNativeAd(ad, false); } } @Override public void onAdClicked(Ad ad) { } }); nativeAd.loadAd(NativeAd.MediaCacheFlag.ALL); } </code></pre> <p>Here is the code for the custom listview:</p> <pre><code>public class StaticListView extends ListView { public StaticListView(Context context) { super(context); } public StaticListView(Context context, AttributeSet attrs) { super(context, attrs); } public StaticListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, MeasureSpec.AT_MOST)); getLayoutParams().height = getMeasuredHeight(); } </code></pre> <p>}</p> <p>And finally here is the part where I load the ad into the adapter. Note that I have removed some irrelevant parts since the adapter is so long</p> <pre><code> @Override public View getView(final int position, View convertView, final ViewGroup parent) { View row = convertView; MyViewHolder holder; if (row == null) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); row = inflater.inflate(R.layout.turning_up_item, parent, false); holder = new MyViewHolder(row); row.setTag(holder); } else { holder = (MyViewHolder) row.getTag(); } if (position == AD_INDEX &amp;&amp; ad != null) { inflateAd((NativeAd) ad, holder, row); } else { //Load other listview items } } </code></pre> <p>Here is the code for inflating the ad:</p> <pre><code>private void inflateAd(final NativeAd nativeAd, MyViewHolder holder, final View view) { // Create native UI using the ad metadata. // Setting the Text holder.time_tv.setText("Sponsored"); holder.native_ad_social_context.setText(nativeAd.getAdSocialContext()); holder.native_ad_call_to_action.setText(nativeAd.getAdCallToAction()); holder.native_ad_call_to_action.setVisibility(View.VISIBLE); holder.un_tu.setText(nativeAd.getAdTitle()); holder.comment_or_caption_tv.setText(nativeAd.getAdBody()); // Downloading and setting the ad icon. NativeAd.Image adIcon = nativeAd.getAdIcon(); NativeAd.downloadAndDisplayImage(adIcon, holder.ad_iv); // Downloading and setting the cover image. NativeAd.Image adCoverImage = nativeAd.getAdCoverImage(); int bannerWidth = adCoverImage.getWidth(); int bannerHeight = adCoverImage.getHeight(); DisplayMetrics metrics = context.getResources().getDisplayMetrics(); int mediaWidth = holder.native_ad_media.getWidth() &gt; 0 ? holder.native_ad_media.getWidth() : metrics.widthPixels; holder.native_ad_media.setLayoutParams(new LinearLayout.LayoutParams( mediaWidth, Math.min( (int) (((double) mediaWidth / (double) bannerWidth) * bannerHeight), metrics.heightPixels / 3))); holder.native_ad_media.setAutoplay(AdSettings.isVideoAutoplay()); holder.native_ad_media.setNativeAd(nativeAd); addLoadedToMediaView = true; final ArrayList&lt;View&gt; clickableViews = new ArrayList&lt;&gt;(); clickableViews.add(holder.native_ad_media); clickableViews.add(holder.native_ad_social_context); clickableViews.add(holder.native_ad_call_to_action); nativeAd.registerViewForInteraction(view, clickableViews); } </code></pre>