将来自google ad mob的原生广告从api

时间:2017-08-27 10:02:25

标签: android google-admob

我有一个recycler view,我从api获取数据,现在我需要添加来自广告暴徒的原生广告,但我不知道这将如何工作,我创建一个原生广告添加暴徒和我有钥匙,但我不知道如何,但添加回收器请帮助

这是我的适配器

public class SuggestRecycler_Adapter extends RecyclerView.Adapter<SuggestRecycler_Adapter.Item_Holder> {
    private int lastPosition = -1;
    int count = 0;
    private InterstitialAd mInterstitialAd;
    private AdRequest adRequest;
    Context context;
    List<ResultModel> models;
    RecyclerView.ViewHolder viewHolder;

    public SuggestRecycler_Adapter(Context context, List<ResultModel> resultModels) {
        this.context = context;
        this.models = resultModels;
    }


    @Override
    public Item_Holder onCreateViewHolder(ViewGroup parent, int viewType) {
        View row = LayoutInflater.from(parent.getContext()).inflate(R.layout.suggest_items, parent, false);
        Item_Holder holder = new Item_Holder(row);

        return holder;
    }

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public void onBindViewHolder(Item_Holder holder, final int position) {

        holder.setIsRecyclable(false);
        holder.textView_name.setText(models.get(position).getName());
        isCJK(models.get(position).getName());
        Log.d("ARAAAAA", isCJK(models.get(position).getName()));
        holder.ISOpen.setText("Opened Now");


        Animation animation = AnimationUtils.loadAnimation(context,
                R.anim.up_from_bottom);
        holder.itemView.startAnimation(animation);
        lastPosition = position;
    }

    @Override
    public int getItemCount() {
        return models.size();
    }

    public class Item_Holder extends RecyclerView.ViewHolder {
        TextView textView_name, ISOpen;
        RatingBar re_star;
        ImageView imageView_re, IMAGE_NAV;
        public Item_Holder(View itemView) {
            super(itemView);
            textView_name = (TextView) itemView.findViewById(R.id.textView);
            imageView_re = (ImageView) itemView.findViewById(R.id.imageView3);
            IMAGE_NAV = (ImageView) itemView.findViewById(R.id.imageView4);
            re_star = (RatingBar) itemView.findViewById(R.id.ratingBar);
            ISOpen = (TextView) itemView.findViewById(R.id.textView2);
            re_star.setLayoutParams(new LinearLayout.LayoutParams(RecyclerView.LayoutParams.WRAP_CONTENT, RecyclerView.LayoutParams.WRAP_CONTENT));
        }
    }

}

1 个答案:

答案 0 :(得分:0)

首先,根据您的要求,决定是否按照here所述使用Native Ads Express或Advanced。对于Native Ads Express,您可能需要阅读用户指南here

这里有一个关于如何加载NativeExpressAddView的示例:

public class MainActivity extends AppCompatActivity {

    private static String LOG_TAG = "EXAMPLE";

    NativeExpressAdView mAdView;
    VideoController mVideoController;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Locate the NativeExpressAdView.
        mAdView = (NativeExpressAdView) findViewById(R.id.adView);

        // Set its video options.
        mAdView.setVideoOptions(new VideoOptions.Builder()
                .setStartMuted(true)
                .build());

        // The VideoController can be used to get lifecycle events and info about an ad's video
        // asset. One will always be returned by getVideoController, even if the ad has no video
        // asset.
        mVideoController = mAdView.getVideoController();
        mVideoController.setVideoLifecycleCallbacks(new VideoController.VideoLifecycleCallbacks() {
            @Override
            public void onVideoEnd() {
                Log.d(LOG_TAG, "Video playback is finished.");
                super.onVideoEnd();
            }
        });

        // Set an AdListener for the AdView, so the Activity can take action when an ad has finished
        // loading.
        mAdView.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                if (mVideoController.hasVideoContent()) {
                    Log.d(LOG_TAG, "Received an ad that contains a video asset.");
                } else {
                    Log.d(LOG_TAG, "Received an ad that does not contain a video asset.");
                }
            }
        });

        mAdView.loadAd(new AdRequest.Builder().build());
    }
}
相关问题