2012-09-10 27 views
0

我在我的應用中實施OpenX時遇到問題。這是怎麼設置我OXMAdController:Android上的OpenX將無法獲取廣告

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    //OpenX init (needs to be called before setContentView method) 
    OXMManagersResolver.getInstance().prepare(this); 

    setContentView(R.layout.category_pager);  

    //Setting OpenX 
    try 
    { 
     mAdController = new OXMAdController(this, "ads.domain.com"); 
    } 
    catch (OXMAndroidSDKVersionNotSupported e) 
    { 
     e.printStackTrace(); 
    } 

    mAdController.setAdControllerEventsListener(new OXMAdControllerEventsListener() 
    { 
     @Override 
     public void adControllerWillLoadAd(OXMAdBaseController arg0) 
     { 
      Log.v("test", "adControllerWillLoadAd"); 
     } 

     @Override 
     public void adControllerDidLoadAd(OXMAdBaseController arg0) 
     { 
      Log.v("test", "adControllerDidLoadAd"); 
     } 

     @Override 
     public void adControllerDidFailWithNonCriticalError(OXMAdBaseController arg0, OXMError arg1) 
     { 
      Log.v("test", "adControllerDidLoadAd"); 
     } 

     @Override 
     public void adControllerDidFailToReceiveAdWithError(OXMAdBaseController arg0, Throwable arg1) 
     { 
      Log.v("test", "adControllerDidFailToReceiveAdWithError"); 
     } 

     @Override 
     public void adControllerActionUnableToBegin(OXMAdBaseController arg0) 
     { 
      Log.v("test", "adControllerActionUnableToBegin"); 
     } 

     @Override 
     public boolean adControllerActionShouldBegin(OXMAdBaseController arg0, boolean arg1) 
     { 
      Log.v("test", "adControllerActionShouldBegin"); 
      return true; 
     } 

     @Override 
     public void adControllerActionDidFinish(OXMAdBaseController arg0) 
     { 
      Log.v("test", "adControllerActionDidFinish"); 
     } 
    }); 

    mAdController.initForAdUnitIds(43, 43); 
    mAdController.startLoading(); 
} 

服務器返回回調方法adControllerDidFailToReceiveAdWithError兩次。第一次的錯誤是com.openx.ad.mobile.sdk.errors.OXMServerWrongStatusCode: Server returned 404 status code,第二次的錯誤是com.openx.ad.mobile.sdk.errors.OXMServerWrongResponse: Server response parsing error.

有沒有人知道爲什麼會發生這種情況?

回答

1

首先「ads.domain.com」是未知域。它是OpenX服務器嗎?嘗試調查演示應用控制檯日誌以獲取更多詳細信息。

0

要問的另一件事是你的旗幟?沒有它,控制器不會顯示任何東西。你應該有這樣的事情:

  @Override 
      public void adControllerWillLoadAd(OXMAdBaseController c) { 
       Log.w(HangApp.TAG, "adControllerWillLoadAd"); 
       RelativeLayout parent = (RelativeLayout) findViewById(R.id.ad_parent); 
       OXMAdBannerView view = mAdController.getAdBannerView(); 

       if (view != null) { 
        findViewById(R.id.ad_image).setVisibility(View.GONE); 
        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
          RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
        layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, 0); 
        view.presentAdInViewGroup(parent, layoutParams); 
       } 
      }