admob support GDPR.
Thanks @yinjimmy.
So admob 2.4.3.3 support npa as well?
Just confused with earlier post about using staging version 2.4.3.4
yes, admob 2.4.3.3 support npa
static void setGDPR(bool enabled);
No gameanalytics yet?
I want to message you please
Public co-operation is best for everyone.
- no gameanalytics
- pm is ok.
iap,sdkboxplay v2.4.3.9 support GDPR, itās on staging server. will be released soon.
sdkbox import iap --staging
to gei it.
Thanks yinjimmy
Hi @yinjimmy,
iap 2.4.3.9 is printing debug log even in release build.
06-14 01:04:54.505 11790 11805 D IAP : Refreshing products: 'full_game_no_ads,android.test.canceled,android.test.purchased,android.test.item_unavailable'
I also set debug to false (before and after init call) as below but it is still logging debug
sdkbox::IAP::setDebug(false); sdkbox::IAP::init();
Any idea?
Thanks
Itās a bug here, Iām fixing currently.
Reading more about GDPR consent policy, user can change from targeted ads to npa.
But it doesnt look like admob plugin allow to change the gdpr flag once it is initialised.
So can the gdpr function be called after the init call?
PluginAdMob::setGDPR(bool)
Thanks
yes, you can and check with output message:
extra=
Thanks @yinjimmy.
As I am currently writing up the privacy policy for my game, I need to provide details on the security measures taken by third party companies when storing data.
I really appreciate the efforts by SDKBOX team to commit to GDPR compliance but the privacy policy does not provide any details on data encryption or safe storage.
I assume that SDKBOX encrypts all data in transit? If so, would the privacy policy be updated to mention this?
Thanks
CONTACT
If you have any questions or suggestions regarding this Privacy Policy, please contact us at privacy@sdkbox.com.
Thanks,
2.5.0.0 (20190627)
Add
- Misc: add
keychain
for iOS - Misc: add
SystemVersion
for Android - IAP: add
generateIdentityVerificationSignature
for iOS -
setGDPR
: Some plugins invoke 3rd SDK (AdMob,Unity) api, some not yet.- PluginAdMob: AdMob & sdkbox-core
- PluginUnity: Unity & sdkbox-core
- PluginChartboost: Chartboost & sdkbox-core
- PluginAdColony: sdkbox-core
- PluginAgeCheq: sdkbox-core
- PluginAppnext: sdkbox-core
- PluginAppodeal: sdkbox-core
- PluginApteligent: sdkbox-core
- PluginBee7: sdkbox-core
- PluginFacebook: sdkbox-core
- PluginFirebaseAnalytics: sdkbox-core
- PluginFlurryAnalytics: sdkbox-core
- PluginFyber: sdkbox-core
- PluginGoogleAnalytics: sdkbox-core
- PluginGPG: sdkbox-core
- PluginInMobi: sdkbox-core
- IAP: sdkbox-core
- PluginKochava: sdkbox-core
- PluginLeadBolt: sdkbox-core
- PluginMisc: sdkbox-core
- PluginOneSignal: sdkbox-core
- PluginPhunwareAds: sdkbox-core
- PluginPhunwareMessaging: sdkbox-core
- PluginSdkbox-coreAds: sdkbox-core
- PluginSdkbox-corePlay: sdkbox-core
- PluginShare: sdkbox-core
- PluginTapcore: sdkbox-core
- PluginTune: sdkbox-core
- PluginValuePotion: sdkbox-core
- PluginYoutube: sdkbox-core
- AdMob: output ad request extra argument for debug
- AdMob: auto cache failed AD by
setAutoCacheDelay
- AdMob: support do not cache ad when init / AD closed by
setAutoCache
- CMake: fix Lua/JS, gpg
- Support CMake when cocos >= 3.16
- Facebook:
gameRequest
api - Facebook:
onInviteFriendsWithInviteIdsResult
return uids[]
- Firebase:
setScreenName
api for Android - Firebase: export constants to Lua
- sdkbox.FB_PERM_READ_PUBLIC_PROFILE
- sdkbox.FB_PERM_READ_EMAIL
- sdkbox.FB_PERM_READ_USER_FRIENDS
- sdkbox.FB_PERM_PUBLISH_POST
- sdkbox.FBSDKLoginBehaviorNative
- sdkbox.FBSDKLoginBehaviorBrowser
- sdkbox.FBSDKLoginBehaviorSystemAccount
- export sdkbox api to JS/Lua
- sdkbox::init
- sdkbox::setConfig
- sdkbox::getConfig
Upgrade
- Firebase update iOS SDK 6.2.0
- AdColony android 3.3.8
- play-services-ads android 17.2.0
- Facebook iOS SDK to V5
- AdMob iOS SDK 7.44.0
Bugfix
- Fixed SDKBoxPlay login: using
getGoogleSignInOptions()
notGoogleSignInOptions.DEFAULT_GAMES_SIGN_IN
on Android - Fixed Facebook iOS12 login
- Fixed AdMob smart banner for iOS
- Fixed share proguard
- Fixed sdkbox-core iOS memory leak
- Fixed IAP
getPurchaseHistory
- Fixed AdMob banner position: on
top
when configbottom
some iOS device.
Thanks,
Hello yinjimmy. I have an issue with latest update of SDKBox.
Amount of ANRās (Application Not Responding) events considerably increased. I did a quick investigation and found that the cause of it is an automatic caching of ads by AdMob.
So I disabled auto caching by calling
sdkbox::PluginAdMob::setAutoCache(false); sdkbox::PluginAdMob::setAutoCacheDelay(-1); sdkbox::PluginAdMob::init();
Also I reworked my code to do caching of ads by calling sdkbox::PluginAdMob::cache() in a separate worker thread. ANR amount has been decreased but not eliminated completely. I still get ANRās where ads caching blocks main thread.
āmainā prio=5 tid=1 Blocked
| group=āmainā sCount=1 dsCount=0 flags=1 obj=0x73e3a838 self=0xeabc8000
| sysTid=20427 nice=-10 cgrp=default sched=0/0 handle=0xeeacb494
| state=S schedstat=( 1415768472 170654662 3797 ) utm=96 stm=45 core=7 HZ=100
| stack=0xff516000-0xff518000 stackSize=8MB
| held mutexes=
at com.google.android.gms.ads.internal.cache.a.c (a.java:1)
- waiting to lock <0x0ae99f84> (a java.lang.Object) held by thread 65
at com.google.android.gms.ads.internal.cache.b.run (b.java:2)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at aaj.a (aaj.java)
at com.google.android.gms.ads.internal.util.e.a (e.java:1)
at aaj.dispatchMessage (aaj.java)
at android.os.Looper.loop (Looper.java:280)
at android.app.ActivityThread.main (ActivityThread.java:6706)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
Can AdMob still do some caching on main thread even auto-caching is disabled? Or Iām missing something?
Is Google Mobile Ads do some caching by itself? How this can be tuned or changed to prevent such an ANRās? Thanks.
I also have a lot of ANRās of this kind:
āmainā tid=1 Blocked
āmainā prio=5 tid=1 Blocked
| group=āmainā sCount=1 dsCount=0 flags=1 obj=0x74b48550 self=0xf2d48000
| sysTid=31146 nice=-10 cgrp=default sched=0/0 handle=0xf7208494
| state=S schedstat=( 1034146069 152396547 3010 ) utm=81 stm=22 core=2 HZ=100
| stack=0xff0dc000-0xff0de000 stackSize=8MB
| held mutexes=
at com.google.android.gms.ads.internal.cache.a.a (a.java:13)
- waiting to lock <0x0cb62f29> (a java.lang.Object) held by thread 108
at com.google.android.gms.ads.nonagon.load.h.a (h.java:3)
at com.google.android.gms.ads.nonagon.load.n.a (n.java:14)
at aqh.a (aqh.java:3)- locked <0x0ea6c2ae> (a aqh)
at com.google.android.gms.ads.nonagon.ad.banner.ae.a (ae.java:4)
at aqh.a (aqh.java:3)- locked <0x0ce6184f> (a aqh)
at com.google.android.gms.ads.nonagon.ad.banner.aa.a (aa.java:1)
at com.google.android.gms.ads.nonagon.shim.j.b (j.java:13)- locked <0x01d1875e> (a com.google.android.gms.ads.nonagon.shim.j)
at com.google.android.gms.ads.nonagon.shim.l.b (l.java:4)
at com.google.android.gms.ads.internal.client.ao.a (ao.java:87)
at pb.onTransact (pb.java:3)
at android.os.Binder.transact (Binder.java:688)
at com.google.android.gms.internal.ads.zzfm.transactAndReadException (zzfm.java:10)
at com.google.android.gms.internal.ads.zzzm.zzb (zzzm.java:18)
at com.google.android.gms.internal.ads.zzabb.zza (zzabb.java:123)
at com.google.android.gms.ads.BaseAdView.loadAd (BaseAdView.java:15)
at com.google.android.gms.ads.AdView.loadAd (AdView.java:18)
at com.sdkbox.plugin.PluginAdMob.createOrGetBannerView (PluginAdMob.java:684)
at com.sdkbox.plugin.PluginAdMob.access$200 (PluginAdMob.java:50)
at com.sdkbox.plugin.PluginAdMob$1.run (PluginAdMob.java:219)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:193)
at android.app.ActivityThread.main (ActivityThread.java:6863)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
EDIT:
And a bunch of ANRās where next call appears:
com.sdkbox.plugin.PluginAdMob.nativeInit (PluginAdMob.java:140)
On screenshot I have marked update of my app. Iām only updated SDKBox plugins on that update.
First, thanks for your report this issue.
These code stop PluginAdMob auto cache ads.
I need to research AdMob whether do some auto-caching.
.
Most devices that have ANR issues are Huawei ones with android 7.0 or 9.0. Hope this helps.