isl*_*ero 4 ads interstitial admob ios robovm
我在我的iOS应用程序中使用RoboVM绑定来显示AdMob插页式广告.当我关闭插页式广告时,我会丢失所有触摸控件.有没有办法检测广告被关闭,以便我可以将触摸恢复到游戏中?或者有更好的方法来实现插页式广告吗?这是我的代码如下:
public class IOSLauncher extends IOSApplication.Delegate implements IActivityRequestHandler{
private static final Logger log = new Logger(IOSLauncher.class.getName(), Application.LOG_DEBUG);
private IOSApplication iosApplication;
//interstitial
private static final String INTERSTITIAL_AD = "MY_AD_ID";
private GADInterstitial interstitial;
private UIWindow window;
private UIViewController rootViewController;
@Override
protected IOSApplication createApplication() {
IOSApplicationConfiguration config = new IOSApplicationConfiguration();
config.orientationLandscape = true;
config.orientationPortrait = false;
iosApplication = new IOSApplication(new PaperPig(this), config);
return iosApplication;
}
public static void main(String[] argv) {
NSAutoreleasePool pool = new NSAutoreleasePool();
UIApplication.main(argv, null, IOSLauncher.class);
pool.close();
}
@Override
public void initializeAds() {
intializeInterstitial();
}
public void intializeInterstitial () {
rootViewController = new UIViewController();
interstitial = new GADInterstitial();
interstitial.setAdUnitID(INTERSTITIAL_AD);
interstitial.setDelegate(new GADInterstitialDelegateAdapter() {
@Override
public void didReceiveAd (GADInterstitial ad) {
System.out.println("Did receive ad.");
}
@Override
public void didFailToReceiveAd (GADInterstitial ad, GADRequestError error) {
System.out.println(error.description());
System.out.println(error.getErrorCode());
}
});
window = new UIWindow(UIScreen.getMainScreen().getBounds());
window.setRootViewController(rootViewController);
window.addSubview(rootViewController.getView());
interstitial.loadRequest(GADRequest.create());
}
@Override
public void showOrLoadInterstital() {
if (interstitial.isReady()) {
if (rootViewController == null) {
rootViewController = new UIViewController();
}
if (window == null) {
window = new UIWindow(UIScreen.getMainScreen().getBounds());
window.setRootViewController(rootViewController);
}
window.makeKeyAndVisible();
interstitial.present(rootViewController);
}
Run Code Online (Sandbox Code Playgroud)
//返回触摸回到游戏
//UIApplication.getSharedApplication().getKeyWindow().setRootViewController(rootViewController); }}
你需要打电话:
window.setHidden(true);
Run Code Online (Sandbox Code Playgroud)
将您的GADInterstitialDelegateAdapter()创建更改为以下内容
interstitial.setDelegate(new GADInterstitialDelegateAdapter() {
@Override
public void didReceiveAd (GADInterstitial ad) {
System.out.println("Did receive ad.");
}
@Override
public void didDismissScreen(GADInterstitial ad) {
window.setHidden(true);
}
@Override
public void didFailToReceiveAd (GADInterstitial ad, GADRequestError error) {
System.out.println(error.description());
System.out.println(error.getErrorCode());
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1343 次 |
| 最近记录: |