与pygame的Andr​​oid中整合AdMob的 [英] Admob integration with pygame in android

查看:148
本文介绍了与pygame的Andr​​oid中整合AdMob的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我很想知道集成Admob的为应用程序编写的pygame的子集为Android的解决方案。 我曾尝试下面的事情做'T为我工作:(

还有什么工作对我来说可能也没办法:(

TRY 1: 我跟着谷歌 https://developers.google.com/mobile-广告-SDK /文档/ AdMob的/基本面#机器人 该解决方案还没有code修改只build.xml文件修改 它didt为我工作:(

TRY 2: 尝试下面的搜索解决方案也。 http://www.michenux.net/android-admob-tutorial-461.html 同时我以前不为我工作:(

TRY 3: 试图破解PythonActivity.java。 但是,得到如下相关的错误。 我的 GoogleAdMobAdsSdk-6.4.1.jar \ pgs4a-0.9.4 \库 PATH我仍然得到以下类型的错误。

下面是我的code:

 保护无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
    // vrbilgi

        的setContentView(R_Layout_main);
    //的setContentView(r.layout.main);

            //创建AD浏览报
    // AD浏览报=新的AD浏览报(这一点,AdSize.BANNER,MY_AD_UNIT_ID);
            AD浏览报=新的AD浏览报(这一点,AdSize.BANNER,a1520527530b444);

            //查找您的LinearLayout假设它是被赋予了
            //属性机器人:ID =@ + ID / mainLayout
          //的LinearLayout布局=(的LinearLayout)findViewById(R.id.mainLayout);
            的LinearLayout布局=(的LinearLayout)findViewById(R_adView);

            // AD浏览报给它添加
            layout.addView(AD浏览报);

            //初始化一个通用的请求与广告加载
            adView.loadAd(新AdRequest());



    // vrbilgi
 

当我启动我的应用程序,我得到以下错误:任何帮助,请

  I / ActivityManager(66):启动活动:意向{行为= android.intent.action.MAIN猫= [android.intent.category.LAUNCHER] FLG = 0x10200000 CMP = COM .nu​​mber.game / org.renpy.android.PythonActivity}
I / ActivityManager(66):开始PROC com.number.game:蟒蛇为活动com.number.game / org.renpy.android.PythonActivity:PID = 1214的uid = 10036导报= {1015,3003}
I / ActivityManager(66):启动活动:意向{行为= android.intent.action.MAIN猫= [android.intent.category.LAUNCHER] FLG = 0x10200000 CMP = com.number.game / org.renpy.android.PythonActivity }
E /广告(1214):Android的:在com.google.ads.AdActivity的configChanges值必须包括屏幕布置。
E /广告(1214):Android的:在com.google.ads.AdActivity的configChanges值必须包含uiMode。
E /广告(1214):Android的:在com.google.ads.AdActivity的configChanges值必须包括屏幕尺寸。
E /广告(1214):Android的:在com.google.ads.AdActivity的configChanges值必须包含smallestScreenSize。
E /广告(1214):你必须有AdActivity在AndroidManifest.xml中声明与configChanges。
E /广告(1214):你必须有AdActivity在AndroidManifest.xml中声明与configChanges。
D / AndroidRuntime(1214):关闭虚拟机
W / dalvikvm(1214):主题ID = 1:螺纹退出与未捕获的异常(组= 0x4001d800)
D / dalvikvm(1214):GC_FOR_MALLOC释放3598对象/在110毫秒323688字节
E / AndroidRuntime(1214):致命异常:主要
E / AndroidRuntime(1214):java.lang.RuntimeException的:无法启动的活动ComponentInfo {com.number.game / org.renpy.android.PythonActivity}:java.lang.ClassCastException:com.google.ads.AdView
E / AndroidRuntime(1214):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
E / AndroidRuntime(1214):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E / AndroidRuntime(1214):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
E / AndroidRuntime(1214):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
E / AndroidRuntime(1214):在android.os.Handler.dispatchMessage(Handler.java:99)
E / AndroidRuntime(1214):在android.os.Looper.loop(Looper.java:123)
E / AndroidRuntime(1214):在android.app.ActivityThread.main(ActivityThread.java:4627)
E / AndroidRuntime(1214):在java.lang.reflect.Method.invokeNative(本机方法)
E / AndroidRuntime(1214):在java.lang.reflect.Method.invoke(Method.java:521)
E / AndroidRuntime(1214):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
E / AndroidRuntime(1214):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E / AndroidRuntime(1214):在dalvik.system.NativeStart.main(本机方法)
E / AndroidRuntime(1214):由:java.lang.ClassCastException:com.google.ads.AdView
E / AndroidRuntime(1214):在org.renpy.android.PythonActivity.onCreate(PythonActivity.java:77)
E / AndroidRuntime(1214):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E / AndroidRuntime(1214):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
E / AndroidRuntime(1214):11 ...更多
W / ActivityManager(66):强制完成活动com.number.game / org.renpy.android.PythonActivity
W / ActivityManager(66):活动暂停超时HistoryRecord {43fec778 com.number.game / org.renpy.android.PythonActivity}
I /过程(1214):发送信号。 PID:1214 SIG:9
W / InputManagerService(66):窗口已经集中,忽略了聚焦增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@44097098
I / ActivityManager(66):过程com.number.game:蟒蛇(PID 1214)已死亡。
W / ActivityManager(66):活动破坏超时HistoryRecord {43fec778 com.number.game / org.renpy.android.PythonActivity}
 

解决方案

这可能是你要找的内容。我知道,这是超级晚,但未来人们可能会从中受益。

  @覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);

    AndroidApplicationConfiguration CFG =新AndroidApplicationConfiguration();
    cfg.useGL20 = TRUE;
    cfg.useAccelerometer = FALSE;
    cfg.useCompass = FALSE;

    //创建布局
    RelativeLayout的布局=新RelativeLayout的(这一点);

    //请在初始化(的东西)会为你做
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    。getWindow()clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

    //创建pygame的视图
    查看gameView = initializeForView(R_layout_main,CFG);

    //创建和设置AdMob的观点
    AD浏览报=新的AD浏览报(这一点,AdSize.BANNER,你在这里的id); //把你的密钥在这里
    adView.loadAd(新AdRequest());

    //添加pygame的观点
    layout.addView(gameView);

    //添加AdMob的观点
    RelativeLayout.LayoutParams adParams =
            新RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                            RelativeLayout.LayoutParams.WRAP_CONTENT);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

    layout.addView(AD浏览报,adParams);

    //钩了这一切
    的setContentView(布局);
}
 

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);
}

这篇关于与pygame的Andr​​oid中整合AdMob的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆