使用 Admob 在 Android 中实现原生广告?是否可以?

2023-11-21

我正在尝试在我的 Android 应用程序中实现原生广告。但我只想使用 admob 来做到这一点。我搜索了很多解决方案,但找不到确切的解决方案。

我知道可以使用MoPub.

What I wanted to do is this: Show ads inside list item which means one of the ListView/RecyclerView item can be one ad like below image. Image

我找到了一些链接和参考资料,但这并不能解释原生广告的正确实施。

Link 1:原生广告概述

Link 2: DFP Android 指南 > 定位

Link 3:DFP 广告管理系统快速入门指南

如果使用 admob 无法做到这一点,MoPub现在对我来说是最好的解决方案。

任何帮助和指导都会有所帮助。谢谢。


最近我遇到了同样的问题。然后我决定将我的解决方案发布到适配器。希望它能帮助你。

The 基本用法可能看起来像:

    ListView lvMessages;
    AdmobAdapterWrapper adapterWrapper;    

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

    /**
     * Inits an adapter with items, wrapping your adapter with a {@link AdmobAdapterWrapper} and setting the listview to this wrapper
     * FIRST OF ALL Please notice that the following code will work on a real devices but emulator!
     */
    private void initListViewItems() {
        lvMessages = (ListView) findViewById(R.id.lvMessages);

        //creating your adapter, it could be a custom adapter as well
        ArrayAdapter<String> adapter  = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1);

        adapterWrapper = new AdmobAdapterWrapper(this);
        adapterWrapper.setAdapter(adapter); //wrapping your adapter with a AdmobAdapterWrapper.
        //here you can use the following string to set your custom layouts for a different types of native ads
        //adapterWrapper.setInstallAdsLayoutId(R.layout.your_installad_layout);
        //adapterWrapper.setcontentAdsLayoutId(R.layout.your_installad_layout);

        //Sets the max count of ad blocks per dataset, by default it equals to 3 (according to the Admob's policies and rules)
        adapterWrapper.setLimitOfAds(3);

        //Sets the number of your data items between ad blocks, by default it equals to 10.
        //You should set it according to the Admob's policies and rules which says not to
        //display more than one ad block at the visible part of the screen,
        // so you should choose this parameter carefully and according to your item's height and screen resolution of a target devices
        adapterWrapper.setNoOfDataBetweenAds(10);

        //It's a test admob ID. Please replace it with a real one only when you will be ready to deploy your product to the Release!
        //Otherwise your Admob account could be banned
        //String admobUnitId = getResources().getString(R.string.banner_admob_unit_id);
        //adapterWrapper.setAdmobReleaseUnitId(admobUnitId);

        lvMessages.setAdapter(adapterWrapper); // setting an AdmobAdapterWrapper to a ListView

        //preparing the collection of data
        final String sItem = "item #";
        ArrayList<String> lst = new ArrayList<String>(100);
        for(int i=1;i<=100;i++)
            lst.add(sItem.concat(Integer.toString(i)));

        //adding a collection of data to your adapter and rising the data set changed event
        adapter.addAll(lst);
        adapter.notifyDataSetChanged();
    }

And the result将如下所示

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Admob 在 Android 中实现原生广告?是否可以? 的相关文章

  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • GridView 中多次调用 getView()

    我的 Activity 由包含 40 多个元素的 GridView 组成 开始活动后 用户最多可以看到 15 个项目 3 行 每行 5 个项目 我在 getView 正文中编写传递给获取 View 的 LogCat 编号 Log i get
  • 将正确的上下文传递给 greendao 的 OpenHelper 构造函数

    如果我理解正确的话 在使用数据库时 我必须执行以下操作 DaoMaster OpenHelper helper new DaoMaster OpenHelper this test db null Override public void
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • 有人尝试过用 C 或 C++ 为 Blackberry 平台进行开发吗?

    根据我在嵌入式计算方面的经验 我得到的每一个迹象都是 做这样的事情需要昂贵的设备才能访问平台 ICE 调试器 JTAG 探针 I2C 编程器等 但我一直想知道是否一些雄心勃勃的黑客已经找到了一种在黑莓设备上加载本机代码的方法 任何人 编辑
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • Web 视图未在 Android 中加载本地 html 文件

    I am integrating html in android I have created a web view But i am not able load local html page Surprisingly web view
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • 从 TextView 中显示的数字中删除小数点[重复]

    这个问题在这里已经有答案了 对于我的简单计算器 我将结果显示在TextView 但它总是显示小数 我怎样才能删除它们 这是我的代码 public class MainActivity extends Activity implements
  • BottomSheetDialog get Behavour 始终返回 null

    我与底部表单对话框我必须获得行为才能设置setBottomSheetCallback 来处理一些事情 As 谷歌说 https android developers googleblog com 2016 02 android suppor
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • FCM onMessageReceived 应用程序运行时返回空白消息和标题

    正如您在标题中所写 当应用程序关闭时 它运行良好 并且onMessageReceived获取消息正文和标题 但如果应用程序处于前台模式 运行模式 则可以发送通知 但没有消息和标题 请问该怎么办 代码 Override public void
  • 安卓的限制

    我需要构建一个应用程序 该应用程序拍摄相机图像并将其上传到网络 在网络上进行一些处理并返回真 假 我在这方面遇到了一些问题 希望得到澄清 1 我的应用程序有什么方法可以知道 Android 相机捕获的图像吗 我从这里明白了什么 Androi
  • 按字母顺序过滤 Firestore 数据以对 Google Cloud 中的文档读取进行分类/减少

    基于这样的事实Cloud Firestore 不支持全文搜索 https firebase google com docs firestore solutions search到目前为止 我决定问这个question https stack
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • Android:解析 XML 数据的最佳解析器 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发一个应用程序 其中我第一次要解析来自远程服务器的 xml 文件中的数据 但我无法选择哪个解析器是有效的或最适合解析的 因为我知道主要有
  • 在没有 Wifi 的情况下获取 Android 设备的 MAC 地址

    如何获取没有 Wifi 接口的 Android 设备 例如 Android 模拟器 的网络接口的 MAC 地址 通过WifiManager返回获取的WifiInfonull EDIT 更清楚地说 我必须与本地网络上的现有网络协议 不是我设计
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示

随机推荐

  • 为什么我必须使用[ProtoIninclude]?

    我读过很多关于 protobuf net 继承功能的问题 我只是想知道是否可以像使用 ProtoContract ProtoMember 一样使用 DataContract DataMember 为什么我不能使用 KnowType 而不是使
  • 意外的观察:数组的 var_dump() 正在标记引用的元素...从什么时候开始?

    我刚刚对数组运行了一些简单的调试测试 并注意到当我对数组执行 var dump 时 输出会标记数组中由另一个变量引用的任何元素 作为一个简单的实验 我运行了以下代码 array range 1 4 var dump array echo b
  • UItableView 在滚动时加载数据

    在我的应用程序中 我从网络服务获取数据 并且必须在 UITableView 中显示它 但这里的条件是我最初只能显示 10 条记录 然后一旦用户向下滚动我就必须加载更多记录 我尝试搜索它但没有得到任何有用的答案 我同意我将使用 void ta
  • 直接索引 numpy 数组的时间复杂度是多少

    我假设当有一个 numpy 数组时 比方说 gt gt gt gt nArray array 23425 521331 40625 23465 521246 03125 23505 528602 8125 23545 531934 75 2
  • 为什么 print 函数返回 None?

    为什么外层print在此代码中显示None gt gt gt a print print Python Python None gt gt gt print type a
  • 在 iPhone SDK 中创建自定义活动指示器?

    我还没有找到任何使用自定义活动指示器的应用程序 将是老式的动画 GIF 来代替 Apple 提供的旋转轮 是否有工具可以做到这一点 或子类 UIActivityIndi catorView 开发人员是否滚动自己的 UIView 或者这是否违
  • 具有代码完成功能的最小 PHP IDE? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有很多小型编辑器 例如 Notepad vim 和 SciTE 但它们一次只能处理一个文件 换句话说 他们不知道代码库的整个范围 另一方面 我见过的
  • 使用 fputcsv 从多维数组创建 CSV

    我正在尝试将多维数组放入 csv 文件中 数组中的数据是这样的 Array 0 gt Array product id gt 1111 name gt Alcatel One Touch Idol 2 keyword gt alcatel
  • C++11 的 std::string 的底层表示形式是否保证具有终止空字符? [复制]

    这个问题在这里已经有答案了 首先摘录一些标准 规格string operator const reference 运算符 size type pos const 引用运算符 size type pos Requires pos Return
  • time.time() 无法在 Cython 中运行 while 循环预定时间

    我有一个 Python 模块 其中包含一个 while 循环 该循环应该运行固定的时间 我通过向 time time 的输出添加一个常量并运行直到 time time 大于该变量来完成此操作 这没有出现任何问题 但同样的事情在 Cython
  • 如何使用相机测量物体的高度、宽度和距离? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我引用了很多链接 但我仍然无法从中得到任何可以开始我的开发的信息 我想用相机测量图像的高
  • 使用预处理器将 JSON 作为字符串嵌入到 C++ 代码中

    我在 Chromium 项目中看到了 C 和 JSON 代码的混合 例如在这个文件中 配置 software rendering list json cc 这个宏有魔力吗 define LONG STRING CONST VA ARGS 它
  • add 和 iadd 之间的区别?

    我不明白 iadd imul 等就地运算符的用途 许多操作都有 就地 版本 以下功能 为就地运算符提供比通常更原始的访问 语法确实如此 例如 语句 x y 相当于 x 运算符 iadd x y 另一种表达方式是 z operator iad
  • 使用 Tensorflow 进行多任务深度学习

    有人尝试过使用 TensorFlow 进行多任务深度学习吗 也就是说 共享底层而不共享顶层 一个带有简单说明的例子会有很大帮助 有一个类似的问题here 答案使用了keras 只使用张量流时也是类似的 这个想法是这样的 我们可以定义网络的多
  • 为什么 powershell 控制台错误地调整了我的 GUI 表单的大小?

    我想在 1920 x 1080 像素的 Windows 11 屏幕上打开特定尺寸的 powershell GUI 表单 设置中的系统缩放比例设置为 125 这不可能是一个不寻常的配置 作为测试 我尝试打开一个大小为屏幕四分之一的窗体 如下所
  • Pandas Dataframe 日期时间切片与索引与多索引

    使用单个索引数据框 我可以执行以下操作 df2 DataFrame data data 1 2 3 index Index dt 2016 1 1 dt 2016 1 2 dt 2016 2 1 gt gt gt df2 2016 01 2
  • CLGeocoder 仅返回一个地标

    我在 CLGeocoder 上遇到问题 当我打电话时geocodeAddressString withCompletionHandler尽管知道输入的字符串应该返回多个值 但我只得到一个结果 类参考甚至指出 在前向地理编码请求的情况下 如果
  • 添加 runat="server" 会更改布局的行为

    我有一个带有一些控件 用户控件等的页面 当我从普通更改 div 时 div to a div 布局完全改变 这是为什么 我该如何预防 我正在使用 2 0 NET 框架 是因为 NET 改变了我的 id 这显然是我不想要的吗 如果您在 CSS
  • 除法和浮点数

    任何人都可以帮助我为什么 x2 打印零 我想因为浮点表示 X1 被四舍五入 有没有办法保持进动 long double x1 x2 x1 0 087912088 Note 360 4095 0 087912088 x2 360 4095 p
  • 使用 Admob 在 Android 中实现原生广告?是否可以?

    我正在尝试在我的 Android 应用程序中实现原生广告 但我只想使用 admob 来做到这一点 我搜索了很多解决方案 但找不到确切的解决方案 我知道可以使用MoPub What I wanted to do is this Show ad