Hello I am curious to know the solution for integrating Admob for App written in pygame Subset for Android. I have tried below things which did' t work for me :(
Still nothing working for me May be there is no way :(
TRY 1: I followed google https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android This solution has no code change only build.xml modification It didt works for me :(
TRY 2: Tried below solutio also. http://www.michenux.net/android-admob-tutorial-461.html It also did't work for me :(
TRY 3: Tried to hack PythonActivity.java. But getting below related errors. I have GoogleAdMobAdsSdk-6.4.1.jar in \pgs4a-0.9.4\libs PATH still I get below kind of ERROR.
Below is my code:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//vrbilgi
setContentView(R_Layout_main);
// setContentView(r.layout.main);
// Create the adView
// adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);
adView = new AdView(this, AdSize.BANNER,"a1520527530b444");
// Lookup your LinearLayout assuming it's been given
// the attribute android:id="@+id/mainLayout"
// LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
LinearLayout layout = (LinearLayout)findViewById(R_adView);
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
adView.loadAd(new AdRequest());
//vrbilgi
When I launch my app I get below error: Any help please.
I/ActivityManager( 66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.number.game/org.renpy.android.PythonActivity }
I/ActivityManager( 66): Start proc com.number.game:python for activity com.number.game/org.renpy.android.PythonActivity: pid=1214 uid=10036 gids={1015, 3003}
I/ActivityManager( 66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.number.game/org.renpy.android.PythonActivity }
E/Ads ( 1214): The android:configChanges value of the com.google.ads.AdActivity must include screenLayout.
E/Ads ( 1214): The android:configChanges value of the com.google.ads.AdActivity must include uiMode.
E/Ads ( 1214): The android:configChanges value of the com.google.ads.AdActivity must include screenSize.
E/Ads ( 1214): The android:configChanges value of the com.google.ads.AdActivity must include smallestScreenSize.
E/Ads ( 1214): You must have AdActivity declared in AndroidManifest.xml with configChanges.
E/Ads ( 1214): You must have AdActivity declared in AndroidManifest.xml with configChanges.
D/AndroidRuntime( 1214): Shutting down VM
W/dalvikvm( 1214): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
D/dalvikvm( 1214): GC_FOR_MALLOC freed 3598 objects / 323688 bytes in 110ms
E/AndroidRuntime( 1214): FATAL EXCEPTION: main
E/AndroidRuntime( 1214): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.number.game/org.renpy.android.PythonActivity}: java.lang.ClassCastException: com.google.ads.AdView
E/AndroidRuntime( 1214): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
E/AndroidRuntime( 1214): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E/AndroidRuntime( 1214): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
E/AndroidRuntime( 1214): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
E/AndroidRuntime( 1214): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1214): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 1214): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 1214): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1214): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 1214): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 1214): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 1214): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1214): Caused by: java.lang.ClassCastException: com.google.ads.AdView
E/AndroidRuntime( 1214): at org.renpy.android.PythonActivity.onCreate(PythonActivity.java:77)
E/AndroidRuntime( 1214): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime( 1214): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
E/AndroidRuntime( 1214): ... 11 more
W/ActivityManager( 66): Force finishing activity com.number.game/org.renpy.android.PythonActivity
W/ActivityManager( 66): Activity pause timeout for HistoryRecord{43fec778 com.number.game/org.renpy.android.PythonActivity}
I/Process ( 1214): Sending signal. PID: 1214 SIG: 9
W/InputManagerService( 66): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44097098
I/ActivityManager( 66): Process com.number.game:python (pid 1214) has died.
W/ActivityManager( 66): Activity destroy timeout for HistoryRecord{43fec778 com.number.game/org.renpy.android.PythonActivity}
This might be what you're looking for. I know that this is super late, but future people might benefit from this.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = true;
cfg.useAccelerometer = false;
cfg.useCompass = false;
// Create the layout
RelativeLayout layout = new RelativeLayout(this);
// Do the stuff that initialize() would do for you
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
// Create the pygame View
View gameView = initializeForView(R_layout_main, cfg);
// Create and setup the AdMob view
adView = new AdView(this, AdSize.BANNER, "your id here"); // Put in your secret key here
adView.loadAd(new AdRequest());
// Add the pygame view
layout.addView(gameView);
// Add the AdMob view
RelativeLayout.LayoutParams adParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
layout.addView(adView, adParams);
// Hook it all up
setContentView(layout);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With