Android + Phonegap + Admob

时间:2012-10-01 23:39:47

标签: android cordova admob

标题显示我正在尝试使用Phonegap创建Android应用,然后尝试将Admob插入其中。

我正在使用Adobe提供的this tutorial,它运行正常。在此之后,当我使用Google提供的this tutorial时,我遇到了问题。 根据Google教程,我必须更改活动类,下面是原始的,第二个代码块是更改的代码。似乎没有任何错误阻止它编译。就在我尝试使用Android模拟器运行它时,我收到一条错误消息“不幸的是MyFirstPhonegapPlugin已停止”

请注意,使用Google教程,有两种方法可以实现代码,只使用下面的类并使用XML和下面的类混合。我尝试了另一种方式,由于得到了不能让我编译的错误,我已经走了这条路。

package com.tricedesigns;
import org.apache.cordova.DroidGap;
import android.os.Bundle;

public class MyFirstPhoneGapPluginActivity extends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
}

调整后的代码:

 package com.tricedesigns;

    import org.apache.cordova.DroidGap;
    import android.os.Bundle; 
    import com.google.ads.*;


    public class MyFirstPhoneGapPluginActivity extends DroidGap {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            super.loadUrl("file:///android_asset/www/index.html");
            // Look up the AdView as a resource and load a request.
            AdView adView = (AdView)this.findViewById(R.id.adView);
            adView.loadAd(new AdRequest());
          }
        }

我正在使用Phonegap 1.6.1和最新的Android和Admob SDK

3 个答案:

答案 0 :(得分:3)

Phonegap的实现方式,它几乎隐藏了有关Android的所有细节,让您基本上将移动Web应用程序实现为本机应用程序。如果您想在本地实施Android,我建议您阅读Hello World教程。您在此处的代码在AdView adView = (AdView)this.findViewById(R.id.adView);上崩溃,因为您没有包含ID为adView的AdView元素的布局文件。

如果您对移动网络部分更感兴趣并计划继续坚持使用Phonegap,那么最好的办法是尝试this plugin,它允许您使用Phonegap框架进行JavaScript调用,并且插件执行获取广告所需的所有底层Android调用。

答案 1 :(得分:1)

Here is我正在寻找的一个功能齐全的项目

答案 2 :(得分:0)

旧版本的phonegap不支持extenal jar lib。 但现在phonegap增加了一些新的羽毛。 使用phonegap builder,添加配置 添加一些配置

<gap:plugin name="com.admob.plugin" version="1.0.0" source="plugins.cordova.io"/>

所以不再需要任何java代码了。 只需要一些js代码。

admob.initAdmob("admob banner ID","admob interstitial ID");
admob.showBanner(admob.BannerSize.BANNER,admob.Position.TOP_APP);

这将在您的应用顶部创建并显示一个admob横幅。