2013-08-10 46 views
5

Xin chào, tôi rất tò mò muốn biết giải pháp tích hợp AdMob cho Ứng dụng được viết trong tập hợp con Pygame cho Android. Tôi đã thử dưới điều đó đã làm' t làm việc cho tôi :(Tích hợp AdMob với pygame trong android

Vẫn không có gì làm việc cho tôi Có thể là không có cách nào :(

TRY 1: Tôi đi theo google https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android này giải pháp không có thay đổi mã chỉ build.xml sửa đổi Nó didt làm việc cho tôi :(

TRY 2:. Cố gắng dưới solutio cũng http://www.michenux.net/android-admob-tutorial-461.html Nó cũng did't làm việc cho tôi :(

TRY 3: Cố gắng để hack PythonActivity.java. Nhưng nhận được các lỗi liên quan dưới đây. Tôi có GoogleAdMobAdsSdk-6.4.1.jar trong \ pgs4a-0.9.4 \ libs PATH tôi vẫn nhận được dưới loại L ERI.

Dưới đây là mã của tôi:

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 

Khi tôi khởi động ứng dụng của tôi tôi nhận được dưới đây lỗi: Bất kỳ sự giúp đỡ xin vui lòng.

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.IInputMeth[email protected] 
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} 
+0

có bất kỳ tin tức nào không? Tôi cũng muốn có một trò chơi đáng sợ. Nhưng nó vô ích nếu bạn không thể đặt quảng cáo trong đó – Goot

Trả lời

1

Đây có thể là những gì bạn đang tìm kiếm. Tôi biết rằng đây là siêu muộn, nhưng những người trong tương lai có thể được hưởng lợi từ việc này.

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

Có vẻ như ai đó gần đây đã thực hiện một số fork trong số pgs4a có hỗ trợ admob. Tại thời điểm viết, nó không giống như nó có bất kỳ tài liệu nào, cũng không phải tôi đã thử nó, nhưng nó chắc chắn là đáng xem xét.