获得ID和JAR包后具体做法如下:
注意:admob要求的最低版本为android1.5,目标编译版本最低为android3.2,即
android:minSdkVersion="3"
android:targetSdkVersion="13"
若targetSdkVersion无法满足,请在项目上点击右键->Properties->Android,选在Project Build Target,然后点击Apply,OK保存即可。
1.首先是将JAR包导入到eclipse
最新版的ADT和SDK在导入JAR包的时候,应该先将JAR包Copy到libs目录下再通过Build Path导入,否则会出现错误。
2.在AndroidManifest.xml中声明com.google.ads.AdActivity
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.adtest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
注意
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize",如果android:targetSdkVersion低于13这里会报错。
3.申请网络权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
4.以上做好编译无错误后就可以具体写java和布局文件了
广告的显示有两种方式:一是直接在XML中布局显示,二是通过代码动态加入。
方法一:xml中布局显示:
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adUnitId=“MY_AD_UNIT_ID”
ads:adSize="BANNER"
ads:loadAdOnCreate="true"/>
方法二:通过JAVA代码动态加入:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
adView = new AdView(this, AdSize.BANNER,"a151ca4d8cc2454")
LinearLayout layout = (LinearLayout)findViewById(R.id.layout1)
// Add the adView to it
layout.addView(adView)
// Initiate a generic request to load it with an ad
adView.loadAd(new AdRequest())
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
if (adView != null) {
adView.destroy()
}
super.onDestroy()
}
OK,就是这么简单。
转载
先简单的描述一下在广告方面遇到的问题.开发一款App有了一定的用户量之后通常会想接入第三方广告来实现变现,
然而在很多市场不让这类带广告的App上架,除非接的是他们家的广告.
在这里我只能呵呵了.这点困难就想难倒我们.
那接下来ShowTime.怎么做呢?
没错,就是插件化.
以广点通广告为例
这里我使用的是360开源的 RePlugin ,具体介绍和使用方法请看官方文档.
一. RePlugin插件接入指南
第 1 步:添加 RePlugin Plugin Gradle 依赖
在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-plugin-gradle 依赖:
第 2 步:添加 RePlugin Plugin Library 依赖
在 app/build.gradle 中应用 replugin-plugin-gradle 插件,并添加 replugin-plugin-lib 依赖:
接下来您就可以像正常接入广告那样,开发插件。生成出来的是APK,既可以“安装到设备”,又可以“作为插件”使用。
二. RePlugin主程序接入指南
第 1 步:添加 RePlugin Host Gradle 依赖
在项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-host-gradle 依赖:
第 2 步:添加 RePlugin Host Library 依赖
在 app/build.gradle 中应用 replugin-host-gradle 插件,并添加 replugin-host-lib 依赖:
第 3 步:配置 Application 类
三. 宿主App 调用 插件广告
1.编译插件广告,将生成的xx.apk包重命名xx.jar
将 xx.jar放到宿主App的 assets/plugins 目录下 , Replugin将会自动获取该内置插件
2.处理广点通开屏广告
由于广点通开屏广告的展示点击都由SDK封装处理了.
我们这里采用的方式是,由宿主跳转到插件的闪屏页,在插件中完成请求,展示,点击结束后回到宿主的主页面.
(1)宿主跳转到插件Activity
(2)插件开屏广告请求处理,就按正常的广告逻辑走
(3)插件回到宿主的主页面
(4)宿主的清单文件中添加必要配置,否则广告无反应
注意 : 尽量使宿主和插件的包名一致,已避免广告无收益
3.处理广点通原生广告
广点通原生广告不同于开屏广告,其展示曝光和点击曝光都由自己处理.
我们只能通过反射的方案去请求广告
(1)在插件中先对广告请求做一层封装
(2)宿主中反射LoadManager的requestNativeAD()方法
a.拿到插件的ClassLoader
b.取得需要反射的类
c.由于请求广告的requestNativeAD()方法中有一个参数是接口.
(这里得使用动态代理)
取得被代理接口
d.接下来就是反射请求接口了
注意传入的Context必须是插件的Context
e.在动态代理中取得回调
这里我使用了EventBus将回调的广告传到请求的界面中
点击曝光的反射
四.最后,第一次写文章,欢迎点评
宿主App : https://github.com/AndWong/RePluginHostForAD/tree/master/app
插件App : https://github.com/AndWong/RePluginHostForAD/tree/master/pluginApp
Android Studio安装插件的方式其实和Eclipse大同小异。废话不多说,直接上图:区域1:你当前已经安装了的插件
区域2:在线安装
区域3:从硬盘安装,即针对你已经下载好了的插件,可通过这项选择到你下好的插件,进行安装。
还有一个Install JetBrains plugin其实和区域2是一样的,只是这边将JetBrains类型的插件放一起了,便于安装而已。
这边再讲下区域2,点击出现下图,可以直接在输入框中搜索你要安装的插件,然后点击右边的install按键即可。
比如我要安装Findbugs:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)