Как правильно инициализировать AdMob, когда вы также используете LVL в своем приложении?

Я пытался найти предыдущий пост об использовании AdMob с LVL, но не смог на этом сайте (или где-либо еще). Я пытался просмотреть каждый пост об AdMob и LVL, но их слишком много. Поиск по "AdMob и LVL" должен был вызвать вопрос о моей конкретной проблеме, но по этой теме ранее не было вопросов.

Как правильно инициализировать AdMob, когда вы также используете LVL в своем приложении? Являются ли LVL и AdMob(особенно промежуточные рекламные объявления AdMob) несовместимыми друг с другом?

Моя проблема в том, что я хочу использовать LVL для проверки действующей лицензии в моем приложении для Android, которое также отображает рекламные объявления AdMob. Когда я использую только LVL для моего бесплатного приложения, функции LVL работают правильно. Когда я прекращаю использовать LVL в приложении и показываю рекламные объявления AdMob, которые работают просто отлично (я вижу, что объявления отображаются правильно, когда код должен показывать рекламу). Однако... когда я использую / активирую рекламные объявления LVL и AdMob, мое приложение перестает работать. Вот некоторые подробности о неудаче. Когда я активирую и LVL, и AdMob interstitial, то автоматическое тестирование Firebase в Google Play (единственное место, где я разрешаю скачивать мою игру) не проходит. Однако, когда я использую Android Studio для запуска этой версии через USB-соединение с моим тестовым устройством, все работает нормально. Я был одурачен этим результатом и опубликовал эту версию в производство. Когда я удалил старую версию со всех своих тестовых устройств и загрузил из Google Play новую версию, она вылетает. Я не могу сказать вам, что было сообщение об ошибке при запуске под Android Studio, потому что не было ошибки! Когда я выполнил загруженную версию, ну, это просто говорит "к сожалению" имя приложения "остановлено"

В принципе. У меня нет Firebase, связанной с моим приложением, и я могу догадаться, что именно поэтому тестирование Firebase не удалось (или, возможно, нет). Когда я проверял, что рекламные вставки AdMob работают, я не думаю, что загрузил это в Google Play, поэтому я не знаю, что Firebase будет делать с AdMob: да и LVL: нет.

Однако вот что записи об ошибках для Firebase говорят о всех сбоях:

java.lang.RunTimeException: Unable to start activity

ComponentInfo("my app specification")java.lang.IllegalArgumentException:

Unexpected number of IObjectWrapper declared fields: 5

Я звоню в LVL, чтобы позвонить в конце моего OnCreate для основного занятия.

Моя последовательность вызовов LVL выглядит так:

mHandler=new Handler();
String deviceID=Settings.Secure.getString(whatever);
mLicenseCheckCallback=new MyLicenseCheckerCallback();
mChecker=new LicenseChecker(whatever);
docheck();

Docheck - это вызов в основном:

mChecker.checkAccess(whatever);

В последовательности инициализации LVL нет ничего особенного, она такая же, как все, насколько я знаю.

Я поместил код инициализации AdMob в InterstitialExample сразу после вышеуказанного кода LVL

в конце OnCreate.

MobileAds.initialize(что угодно) и т. Д.

Код инициализации точно такой же, как и в последнем примере рекламного объявления AdMob. И это работает, когда LVL не инициализирован, я вижу реальную рекламу, когда я запускаю его.

Я попытался поместить инициализацию Admob непосредственно перед кодом LVL, но это не работает. Где я действительно хочу показать, что промежуточная реклама отключена в деятельности, которую я начинаю с:

   Intent intent=new Intent(whatever);
    startActivity(intent);

Я не пытался переместить код инициализации в этот ответвление Activity (которое будет выполнено только один раз, если оно никогда не выполнялось).

Кто-нибудь знает, что я должен сделать, чтобы это исправить? Так как приложение бесплатное, я полагаю, что я могу просто удалить LVL, и поскольку реклама работает нормально, я бы выпустил приложение в дикой природе. Но я не хочу иметь дело с его загрузкой с сайтов, отличных от Google Play. Я не хочу, чтобы кто-то продал доступ к нему, когда он бесплатный!

Либо существует другой метод инициализации для промежуточных объявлений AdMob(который отличается от предоставленного базового примера), когда вы также используете LVL, либо AdMob и LVL несовместимы, либо существует "что-то еще, что вы должны сделать тоже".

1 ответ

Перед загрузкой объявлений попросите ваше приложение инициализировать SDK для мобильных объявлений, позвонив в MobileAds.initialize() с идентификатором приложения AdMob. Это нужно сделать только один раз, в идеале при запуске приложения. Вы можете найти идентификатор приложения в приложении AdMob.

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

Другие вопросы по тегам