2

正如标题所示,我正在尝试使用 Phonegap 创建一个 Android 应用程序,然后尝试将 Admob 插入其中。

我正在使用Adob​​e 提供的本教程,它运行良好。之后,当我使用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

4

3 回答 3

3

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

如果您对它的移动 Web 部分更感兴趣并计划继续使用 Phonegap,您最好尝试这个插件,它可以让您使用 Phonegap 框架进行 JavaScript 调用,并且该插件执行所有底层 Android 调用有必要获得广告。

于 2012-10-02T00:41:28.087 回答
1

这是我正在寻找的功能齐全的项目

于 2012-10-02T15:10:04.540 回答
0

旧版本 phonegap 不支持外部 jar 库。但现在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 横幅。

于 2014-12-16T12:35:50.983 回答