java - 当您还在应用中使用 LVL 时,初始化 AdMob 的正确方法是什么?

标签 java android admob interstitial android-lvl

我尝试查找之前有关将 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 插页式广告有不同的初始化方法(与提供的基本示例不同),或者 AdMob 和 LVL 不兼容,或者“您还必须执行其他操作”。

最佳答案

Before loading ads, have your app initialize the Mobile Ads SDK by calling MobileAds.initialize() with your AdMob App ID. This needs to be done only once, ideally at app launch. You can find your app's App ID in the AdMob UI.

https://developers.google.com/admob/android/quick-start

关于java - 当您还在应用中使用 LVL 时,初始化 AdMob 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41980256/

相关文章:

java - java.util.logging 日志文件或输出去了哪里?

java - 正则表达式来标记字符串

java - 将对象保存到文件而不重复

java - GUI JButton,如何将按钮(问题)分配给答案

android - 带有广告的 Android 应用要求提供设备 ID 是否正常?

android - 我是否需要为这些条件明确授予各种互联网/网络 list 权限?

Android FCM - 如何只显示一个通知

Android:什么时候使用layout_margin,什么时候使用weightSum?

java - 当我尝试设置 clickListener 时,应用程序崩溃

android - Admob 奖励视频广告加载失败