Libgdx和Leadbolt

3
我想将Leadbolt(或Tapjoy)集成到我的Libgdx游戏中。我想基于所点击的表单创建商店,用户点击越多,商店提供的物品也越多。我找到了Leadbolt和Tapjoy。这些广告提供商直接为这些物品提供帮助。我已经查看了Leadbolt的集成指南,但我遇到了问题。需要向AdController传递上下文,我不知道是否有可能以任何方式传递上下文给AdController,所以我想问一下,如果可以的话,应该如何操作(我还没有在Libgdx中尝试过,但是在superjumper示例中也遇到了类似的问题,当我想要传递上下文时,我认为因为Libgdx应用程序未扩展Activity,它也会遇到问题)。以下是来自Leadbolt的示例代码。
AdController myControllerForm = new AdController(this, "MY_LB_ID", new AdListener() {
           public void onAdProgress() {}
           public void onAdLoaded() {
                     myControllerForm.hideAd();
           }
           public void onAdFailed() {
                     launchMain();
           }
           public void onAdCompleted() {
                     myControllerForm.hideAd();
                     launchMain();
           }
           public void onAdClosed() {
                     launchMain();
           }
           public void onAdClicked() {}
           public void onAdAlreadyCompleted() {
                     launchMain();
           }
           public void onAdHidden() {
                     launchMain();
           }
       });
           myControllerForm.setAsynchTask(true);
           myControllerForm.loadAd();
   }

public void launchMain()
           {
                 finish();
                 startActivity(new Intent(Splash.this, MainApp.class));
            }
}

在这个例子中,类扩展了Activity,并且方法都在onCreate()方法中。

如果你已经将Leadbolt或Tapjoy集成到你的Libgdx游戏中,请给我提供一下你是如何做到的代码呢?

提前致谢!

2个回答

5

LibGDX实际上是通过AndroidApplication扩展了AndroidActivity(由AndroidActivity扩展)。

如果您正确地设置您的项目,则可以从“Android starter”项目中访问它。这也是唯一可以播放广告的地方,因为“Desktop starter”无法扩展AndroidActivity

这里还有一个adMob教程,您可能会发现它很有用(创建覆盖视图)。

这是我能给您的所有信息,因为我不知道您是否想始终显示广告、随着时间的推移重新加载它们或仅在特定事件后隐藏它们。在这种情况下,您可能需要实现自定义接口。

祝您好运!


谢谢,但我认为这是另外一回事,因为我不需要显示或隐藏横幅(我想集成捕获表单)。我只需要在用户点击按钮时显示一个捕获表单。然后如果他填写了它,将他带回到以前的屏幕。 - Zwiebel
我知道它只能从AndroidApplication中访问(我没有任何AndroidApplication类,只有Game作为基础 - 这也可以吗?) - Zwiebel

3

请查看AdMob的libGDX教程:http://code.google.com/p/libgdx/wiki/AdMobInLibgdx

跳过关于设置AdMob的顶部内容,我认为您需要“控制”部分中提到的有关从通用libGDX代码(还必须在桌面上运行)获取事件并将其传递到Android特定代码的部分(例如显示广告)。 一般方法是定义自己的接口(请参见AdMob教程中的IActivityRequestHandler),并将实现该接口的对象传递到libGDX代码中。 在桌面上,此对象将不起作用,在Android端,您可以使用所有标准的Android代码来完成正确的操作。


谢谢!我会尝试去做,但我想问一下如何显示/隐藏捕获表格?因为没有像 adview 那样可以隐藏的东西。只有方法。还是我需要对 myControllerForm.loadAd() 做些什么?因为我无法想象如何"控制"它。 - Zwiebel
我一直在尝试在Libgdx中添加AdMob并找到了这个帖子。我按照你提到的教程进行了操作,但是我不明白我应该传递什么给Libgdx代码。希望得到帮助。 - Hamzah Malik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接