2013-08-28 6 views
0

이 Android 앱에 삽입 광고 배너를 구현하고 사용자가 뒤로 버튼을 통해 앱을 마칠 때 표시되도록하려고합니다.활동 완료시 InMobi 삽입 광고 표시()

@Override 
public void finish() { 
    if (isBannerAllowed() && InterstitialBannerFactory.getInsterstitialSingleton().isReady()) { 
     InterstitialBannerFactory.getInsterstitialSingleton().show(); 
    } 
      finish(); 
} 

그것은 AdMob의 배너를 보여주고 사용자가 닫으면,이 응용 프로그램을 기대 방법을 완료합니다 : AdMob 조정이 방법으로 솔로 AdMob의 전면 광고를 사용하는 경우 이미 잘 작동합니다.

하지만 중재에 InMobi 중간 배너를 포함하면 배너를 표시하지만 사용자가 배너를 볼 기회를주지 않고 즉시 앱을 마칩니다 (앱의 나머지 마지막 활동). 나타나고 갑자기 끝납니다.

끝 부분에있는 finish()가 InMobi 삽입 광고와 제대로 작동하지 않기 때문에 발생한다는 것을 알고 있습니다.

@Override 
public void finish() { 
    setAppFinishing(true); 
    if (isBannerAllowed() && InterstitialBannerFactory.getInsterstitialSingleton().isReady()) { 
     InterstitialBannerFactory.getInsterstitialSingleton().show(); 
    } 
} 

주 시작 부분에서 setAppFinishing (사실)와 끝 마무리()의 제거 : 이미 이런 일을하려고 노력했다.

InMobi 삽입 광고가 표시되므로 조금 더 좋아집니다. 그러나 사용자가 뒤로 버튼을 통해 앱을 종료하는 것을 방지합니다.

그럼 난 위의 코드를 보완하기 위해 AdListerner의 onDismissScreen()에이 시도 :

@Override 
public void onDismissScreen(Ad ad) { 
    // prepares the next 
    if (!isAppFinishing()) { 
     InterstitialBannerFactory.loadAd(); 
    } 
    else { 
     finish(); 
    } 
} 

을하지만이 적용되지 않습니다, 동작은 동일하며 응용 프로그램이 종료되지 않습니다.

누구보다 똑똑한 해결책이 있습니까?

현재 모든 libs 관련 최신 버전을 사용하고 있습니다.

감사합니다.

답변

3

InMobi의 삽입 광고는 동일한 활동에 표시되지만 AdMob의 삽입 광고는 새로운 활동에서 열리는 것처럼 보입니다.

것은이 문제를 해결하려면에서 찾을 당신의 app.More 세부 사항에서 뒤로 버튼을 무시할 수 - Override back button to act like home button

예 -

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     Log.d(this.getClass().getName(), "back button pressed"); 
     if (interstitial.isReady()){ 
      interstitial.show(); 
      return true; 
     } 
    } 
    return super.onKeyDown(keyCode, event); 
} 

참고 :에서 onCreate 새로운 간질 객체를 만들고에 부하를 호출 그것.

@Override 
public void onDismissScreen(Ad ad) { 
    finish(); 
} 

-Akshay, SDK 개발자, InMobi에

+0

나는 아직 그것을 밖으로 시도 할 수있는 기회를 가지고 있지 않았지만, 뒤로 버튼을 잡으려고 onKeyDown에 오버라이드 (override) : 마지막으로 응용 프로그램을 완료 코드는 간질이 닫힐 때 좋은 접근 방법 인 것 같다. 감사. – Herbert