?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
安装AdMob PhoneGap插件
使用https://github.com/admob-google/admob-cordova下载插件,然后本地安装
添加cordova plugin c:\phonegap-admob-plugin,或者在线安装cordova 插件。
cordova plugin add com.admob.plugin
使用PhoneGap命令下载插件,然后本地安装
添加 phonegap plugin c:\phonegap-admob-plugin。
使用PhoneGap的生成,增加配置
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2.init AdMob PhoneGap插件
初始化插件后deviceready事件
admob.initAdmob("admob banner ID","admob interstitial ID")
3.展示横幅的位置关系
AdMob里有一些横幅大小,BannerSize,你可以创建自己的横幅大小在AdMob广告平台可用,位置容纳所有的相对位置常量。
<uses-feature android:name="android.hardware.microphone" android:required="false" />
可以设置为AdMob的更多的参数,如测试模式,适用于应用程序。
var admobParam=new admob.Params()
//admobParam.extra={'keyword':"admob phonegame"}
//admobParam.isForChild=true
admobParam.isTesting=trueadmob.showBanner(admob.BannerSize.BANNER,admob.Position.TOP_CENTER,admobParam)
4.在绝对位置显示横幅
你可以放置AdMob横幅在绝对位置比关系位置容易。
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
5.显示AdMob的插播
显示AdMob插播中的PhoneGap,cordova或 xdk应用是相同的步骤。缓存插播,然后它显示在onInterstitialReceive功能或显示它时,你的游戏结束了。
document.addEventListener(admob.Event.onInterstitialReceive, onInterstitialReceive, false)//show in ad receive event fun need add receive listener
admob.cacheInterstitial() // load admob Interstitial
function onInterstitialReceive(message) { //show in ad receive event fun
admob.showInterstitial()
}
function onGameOver(){//call this fun to show when game over
admob.isInterstitialReady(function(isReady){
if(isReady){
admob.showInterstitial()
}
})
}
6.处理AdMob的广告活动
你可以处理AdMob的所有本地事件,作为onInterstitialReceive,在admob.Event所有事件类型
function onAdmobEvent (message) {
//do some on admob event
}
document.addEventListener(admob.Event.onBannerDismiss, onAdmobEvent, false)
document.addEventListener(admob.Event.onBannerFailedReceive, onAdmobEvent, false)
document.addEventListener(admob.Event.onBannerLeaveApplication, onAdmobEvent, false)
document.addEventListener(admob.Event.onBannerPresent, onAdmobEvent, false)
document.addEventListener(admob.Event.onBannerReceive, onAdmobEvent, false)
document.addEventListener(admob.Event.onInterstitialDismiss, onAdmobEvent, false)
document.addEventListener(admob.Event.onInterstitialFailedReceive, onAdmobEvent, false)
document.addEventListener(admob.Event.onInterstitialLeaveApplication, onAdmobEvent, false)
document.addEventListener(admob.Event.onInterstitialPresent, onAdmobEvent, false)
document.addEventListener(admob.Event.onInterstitialReceive, onAdmobEvent, false)
7.更多功能
• 隐藏AdMob的横幅
admob.hideBanner()
• 如果插播加载成功进行测试
admob.isInterstitialReady(function(isReady){
if(isReady){
alert("admob Interstitial loaded")
}
})
在config.xml中插件可以用来通过配置插件(为每个应用程序构建phonegap构建服务,你需要有一个config.xml文件在你的根文件夹)。
据Cordova队公布,Cordova注册表已过时,所有的插件都搬到了npm, 并更名为"cordova-plugin-xxx"。
在你的config.xml文件:
<uses-permission android:name="android.permission.RECORD_AUDIO" />或
<uses-feature android:name="android.hardware.microphone" android:required="false" />
使用那个插件标识?
请注意,有两个插件之间的一些细微的差别:
• cordova-plugin-admobpro, 在你的Android SDK中它使用默认的jar,需要构建Gradle的Android apk。看到它的plugin.xml:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
• cordova-plugin-admob,它依赖于一个插件包含了google-play-services.jar,可以使用这些工具代替Gradle。看到它的plugin.xml:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
PhoneGap构建是否支持Gradle看
请检查来自PhoneGap构建的新闻在他们的网页:
• 2015/9/29: Android的建立使用PhoneGap4+,现在使用@phonegapbuild 上的Gradle!查看博客:...更多的信息和警告!
• 2015/9/30:在新的Android gradle构建上有一些问题!我们已经再次恢复默认构建与ant。很抱歉的麻烦。
• 2015/9/30: @PhoneGapBuild会将gradle问题更新排序。
示例
查看全部config.xml文件:
然后你可以在你的javascript代码中调用AdMob插件(deviceready事件触发之后)。
你的index.html:
keymob.isInterstitialReady(function (isReady) {
if (isReady) {
alert("Interstitial is load success,you can show it now")
}
})
keymob.showInterstitial()
keymob.isInterstitialReady(function (isReady) {
if (isReady) {
keymob.showInterstitial()
}
})
function onAdReceive(message) {
if(message.adtype==keymob.AdTypes.INTERSTITIAL){
alert(message.adtype + message.adapter+" ,you can show it now")
}
//keymob.showInterstitial()//show it when received
}
document.addEventListener(keymob.AdEvent.ON_LOADED_SUCCESS, onAdReceive, false)
建立与APP的PhoneGap构建
把你的代码放置在,从来源于的PhoneGap构建添加应用。
这是用一个简单的PhoneGap构建演示项目(与index.html和config.xml)。
建立并得到你的应用程序包,如果构建通过。
官方文档 http://cordova.axuer.com/docs/zh-cn/latest/guide/cli/index.html
cordovaApp,com.my.demo,demo依次代表文件夹名,默认反向域值 ,app应用名
src/package.json文件build后面添加&&((robocopy .\dist ..\www /MIR) &exit 0)
/src项目根目录下
cordova根目录下
PS:真机调试时,手机需在设置中打开开发者模式,如果找不到开发者模式,可以在关于手机中连续点击版本号
以相机插件为例,官方文档地址 点击查看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)