AdMob, Qt 5.2 рдФрд░ Android, рдпрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ

рдирдорд╕реНрдХрд╛рд░ рд╕рд╛рдерд┐рдпреЛрдВ!



рдХреНрдпреВрдЯреА 5 рдирдпрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рддрд╛рдХрд┐ рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛред рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ AdMob рдФрд░ рдЕрдиреНрдп рдореБрджреНрд░реАрдХрд░рдг рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рд╣реИред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ Qt рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ Android рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдпрд╛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрджреНрд░реАрдХрд░рдг рдЕрдХреНрд╕рд░ рдПрдХ рдкреНрд░рд╢реНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП AdMob рдХреЛ Qt рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред





рдХреЛрдИ рдЙрдкрд╛рдп рдЦреЛрдЬрдирд╛





V- рдкреНрд▓реЗ AdMob рдкреНрд▓рдЧрдЗрди


V- рдкреНрд▓реЗ Qt рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдПрдХ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХреБрдЫ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рдореБрджреНрд░реАрдХрд░рдг рдореБрджреНрджреЗ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред



qadmob


рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХрдИ рд▓рд┐рдВрдХ рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдирд╛ рд╣реИред



рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реА



рдорджрдж рдХреА: Android рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди, рдХреНрдпреВрдЯреА рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб, рд╕рд╛рде рд╣реА рдХреБрдЫ рдмрди рдЬрд╛рддреЗ рд╣реИрдВ, Android рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдЯреА рдХреЗ "рдкрд┐рддрд╛", рдмреЛрдЧрджрд╛рди рдпрд╛рддреНрд░рд╛ред



рдирд┐рд░реНрджреЗрд╢ рдореИрдиреБрдЕрд▓



Google Play рд╕реЗрд╡рд╛


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ Qt рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╕рд╣-рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП Google Play Service рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рдЗрд╕реА рд╕рдордп AdMob java api рд╕реНрдерд┐рдд рд╣реИ)ред



рдЪрд░рдг 1


рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ Project.properties рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ рдЬрд╣рд╛рдБ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА Android Qt рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рд╣рдо рдЗрд╕рдореЗрдВ Google Play Service рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд▓рд┐рдВрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

android.library.reference.1 =ред / рд░рд┐рд╢реНрддреЗрджрд╛рд░ / рдкрде / рд╕реЗ / Google-play-services_lib

рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдПрдХ рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рдХреЗ рд╕рд╛рде рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдкрде рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдПред



рдЪрд░рдг 2


рдпрд╣ рдХрджрдо рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ path_to_android_sdk / extras / google / google_play_services / libproject / google-play-services_lib /) рдореЗрдВ, рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ:

android update lib-project --path . ant clean ant release
      
      







рдЪрд░рдг 3


рдЕрдЧрд▓рд╛, AndroidManifest.xml рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ



рд╡рд┐рдЬреНрдЮрд╛рдкрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдЬреЛрдбрд╝реЗрдВ:

  <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
      
      





рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ Google Play рд╕реЗрд╡рд╛ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝реЗрдВ:

  <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
      
      





рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:

  <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:name="com.google.android.gms.ads.AdActivity"/>
      
      







Admob рдмреИрдирд░


Google Play рд╕реЗрд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ QtActivity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдореЗрдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА AdView рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

рдвреЗрд░ рд╕рд╛рд░рд╛ рдХреЛрдб
  package org.qtproject.example.admobqt; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdSize; import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.AdListener; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; public class AdMobQtActivity extends org.qtproject.qt5.android.bindings.QtActivity { private static ViewGroup viewGroup; private AdView mAdView; private boolean adAdded = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAdView = new AdView(this); mAdView.setAdUnitId("YOUR_ADMOB_ID_HERE"); mAdView.setAdSize(AdSize.BANNER); View view = getWindow().getDecorView().getRootView(); if (view instanceof ViewGroup) { viewGroup = (ViewGroup) view; ViewGroup.LayoutParams ad_layout_params = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, 150); mAdView.setLayoutParams(ad_layout_params); mAdView.setAdListener( new AdListener() { public void onAdLoaded(){ if( adAdded) return; adAdded = true; viewGroup.addView( mAdView); } }); AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE") .build(); mAdView.loadAd( adRequest); } } @Override public void onPause() { mAdView.pause(); super.onPause(); } @Override public void onResume() { super.onResume(); mAdView.resume(); } @Override public void onDestroy() { mAdView.destroy(); super.onDestroy(); } }
      
      









рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдЕрдкрдиреА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рд░реВрдЯ рд╡реНрдпреВ рдорд┐рд▓рддрд╛ рд╣реИред

  View view = getWindow().getDecorView().getRootView();
      
      







Qt рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдпрд╣ QtLayout рд╣реЛрдЧрд╛, рдЬреЛ ViewGroup рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ AdView рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЙрд╕ рд╕рдордп ViewGroup рдореЗрдВ AdView рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬрдм рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдпрджрд┐ рдЖрдк рдСрди-рдСрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреНрд▓реЙрдЧ рдХреЛ рддрдм рддрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╕реНрдХреНрд░реАрди рдУрд░рд┐рдПрдВрдЯреЗрд╢рди рдХреЛ рдмрджрд▓ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЫреЛрдЯрд╛ рдФрд░ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ Qt java classes QtLayout.java рдФрд░ / рдпрд╛ QtSurface.java рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд▓рдЧрддреА рд╣реИред

  mAdView.setAdListener( new AdListener() { public void onAdLoaded(){ if( adAdded) return; adAdded = true; viewGroup.addView( mAdView); } });
      
      







рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

github.com/AlexMarlo/AdMob-Qt5.2-Example



рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:

qt-project.org/doc/qt-5/qtandroidextras-notification-example.html

gitorious.org/qadmob

blog.qt.digia.com/blog/2013/12/12/implementing-in-app-purchase-on-android

developer.android.com/tools/projects/index.html

developer.android.com/tools/projects/projects-cmdline.html



рдкреБрдирд╢реНрдЪ:

рдЕрдЧрд▓рд╛ рдХрджрдо Qt рдореЗрдВ AdMob рдФрд░ рдЕрдиреНрдп рдореБрджреНрд░реАрдХрд░рдг рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдирд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдХрд╛рд░реНрдп рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред



All Articles