Forums

OverviewFelgo Plugins Support › New AdMob rewarded video issue

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #16967

    Marcin

    Hi Felgo,

    I am really happy with newer changes but … have issues after using newer RewardedVideo from AdMob.
    So I moved my existing game to use the rewarded video, instead of normal video, and it crashes now.
    It just freezes after start and, in around 20-50 seconds, it crashes.
    I cleared the whole build directory on desktop, also uninstalled the app from Android device.
    Last logs before crash:

    I InputMethodManager: HSI ignore mServedView == null or mServedView.getWindowToken() != windowToken, mServedView :DecorView@7658e66[VPlayActivity]
    W System  : ClassLoader referenced unknown path:
    W System  : ClassLoader referenced unknown path: /data/user_de/0/com.google.android.gms/app_chimera/m/00000021/n/armeabi-v7a
    W System  : ClassLoader referenced unknown path: /data/user_de/0/com.google.android.gms/app_chimera/m/00000021/n/armeabi
    D DynamitePackage: Instantiated singleton DynamitePackage.
    D DynamitePackage: Instantiating com.google.android.gms.ads.reward.ChimeraRewardedVideoAdCreatorImpl
    W art     : Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
    W art     : Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
    W art     : Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
    I art     : Thread[3,tid=28710,WaitingInMainSignalCatcherLoop,Thread*=0xe0b2f300,peer=0x12c16ca0,"Signal Catcher"]: reacting to signal 3
    08-25 00:18:36.755 28704 28710 I art     :
    I art     : Wrote stack traces to '/data/anr/traces.txt'

    Looks like maybe newer libraries are not copied?
    Not sure.
    Also, at the beginning of the logs I get(I did hide some things from this log):

    Starting remote process.E Zygote  : v2
    I libpersona: KNOX_SDCARD checking this for 10824
    I libpersona: KNOX_SDCARD not a persona
    E Zygote  : accessInfo : 0
    W SELinux : SELinux selinux_android_compute_policy_index : Policy Index[2],  Con:u:r:zygote:s0 RAM:SEPF_SECMOBILE_7.0_0005, [-1 -1 -4 -1 0 1]
    I SELinux : SELinux: seapp_context_lookup: seinfo=untrusted, level=s0:c512,c768, pkgname={HIDDEN}
    I art     : Late-enabling -Xcheck:jni
    D TimaKeyStoreProvider: TimaKeyStore is not enabled: cannot add TimaSignature Service and generateKeyPair Service
    W System  : ClassLoader referenced unknown path:
    I QtCore  : Start
    W linker  : /data/app/{HIDDEN}/lib/arm/libQt5Network.so: unsupported flags DT_FLAGS_1=0x81
    W linker  : /data/app/{HIDDEN}/lib/arm/libQt5Gui.so: unsupported flags DT_FLAGS_1=0x81

    And it continues with this DT_FLAGS warning for many libraries.
    Is it fatal?
    Second thing which I just observed.
    Is it normal that, with at least last 2 updates, I have to every time re-enable Android kit?
    I always thought it is normal that with every update I need to re-enable Android kit again which is greyed out.
    But I am not sure if it’s normal, just a question.

     

    Didn’t use rewarded video on clean example just yet, will try to do it soon when have some time.

    PS. Linux Mint, Felgo 2.13

    #16968

    Alex
    Felgo Team

    Hi,

    Thanks a lot for your feedback! We pushed a minor fix for AdMob today, probably this one also fixes the issue in your project? It should be sufficient to clean the project and build it again (in case you’re wondering, the Android gradle dependency version changed from 2.13.0 to 2.13.0-1).

    Regarding the Android kits: That’s something we did not observe so far unfortunately but we will have a look if we can reproduce somehow!

    Best,

    Alex

    #16969

    Marcin

    Hi Alex,

    Thank you for answer.

    AdMob Issue.
    Where they update should appear?
    Maintenance Tool doesn’t show any new updates and during compilation I get:

    :prepareNetHockeyappAndroidHockeySDK411Library UP-TO-DATE
    :prepareNetVplayPluginsPluginAdmob21300Library UP-TO-DATE
    :prepareNetVplayPluginsPluginChartboost21300Library UP-TO-DATE
    :prepareNetVplayPluginsPluginHockeyapp21300Library UP-TO-DATE
    :prepareNetVplayPluginsPluginNotification21300Library UP-TO-DATE
    :prepareNetVplayPluginsPluginSoomla21300Library UP-TO-DATE

    So probably didn’t get the update yet? It still shows 21300 for AdMob here as well.

    Android kit issue.
    It is really minor plus I am not standard user.
    How many users still use app(project) which was created using your tools around 2 years ago?
    You changed multiple times things around initial project setup so I am probably hit by this.
    I will be rebuilding the project using creator at some point anyway, so not a problem.

     

    #16970

    Alex
    Felgo Team

    Hi Marcin,

    The updated AdMob part is fetched from the Android gradle build tool automatically and not via Maintenance Tool. Gradle however caches libraries for a certain amount of time, so it might be the case that you did not receive the updated library as of now. You can check that by opening a terminal  in the shadow-build directory subfolder “android-build” and run

    ./gradlew dependencies

    It should list “net.vplay.plugins:plugin-admob:2.13.0-1”. If it does not, you can try to force an update of the cache by typing

    ./gradlew build --refresh-dependencies

    once and then just rebuild the app from within Qt Creator (Gradle commands assume that you are using macOS or Linux, if you’re on WIndows it should be gradlew.bat instead).

    Best,

    Alex from Felgo

    #16971

    Marcin

    Hi Alex,
    Thank you for info.

    I forced gradle refresh and was able to get newer AdMob version.

    Unfortunately it didn’t help.
    Still getting:

    D InputMethodManager: HSI from window - flag : 0 Pid : 22609
    I InputMethodManager: HSI ignore mServedView == null or mServedView.getWindowToken() != windowToken, mServedView :DecorView@c1f1585[VPlayActivity]
    W System  : ClassLoader referenced unknown path:
    W System  : ClassLoader referenced unknown path: /data/user_de/0/com.google.android.gms/app_chimera/m/00000021/n/armeabi-v7a
    W System  : ClassLoader referenced unknown path: /data/user_de/0/com.google.android.gms/app_chimera/m/00000021/n/armeabi
    D DynamitePackage: Instantiated singleton DynamitePackage.
    D DynamitePackage: Instantiating com.google.android.gms.ads.reward.ChimeraRewardedVideoAdCreatorImpl
    W art     : Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
    W art     : Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
    W art     : Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random

    Unfortunately don’t have time at the moment to test more.
    For 2 weeks or so won’t be able to test again.

    #16977

    Alex
    Felgo Team

    Thanks Marcin, we are currently looking into that issue. In case I missed it, can you tell us which device you’re testing on and which Android version? Also, what’s the target sdk version in your AndroidManifest.xml file?

    Thanks,

    Alex

    #16978

    Marcin

    Hi Alex,

    Thank you for answer.
    I got the issue on two Android devices.
    One was Android 7.0(Samsung Galaxy S6), second Android 7.1(Sony Xperia XCompact).

    As for Manifest Android version, not sure if it’s the right thing, but:
    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16"/>

    I think the best way would be for me to test this feature on clean, Felgo template created project or your plugin demo.
    Can imagine with my old project setup can be hard to replicate.
    I am on holidays but maybe, just maybe, will be able to do it in a couple of days.
    Bottom line, if you can’t replicate you can wait some time for me to check the clean example.
    Probably that would help.

    #16979

    Alex
    Felgo Team

    Hi Marcin,

    I just got some results from our internal testing. Independent from your current project structure, the plugin should never result in a crash of the app of course, so this is probably just an edge case how it is included in existing code that was not covered from our side. Unfortunately we were not able to get much information out of the crash log, so I would be glad if you can do another test as soon as you’re back, yes.

    In the meanwhile, enjoy your holidays! 😉

    Best,

    Alex from Felgo

    #16986

    Marcin

    Hi Alex,
    Got some time and tried clean installation using one of the templates for Felgo games, the one with plugins.
    I was able to get the admob rewarded video working this way.
    Looks like it can be the very old setup of my app.
    Will recreate my app using new template wizard and, hopefully, all will be fine.

    #16989

    Alex
    Felgo Team

    Hi Marcin,

    Sounds good, just let us know if you experience the issue again then!

    Best,

    Alex

    #16995

    Marcin

    Hi Alex,
    Unfortunately regenerating the app from new template with different app name didn’t help.
    It works when I use clean app which only uses like 3 plugins, but with my app(which uses almost all Felgo plugins) it fails.

    Also it looks it fails only if the network is enabled on Android device.
    If the wifi is off, it doesn’t freeze.
    So it is more complex scenario when maybe some others plugins, which do something over the network, affect it.

    I am now trying to enable features bit by bit in my app until it started to freeze to narrow the scenario in which it fails.
    What exactly, apart from AdMob, must happen for the app to freeze.

    #16996

    Marcin

    Hi Alex,

    So I managed to narrow the issue.
    It was really time consuming and annoying but I think I have it now.
    Please check if’s it also broken for you.
    Github Example:
    https://github.com/senkal/vplay-advert-store-bug/tree/master/qml
    Fix:
    https://github.com/senkal/vplay-advert-store-bug/pull/1/files

    Now some explanation.
    1. You need to use 3 plugins: AdMob, Soomla and GoogleAnalytics.
    2. Order of things is extremely important!
    3. The AdMob has to be in a separate file. If you use AdMobRewardedVideo in Main.qml in that github example, it won’t crash. At least I think that is the case.

    Please try to run the example on Android device and, hopefully, it should crash for you.
    If it won’t crash then I am going to go crazy 🙂
    For me that example doesn’t run. I don’t even get the license splash screen with trial version.
    With that fix branch I get everything.
    Of course you can ad your license and test more but the trial is enough.

    #16997

    Alex
    Felgo Team

    Hi Marcin,

    Thanks a million for providing a minimal example for that! We will have a look beginning of next week and let you know.

    Best,

    Alex from Felgo

    #17007

    Günther
    Felgo Team

    Hi Marcin,

    we’ve had a look at your example and can verify the crash on Android: You are not alone 😉

    However, AdMob does not need to be in a separate file, the crash also occurs if AdMobRewardedVideo is used directly in Main.qml.
    We will try to find out what is happening in these exact circumstances. But this will probably be a tough one as it really only occurs with these plugins and the specific setup/ordering.

    For the moment, we suggest to go with a scenario (e.g. QML Item ordering) that does not crash on Android, as your fix suggests.

    Thanks again for reporting and all the effort!

    Best,
    Günther from Felgo

    #17008

    Marcin

    Hi Günther,

     

    Thank you for feedback.

    I agree with all you said.

     

    Probably it is nothing that will happen more often than rarely.

    From your side will be probably either you find issue quickly or never(considering priorities and time/resources).

    If the fix is so simple there is no need to spend days on it.

    The only concern would be how to make it easier to fix for others if it happens again.

    But, still, it is only me who managed to trigger the error.

     

Viewing 15 posts - 1 through 15 (of 15 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support