我在我的phonegap / cordova(版本3.4)安卓应用中使用此插件:https://github.com/floatinghotpot/cordova-plugin-admob
最近(8天前)我注意到autor更新到新的google play服务sdk而不是旧的admob sdk,所以我正在尝试使用这个新的sdk。我已经将lib安装到我的项目中,所有这些都在工作和编译。但是当我运行插件示例代码时,或者只是这样:
window.plugins.AdMob.createBannerView( { 'publisherId' : '...............', 'adSize' : am.AD_SIZE.BANNER, 'bannerAtTop' : true }, function() {}, function() {} );
应用程序因此错误崩溃:“03-06 20:40:20.063:A / libc(6949):致命信号6(SIGABRT)位于0x00000223(代码= 0),线程6949”
如果我只删除该功能,页面加载良好..任何人都知道发生了什么或已经使用新的sdk?
编辑:我决定在没有插件的情况下做自己。此代码有效,广告已在展示。这看起来是否正确以及新框架所需要的一切?@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
// Set by <content src="index.html" /> in config.xml
super.loadUrl(Config.getStartUrl());
//super.loadUrl("file:///android_asset/www/index.html")
// Set ad settings
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
adView.setAdSize(AdSize.SMART_BANNER);
// Layout
LinearLayout layout = super.root;
layout.addView(adView);
// Request and show ad
AdRequest request = new AdRequest.Builder().build();
adView.loadAd(request);
}
@Override
public void onResume() {
super.onResume();
if (adView != null) {
adView.resume();
}
}
@Override
public void onPause() {
if (adView != null) {
adView.pause();
}
super.onPause();
}
/** Called before the activity is destroyed. */
@Override
public void onDestroy() {
// Destroy the AdView.
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
答案 0 :(得分:1)
这是一个解决方案:
安装您引用的插件: https://github.com/floatinghotpot/cordova-plugin-admob.git
使用Cordova 3.3或3.5+,如已知的那样,v3.4在3.5中已经修复了一些缺陷
来源:https://stackoverflow.com/questions/22647417/admob-plugins-compatible-with-phonegap-3-4