如何在android中的webview(phonegap)中添加简单的广告横幅

时间:2014-07-09 14:55:12

标签: android android-layout cordova ads startapp

我正在尝试从yersterday下午不停地添加一个简单的横幅广告到我的应用程序,它是用phonegap 3.3创建的。 我是Android的初学者,我不知道如何制作主要布局,以便它包括:phonegap视图和横幅。 我遵循这个tutotial因为描述了一个更简单的方法来添加横幅而不用uning .xml: https://support.startapp.com/entries/27804376-Adding-a-banner-with-Java-Code-instead-of-XML 现在我看到黑色背景上的广告,但没有显示手机视图。如何添加phonegap视图?

mainlayout.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/
</RelativeLayout>

whatsnap.java:

public class WhatSnap extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        StartAppSDK.init(this, "id", "id");
//        StartAppAd.showSplash(this, savedInstanceState);
//        StartAppAd.showSlider(this);
        // Set by <content src="index.html" /> in config.xml
        super.loadUrl(Config.getStartUrl());
        appView.addJavascriptInterface(this, "WhatSnap");
        //super.loadUrl("file:///android_asset/www/index.html")  
        setContentView(R.layout.mainlayout);

     // Get the Main relative layout of the entire activity
        RelativeLayout mainlayout = (RelativeLayout)findViewById(R.id.mainlayout);   
       // Define StartApp Banner
        Banner startAppBanner = new Banner(this);
        RelativeLayout.LayoutParams bannerParameters =
                    new RelativeLayout.LayoutParams(
                                RelativeLayout.LayoutParams.WRAP_CONTENT,
                                RelativeLayout.LayoutParams.WRAP_CONTENT);
        bannerParameters.addRule(RelativeLayout.CENTER_HORIZONTAL);
        bannerParameters.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);    
      // Add to main Layout
        mainlayout.addView(startAppBanner, bannerParameters);
    }
}

我还尝试通过将其添加到我的主要布局来实现广告.xml方式:

<com.startapp.android.publish.banner.Banner 
          android:id="@+id/startAppBanner"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerHorizontal="true"/>

所以我的布局是这样的:          

但它仍然只显示黑色背景上的添加内容并且没有显示phonegap webview。

我尝试了另一种方法,首先实施phonegap webview并在新创建的布局中添加横幅代码:

Whatsnap.java: 公共类WhatSnap扩展了CordovaActivity

{
    CordovaWebView cwv;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        cwv = (CordovaWebView) findViewById(R.id.tutorialView);
        Config.init(this);
        StartAppSDK.init(this, "id", "id");
        super.loadUrl(Config.getStartUrl());
        appView.addJavascriptInterface(this, "WhatSnap");
    }
}
    @Override
    public ExecutorService getThreadPool() {
        return getThreadPool();
    }

main.xml中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF"
    android:baselineAligned="false"
    tools:context=".MainActivity" >

<org.apache.cordova.CordovaWebView
    android:id="@+id/tutorialView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

<com.startapp.android.publish.banner.Banner 
          android:id="@+id/startAppBanner"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerHorizontal="true"/>

</RelativeLayout>

现在显示的是phonegap webview,但广告横幅为:(

********编辑: 我试着用2天时间在我的ap中实现一个简单的广告横幅。为此我按照说明从这里实现了phonegap作为webview: docs.phonegap.com/en/3.3.0/... 我还将所需的横幅代码包含在我的主要布局中:

<com.startapp.android.publish.banner.Banner 
android:id="@+id/startAppBanner" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerHorizontal="true"/> 
Everythings显示出很好的效果,但是在将phonegap作为webview(在1步中)之后,暂停和恢复事件从phonegap停止工作,我在logcat中得到这些行:

07-10 12:10:10.368: D/CordovaActivity(20511): Paused the application! 
07-10 12:10:10.368: D/CordovaWebView(20511): Handle the pause 
07-10 12:10:10.378: D/CordovaLog(20511): null: Line 1 : exception firing resume event from native 
07-10 12:10:10.378: I/Web Console(20511): exception firing resume event from native at null:1 
07-10 12:10:10.383: D/CordovaLog(20511): null: Line 1 : exception firing pause event from native 
07-10 12:10:10.383: I/Web Console(20511): exception firing pause event from native at null:1 
07-10 12:10:10.483: E/JavaBinder(20511): !!! FAILED BINDER TRANSACTION !!!

这是我的主要活动:

public class WhatSnap extends CordovaActivity 
{ 
CordovaWebView cwv; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
super.init(); 
StartAppSDK.init(this, "id", "id"); 
appView.addJavascriptInterface(this, "WhatSnap"); 

setContentView(R.layout.main); 
cwv = (CordovaWebView) findViewById(R.id.tutorialView); 
Config.init(this); 
cwv.loadUrl(Config.getStartUrl()); 
} 

@Override 
public ExecutorService getThreadPool() { 
return getThreadPool(); 
}

到目前为止这是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:baselineAligned="false"> 


<org.apache.cordova.CordovaWebView 
android:id="@+id/tutorialView" 
android:layout_width="match_parent" 
android:layout_height="match_parent" /> 


<com.startapp.android.publish.banner.Banner 
android:id="@+id/startAppBanner" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerHorizontal="true"/> 

</RelativeLayout>

请帮忙!

1 个答案:

答案 0 :(得分:1)

我尝试在屏幕上展示广告,这会在您尝试的页脚中显示广告。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <org.apache.cordova.CordovaWebView
        android:id="@+id/tutorialView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <com.startapp.android.publish.banner.Banner
        android:id="@+id/startAppBanner"
        android:layout_width="fill_parent"
        android:layout_height="50dp" />

</LinearLayout>

让我知道广告中的任何问题都没有在视图或其他任何内容中加载。