Android穿山甲banner广告穿插到项目的banner中

Android穿山甲banner广告穿插到项目的banner中

项目中的banner需要用第三库的banner,目前是在下面的banner库测试可以

java 复制代码
implementation 'io.github.youth5201314:banner:2.2.2'

用自己写的banner会显示不了穿山甲banner的,我也不知道为什么。

给下banner加入穿山甲banner的代码:

java 复制代码
private void loadExpressAd(String codeId,int position,FrameLayout express_container) {

        //step4:创建广告请求参数AdSlot,具体参数含义参考文档
        if (mTTAdNative == null){
            mTTAdNative = TTAdManagerHolder.get().createAdNative(mContext);
        }

        AdSlot adSlot = new AdSlot.Builder()
                .setCodeId(codeId) //广告位id
                .setAdCount(1) //请求广告数量为1到3条
                .setIsAutoPlay(false)
                .setExpressViewAcceptedSize(Utils.getScreenWidth(mContext,true) , (Utils.getScreenWidth(mContext,true) )/2) //期望模板广告view的size,单位dp
                .build();
        //step5:请求广告,对请求回调的广告作渲染处理

        mTTAdNative.loadBannerExpressAd(adSlot, new TTAdNative.NativeExpressAdListener() {
            @Override
            public void onError(int code, String message) {

                RxJavaUtil.delayTimeTodo((RxAppCompatActivity) mContext, 500, new RxJavaUtil.DelayTodoListener() {

                    @Override
                    public void delayTodo() {
                        remove(position);
                    }
                });
            }

            @Override

            public void onNativeExpressAdLoad(List<TTNativeExpressAd> ads) {
                if (ads == null || ads.size() == 0) {
                    return;
                }
                /*******************
                 * 如果旧广告对象不使用了,在替换成新广告对象前,必须进行销毁,否则可能导致多个广告对象同时存在,影响SSR
                 */
                if (mTTAd != null && express_container.getChildCount() > 0) {
                    mTTAd.destroy();
                }
                /********************/

                mTTAd = ads.get(0);
                // 不用轮播
                mTTAd.setSlideIntervalTime(0);
                bindAdListener(mTTAd,position,express_container);
                mTTAd.render();

            }
        });
    }

    private void bindAdListener(TTNativeExpressAd ad,int position,FrameLayout express_container) {

        ad.setExpressInteractionListener(new TTNativeExpressAd.ExpressAdInteractionListener() {
            @Override

            public void onAdClicked(View view, int type) {

            }

            @Override

            public void onAdShow(View view, int type) {

            }

            @Override
            public void onRenderFail(View view, String msg, int code) {
                RxJavaUtil.delayTimeTodo((RxAppCompatActivity) mContext, 500, new RxJavaUtil.DelayTodoListener() {

                    @Override
                    public void delayTodo() {
                        remove(position);
                    }
                });
            }

            @Override
            public void onRenderSuccess(View view, float width, float height) {

                if (view.getParent() == null){
                    express_container.addView(view);
                }
                express_container.setVisibility(View.VISIBLE);
            }
        });
        //dislike设置
        bindDislike(ad,position);

关键还是用那个第三方banner库

相关推荐
星空语3 小时前
音频001_Android+Linux车载/手机音频全链路分层架构图
android·linux·音视频
CyL_Cly3 小时前
解决官网下载慢!Android Studio 最新版网盘下载
android·ide·android studio
智塑未来3 小时前
鸿蒙系统对比安卓、iOS,核心优势是什么?
android·ios·harmonyos
AI刀刀4 小时前
豆包智能体对话导出后,如何构建长期归档与高效检索体系?
android·人工智能·word·excel·ai导出鸭
初雪云5 小时前
iOS 上架入门:证书、描述文件、IPA 上传到底是什么关系?
android·ios·自动化·产品经理·iphone
玩机达人888 小时前
一加12/Ace5/Ace3pro手机ColorOS16降级回锁BL熔断变黑砖怎么办
android·智能手机·电脑
Digitally8 小时前
使用 USB 数据线将文件从安卓设备传输到电脑
android·电脑
xieliyu.9 小时前
MySQL 六大基础约束详解:NOT NULL/DEFAULT/UNIQUE/ 主键 / 外键 / CHECK
android·数据库·sql·mysql
知行合一。。。9 小时前
LangChain--06--结构化输出(Structured Output)
android·java·langchain
2501_9159184110 小时前
PerfDog 太贵?iOS 性能监控工具的功能对比与选择
android·ios·小程序·https·uni-app·iphone·webview