6

您好我很想知道用 pygame Subset for Android 集成 Admob for App 的解决方案。我尝试了以下对我不起作用的事情:(

仍然没有什么对我有用可能没有办法:(

尝试 1: 我关注了谷歌https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android 这个解决方案没有代码更改只有 build.xml 修改它对我没有用:(

尝试 2: 也尝试了以下解决方案。 http://www.michenux.net/android-admob-tutorial-461.html 它也对我不起作用:(

尝试 3: 试图破解 PythonActivity.java。但低于相关错误。我在\pgs4a-0.9.4\libs PATH 中有GoogleAdMobAdsSdk-6.4.1.jar仍然出现以下错误。

下面是我的代码:

  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

当我启动我的应用程序时,出现以下错误:请提供任何帮助。

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}
4

2 回答 2

1

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);
}
于 2014-05-24T01:53:18.627 回答
0

看起来有人最近做了一个支持 admob 的 pgs4a的分支。在撰写本文时,它看起来没有任何文档,我也没有尝试过,但它当然值得一看。

于 2014-09-24T14:43:43.103 回答