PhoneGap использовать Play Services для рекламы

Поскольку Google постепенно отказывается от выделенного Admob SDK в пользу Play Services SDK, как я могу интегрировать рекламу в свое приложение Phonegap с Play Services? Вскоре приложения Admob SDK даже не будут доступны в Play Store.

Спасибо

1 ответ

Решение

Я понял это некоторое время назад, но решил, что должен вернуться сюда и ответить на этот вопрос, если кто-нибудь задается вопросом на этот вопрос. Надеюсь, я включу все необходимое, чтобы это заработало.

Для начала вам нужно включить google-play-services_lib в ваш проект.

Затем в вашем основном классе (будет что-то вроде phoneGapAppName/platform /android/src/com/ myname/myApp/myApp.java)

Под кордовой импорт (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"/>

Это то, что я сделал, и это прекрасно работает для меня, вам нужно будет адаптировать это к своему собственному приложению и выяснить некоторые из них самостоятельно, но это хорошая отправная точка.

Другие вопросы по тегам