【发布时间】:2017-02-01 12:48:35
【问题描述】:
我试图找到一篇关于将 AdMob 与 LVL 结合使用的帖子,但在此站点(或其他任何地方)上找不到。我尝试查看每篇关于 AdMob 和 LVL 的帖子,但内容太多。搜索“AdMob 和 LVL”应该会出现一个关于我确切关心的问题,但之前没有关于此主题的问题。
当您还在应用中使用 LVL 时,初始化 AdMob 的正确方法是什么? LVL 和 AdMob(特别是 AdMob 插页式广告)基本上是互不兼容的吗?
我的问题是我想使用 LVL 检查我的 Android 应用中的有效许可证,该应用还显示 AdMob 插页式广告。当我只为我的免费应用程序使用 LVL 时,LVL 功能正常。当我在应用程序中使用 LVL 并显示 AdMob 插页式广告时效果很好(只要代码应该显示广告,我就会看到广告正确显示)。但是...当我同时使用/激活 LVL 和 AdMob 插页式广告时,我的应用程序失败了。以下是有关失败的一些详细信息。当我同时激活 LVL 和 AdMob 插页式广告时,Google Play 上的自动 Firebase 测试(我允许下载我的游戏的唯一地方)失败。但是,当我使用 Android Studio 通过 USB 链接运行该版本到我的测试设备时,它运行正常。我被这个结果愚弄了,然后将该版本发布到生产环境中。当我从所有文件中删除旧版本时 我的测试设备并从 Google Play 下载了它崩溃的新版本。当我在 Android Studio 下运行时,我无法告诉您错误消息是什么,因为没有错误!当我执行下载的版本时,它只是说“不幸的是“应用名称”停止了”
基本上。我没有将 Firebase 链接到我的应用程序,我可能猜想这就是 firebase 测试失败(或者可能没有)的原因。当我测试 AdMob 插页式广告是否有效时,我认为我没有将它上传到 Google Play,因此我不知道 Firebase 会如何处理 AdMob:yes 和 LVL:no。
但是,对于所有崩溃,Firebase 故障的错误条目如下所示:
java.lang.RunTimeException: Unable to start activity
ComponentInfo("my app specification")java.lang.IllegalArgumentException:
Unexpected number of IObjectWrapper declared fields: 5
我调用 LVL 的方式是在主 Activity 的 OnCreate 结束时进行调用。
我的 LVL 调用序列如下所示:
mHandler=new Handler();
String deviceID=Settings.Secure.getString(whatever);
mLicenseCheckCallback=new MyLicenseCheckerCallback();
mChecker=new LicenseChecker(whatever);
docheck();
docheck 基本上是一个调用:
mChecker.checkAccess(whatever);
LVL 初始化序列没有什么特别之处,据我所知,它与每个人都使用的相同。
我将每个 InterstitialExample 的 AdMob 初始化代码紧跟在上述 LVL 代码之后
在 OnCreate 结束时:即
MobileAds.initialize(随便)等
初始化代码与最新的 AdMob 插页式广告示例完全相同。并且在未初始化 LVL 时它是有效的,我 当我运行它时看到真实的广告。
我尝试将 Admob 初始化放在 LVL 代码之前,但这不起作用。我真正想展示插页式广告的地方在我开始的 Activity 中关闭:
Intent intent=new Intent(whatever);
startActivity(intent);
我没有尝试将初始化代码移到该分支 Activity 中(如果从未执行过,则只执行一次)。
有人知道我应该怎么做才能解决这个问题吗?由于该应用程序是免费的,我想我可以删除 LVL,并且由于广告可以正常工作,所以我会在野外发布该应用程序。但我不想处理从 Google Play 以外的网站下载的问题。我不希望其他人在免费时出售它!
当您也使用 LVL 或 AdMob 和 LVL 不兼容或“您还必须做其他事情”时,AdMob 插页式广告有不同的初始化方法(与提供的基本示例不同)。
【问题讨论】:
标签: java android admob interstitial android-lvl