2012-10-01 79 views
2

正如標題所示,我試圖使用Phonegap創建一個Android應用程序,然後嘗試將Admob插入到該應用程序中。Android + Phonegap + 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和最最新的SDK爲Android和AdMob

回答

3

方式PhoneGap的實現,它幾乎全部隱藏有關Android的詳細信息,並可讓您基本實現移動Web應用程序作爲本機應用程序。如果您關心本機實現Android,我建議您閱讀Hello World教程。您在此處的代碼在AdView adView = (AdView)this.findViewById(R.id.adView);上崩潰,因爲您沒有包含ID爲adView的AdView元素的佈局文件。

如果您對移動網站更感興趣並計劃繼續堅持使用Phonegap,那麼最好的辦法是嘗試this plugin,它可以讓您使用Phonegap框架進行JavaScript調用,並且該插件執行所有底層Android通話必需獲取廣告。

+0

感謝那個Eric,正是我所追求的。只是試圖通過它,現在有一些事情讓我沮喪。 「AdMob Cordova plugin jar」在哪裏,它聲明這需要添加,但我看不到它。是否提供了此「AdMobPlugin.java」並且似乎未被使用?因爲它不是jar文件,所以在這裏沒有什麼困惑。 此外,我找不到cordova.xml。我已經下載了最新的PhoneGap,它只有一個config.xml文件。我創建了一個plugin.xml文件。 最後但並非最不重要,當我調用插件時,我應該在哪裏放置createBannerView和requestAd? 乾杯 – barney

+0

是的,「AdMob Cordova插件jar」就是AdMobPlugin.Java文件。看起來像Cordova.xml和Plugins.xml最近被合併到單個config.xml文件中,所以你只能包含配置。xml文件,並將條目添加到config.xml。至於使用插件,它只是普通的舊JavaScript。我相信PhoneGap的使用deviceReady監聽器告訴你它已經準備好,所以你可以加上'document.addEventListener( 'deviceready',函數(){ \t \t \t \t createBannerView(...); \t \t \t},真) ;'然後,如果createBannerView成功,您可以調用'loadAd'。 –

0

舊版本的PhoneGap不支持extenal罐子LIB一個功能齊全的項目。但現在phonegap添加一些新的羽毛。 使用PhoneGap的建設者,添加配置 增加一些配置

<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橫幅。