Phonegap使用播放服务广告

时间:2014-02-20 07:06:02

标签: android cordova google-play-services

Google逐步淘汰专用的Admob SDK,转而使用Play服务SDK,如何通过Play服务将广告整合到我的Phonegap应用中?很快Admob SDK应用程序甚至不允许进入Play商店。

由于

1 个答案:

答案 0 :(得分:0)

我不久前想到了这一点,但我想我应该回到这里并回答这个问题。希望我能够包含一切所需的工作。

首先,您需要在项目中加入google-play-services_lib。

然后在你的主类中(将类似于phoneGapAppName / platforms / android / src / com / myname / myApp / myApp.java)

在cordova导入(import org.apache.cordova.*;)下添加:

import android.view.WindowManager;
import android.widget.LinearLayout;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

然后在您的主要公共类(类似public class myApp extends CordovaActivity)中用以下内容替换默认代码:

private AdView mAdView;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    super.init();
    super.loadUrl(Config.getStartUrl());
    //super.loadUrl("file:///android_asset/www/index.html")


    mAdView = new AdView(this);
    mAdView.setAdUnitId("YOUR_ADD_UNIT_CODE");
    mAdView.setAdSize(AdSize.BANNER);
    LinearLayout layout = super.root;

    layout.addView(mAdView);
    layout.setHorizontalGravity(android.view.Gravity.CENTER_HORIZONTAL);
    mAdView.loadAd(new AdRequest.Builder().build());

}

@Override
protected void onPause() {
    mAdView.pause();
    super.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    mAdView.resume();
}

您可能还需要向AndroidManifest.xml添加类似内容:

<activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
   <meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version"/>

这就是我所做的,它对我来说非常有效,你需要将它调整到你自己的应用程序并自己弄清楚它的一些,但这是一个很好的起点。