Android Google AdMob 广告接入示例

Android Google AdMob 广告接入示例

[TOC]

首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗!

其实这篇文章也只是记录我接入 AdMob 的过程,更具体的其实 Google 官方给的更详细(配图和视频还有GitHub 的demo 示例等),所以不想看官方(毕竟大部分英文)的可以看我写的,如果已经看了官方或者有了解了可以重点看我** 加粗 **的地方,方便你快速找到你想要的信息。

Google 官方引导:https://firebase.google.com/docs/admob/?hl=zh-cn

0. 什么是 AdMob ?

AdMob by Google 是一种移动广告平台,借助该平台您可从您的应用中获得可观的收入。将 AdMob 与 Firebase Analytics 相结合,您不仅可得到更多的应用使用量数据,而且可以提升分析能力。无需更改现有 AdMob 配置,Firebase 便可与 AdMob 集成在一起。

1. AdMob 广告的类型 ?

总共分四种。
分别为:Banner(横幅广告) 、Interstitial(插页广告)Rewarded Video(应用内购买广告)Native(原生广告)

  • Banner(横幅广告):最常见的,就是平时看到的屏幕的底部或者顶部有一个横条的广告条。
  • Interstitial(插页广告):类似启动页广告,整个屏幕显示一副广告。
  • Rewarded Video(应用内购买广告):这个玩国外游戏经常会看到,你看完一个广告视频,游戏会奖励你一些道具或者其他的什么(这个奖励是一个整数,在AdMob中可以设置数量,用户看完视频会得到这个数量的奖励,比如奖励3瓶药水,3条生命等。)。
  • Native(原生广告):这个是体验最好的广告形式,和原生app无缝对接,也许你已经见过一个列表的某个item内容展示的是广告,就是这种形式。

2. 以 Banner 广告为例,接入AdMob

2-1.账号

你需要 Google 账号,然后注册AdMob,如果有 Google 账号是可以直接登录的。
有了账号以后你才能继续!

NOTICE:如果 AdMob 登录页面打不开(其他页面是可以打开的),请务必禁止 AdBlock 等屏蔽广告的插件,或者手动添加白名单!!!

2-2. 在 AdMob 上创建新的项目

推荐你把 Google 官方的示例写一遍,不费事的。

在 AdMob 上创建新的项目,https://apps.admob.com/,中间提示你填写包名、项目名等,如实填写就可以。

最后完成时你的界面应该是这样的:

注意你的 APP id ,ad unit id,,并 下载 google-service.json配置文件。

2-3. Android Studio 项目配置

配置 Gradle

1.项目级 build.gradle

    dependencies {
        classpath ‘com.android.tools.build:gradle:x.x.x‘
        classpath ‘com.google.gms:google-services:3.0.0‘
    }

2.应用级 build.gradle

...
    dependencies {
            compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
            compile ‘com.android.support:appcompat-v7:xx.x.x‘
            compile ‘com.google.firebase:firebase-ads:10.2.1‘
        }
...
//apply plugin 语句位于底部
apply plugin: ‘com.google.gms.google-services‘

3.google-service.json

直接粘贴在应用级的根目录下,例如:YourProject/app/google-service.json

2-4. Eclipse 项目配置

2-5. xml 布局编写

主页面布局:activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

2-6. Activity 加载 Banner 广告

MainActivity.java 部分代码:

package ...

import ...
import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends ActionBarActivity {

    ...

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

        //加载广告
        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }

    ...

}

做完主要不要忘记权限:

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

2-7. Google AdMob Demo 地址

官方demo地址: https://github.com/googleads/googleads-mobile-android-examples

3. 效果图

在页面底部展示 Banner 广告条:

4. 注意事项

<: NOTICE :>

当你注册完 AdMob 账户,创建完项目,得到对应的 id ,准备进行测试时,你可能得到一些错误:failed to load ad 3,或者, There was a problem getting an ad response. ErrorCode: 0等。

请注意,你创建的项目需要等待一段时间才能测试使用,所以尽管你的代码和配置都是正确的,但还是收到错误。等待一段时间就好了,我大概过了2个多小时才正常。

<: NOTICE :> 关于 Rewarded Video(应用内购买广告)

你在测试时很大几率得到错误提示----failed to load ad 3,并且方法的失败回调响应了。

这只是系统没有什么广告返回给你而已,也就是应用内视频广告并不总是会有的。

错误信息可以在官网得到解释:

public static final int ERROR_CODE_NO_FILL  --> Constant Value: 3

The ad request was successful, but no ad was returned due to lack of ad inventory.
广告请求已成功,但由于缺少广告资源,没有返回任何广告。

更多错误信息可以查看官网:https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest

5. 总结

Google 的广告听说比较用心,实际效果不知如何,本文描述不全的或者日后有改动的都以官网为准。

官网:http://www.google.cn/admob/

enjoy!

时间: 2024-12-18 21:26:12

Android Google AdMob 广告接入示例的相关文章

Google Admob广告Android全攻略1

一.登录Google AdMob中文官网:http://www.google.cn/ads/admob/   ,注册帐号. 1.点击注册AdMob帐号 2.进入Google帐号注册页面,因为要创建一个AdMob帐号,必须先要一个Google帐号 如果你已经有一个Google的话,就可以直接登录,如果没有的话,就要注册,注册很简单,成功后,会给你的注册邮箱发一个邮件. 3.进入邮箱,打开邮件的连接,会提示你帐号已经激活. 你可以在选择绑定手机,这样你的Google账户更加的安全点. 4.再次登录G

Admob - Google广告接入

前言 现在免费小游戏及应用的主要收入渠道就是通过接入广告.而Google的Admob适用于全球范围内的广告接入,文档方面及后台管理也是较为完善,接入还是比较便捷的. 不过Google目前还在墙外,虽然接入后广告不需要vpn就可以显示访问,但是官网设置及文档还是需要梯子的. Admob应用广告申请设置  1.在admob网站注册帐号等.  https://apps.admob.com/ 2.在登录后点击   通过新的应用获利  按钮即可创建新的平台广告位. 3.添加完对应广告位后即可在   管理您

Google Admob移动广告快速集成步骤

Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads:17.2.0' 第二步:在清单文件中设置appID <application <!-- admob配置 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" <!-- 注

SDK接入(2)之Android Google Play内支付(in-app Billing)接入

SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之后,再来整理下Google Play in-app Billing支付的接入流程.众所周知,Google Play是Google Android官方的应用商店,也是将应用发布到世界各地一个重要的渠道.支付作为盈利的一个重要手段,可以借助Google in-app Billing api来达到目的.

Unity3d Android程序嵌入Admob广告条

原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140441353482/ Seems like using a simple Android JAR files inside a Unity Android project is not such a simple thing to do. I finally managed to get AdMob working in an existing Unity Android

cocos2d 使用 cocoapods 安装 google admob ads sdk

1.为什么要用cocoapods 我喜欢搞游戏的一个原因: 游戏不需要涉及太多变化的API.如果你搞多安卓和IOS原生开发就知道了.有些4.X能用的Android API,在2.X就不能用.IOS也是一样,IOS8有增加了不少API.游戏这块本质上就是在画布上画东西,比较纯粹. 软件开发最喜欢的就是使用第三方库.不用重复造轮子.但是接入的第三方库一多起来就会非常麻烦.各种依赖问题.后续升级问题.都是非常头痛. 游戏开发比较蛋疼的是接入各种广告SDK,渠道SDK.好像cocos2d 的AnySDK

Android应用盈利广告平台的嵌入方法详解

一.如何学习Android   android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具.对于过多的具体知识详细介绍我这里不展开,我只说我个人的学习方法和本人以为的好的步骤.   1.搭建环境:包括对Java和Eclipse及模拟器(有真机再好不过)的熟悉,对于android的tools和adb命令可以放到后面熟悉了解.   2.从helloworld开始:了解一个基本的android应用代码包含哪些,各部分做什么用.(这里只要

【iOS开发】在 App 中加入 AdMob 广告 - 入门介绍与编程技巧

前言 虽然在App中加入广告来盈利是比较低级的商业化方式,但对于个人开发者或者小团队开发者来说,做出一个简单易用的免费小工具(举个栗子),在里面加入一些广告,如果用的人多,也是可以带来一些可观的收入的.用户没有掏钱,得到了方便,开发者也得到了回报:) 我个人出于对金钱的考虑和对Google的信任,选择了AdMob这个平台来在App中投放广告(https://apps.admob.com 访问需要搭梯子,梯子为SS的用户最好全局代理,自动代理的话访问起来会很卡). 就目前来看,我果还是不太擅长移动

source.android.google &amp;&amp; developer.android.google

https://source.android.google.cn/ https://developer.android.google.cn/ android源代码各个版本在线查看网址 http://androidxref.com/ https://www.androidos.net.cn/ https://www.androidos.net.cn/sourcecode  不错 https://github.com/aosp-mirror  不错 https://github.com/aosp-m