Defold native extension which provides access to AdMob functionality on Android and iOS.
Manual, API and setup instructions is available on the official Defold site.
Defold native extension which provides access to AdMob functionality on Android and iOS
Home Page: https://www.defold.com/extension-admob/
License: MIT License
Defold native extension which provides access to AdMob functionality on Android and iOS.
Manual, API and setup instructions is available on the official Defold site.
Hello Defold team - this is Taeho from Google Game Engine Partnerships team.
Defold AdMob extension is a great way for Defold developers to monetize their games with AdMob. We'd like to better understand how developers are using the extension by tracking the number of ad requests that are coming from the extension.
To do this, we would like to request that you add the extension name and version info as an ad request agent. It will help us to identify ad requests that are coming from the Defold AdMob extension, and it will also help us to track the effectiveness of the extension.
You can use the following API to set the request agent.
Could you use defold-x.y.z
as a request agent string pattern? For example, if the plugin version is 1.0.1
, its request agent string should be defold-1.0.1
.
Please don't hesitate to let me know if you have any questions. Thanks!
Hello. I am a newbie to defold and trying to set up ads in the app. Here is the code that I am using to load in a banner:
admob.load_banner('ca-app-pub-5899340000115/52770000', { width = 320, height = 50 }, callback )
I added in the callback this line of code:
admob.show_banner()
I also added all the requires things in the configs and everything. What am I missing?
Error on build: Defold: 1.6.3, extension-admob: 3.4.1
[!] The abstract target Pods is not inherited by a concrete target, so the following dependencies won't make it into any targets in your project:
- Google-Mobile-Ads-SDK (= 10.14.0)
at com.defold.extender.ProcessExecutor.execute(ProcessExecutor.java:77)
at com.defold.extender.services.CocoaPodsService.execCommand(CocoaPodsService.java:1286)
... 14 more
Log.txt - log.txt
Without extension - build successfully
In my app declaration, I've declared that I use an advertising ID (because Admob does). I've updated my manifest in my Defold App to include the required permission (see below).
Error
Your advertising ID declaration in Play Console says that your app uses advertising ID. A manifest file in one of your active artifacts doesn't include the com.google.android.gms.permission.AD_ID permission.
If you don't include this permission in your manifest file, your advertising identifier will be zeroed out. This may break your advertising and analytics use cases, and cause loss of revenue. Learn more
You can remove these errors by updating your advertising ID declaration
Apps that target Android 13 (API 33) without the AD_ID permission will have their advertising identifier zeroed out. This may impact advertising and analytics use-cases. Learn more
It would be great if we could request ads with content rating, because application wide content rating will significantly reduce advertising revenue.
MAX_AD_CONTENT_RATING_G
MAX_AD_CONTENT_RATING_PG
MAX_AD_CONTENT_RATING_T
MAX_AD_CONTENT_RATING_MA
https://developers.google.com/admob/android/targeting#ad_content_filtering
https://support.google.com/admob/answer/10477886
I have an exception when a video finished
10-07 21:12:50.164 19219-19219/? D/DynamitePackage: Instantiating com.google.android.gms.ads.reward.ChimeraRewardedVideoAdCreatorImpl
10-07 21:12:59.580 19219-19219/? W/Ads: Invoke Firebase method getCurrentScreenClass error.
java.lang.NoSuchMethodException: getCurrentScreenClass []
at java.lang.Class.getMethod(Class.java:1981)
at java.lang.Class.getDeclaredMethod(Class.java:1960)
at com.google.android.gms.ads.internal.scionintegration.b.f(:com.google.android.gms.DynamiteModulesA@11517440:125)
at com.google.android.gms.ads.internal.scionintegration.b.f(:com.google.android.gms.DynamiteModulesA@11517440:32)
at com.google.android.gms.ads.internal.al.M(:com.google.android.gms.DynamiteModulesA@11517440:103)
at com.google.android.gms.ads.internal.client.bp.a(:com.google.android.gms.DynamiteModulesA@11517440:10)
at com.google.ads.mediation.AbstractAdViewAdapter.showVideo(:com.google.android.gms.DynamiteModulesA@11517440:228)
at com.google.android.gms.ads.internal.mediation.client.u.f(:com.google.android.gms.DynamiteModulesA@11517440:193)
at com.google.android.gms.ads.internal.reward.b.a(:com.google.android.gms.DynamiteModulesA@11517440:29)
at com.google.android.gms.ads.internal.reward.client.e.onTransact(:com.google.android.gms.DynamiteModulesA@11517440:11)
at android.os.Binder.transact(Binder.java:507)
at com.google.android.gms.internal.zznr$zza$zza.show(Unknown Source)
at com.google.android.gms.internal.zznz.show(Unknown Source)
at com.google.firebase.admob.internal.cpp.RewardedVideoHelper$3.run(RewardedVideoHelper.java:190)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
10-07 21:12:59.582 19219-19219/? W/Ads: Invoke Firebase method getCurrentScreenName error.
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
at com.google.android.gms.ads.internal.scionintegration.b.f(:com.google.android.gms.DynamiteModulesA@11517440:33)
at com.google.android.gms.ads.internal.al.M(:com.google.android.gms.DynamiteModulesA@11517440:103)
at com.google.android.gms.ads.internal.client.bp.a(:com.google.android.gms.DynamiteModulesA@11517440:10)
at com.google.ads.mediation.AbstractAdViewAdapter.showVideo(:com.google.android.gms.DynamiteModulesA@11517440:228)
at com.google.android.gms.ads.internal.mediation.client.u.f(:com.google.android.gms.DynamiteModulesA@11517440:193)
at com.google.android.gms.ads.internal.reward.b.a(:com.google.android.gms.DynamiteModulesA@11517440:29)
at com.google.android.gms.ads.internal.reward.client.e.onTransact(:com.google.android.gms.DynamiteModulesA@11517440:11)
at android.os.Binder.transact(Binder.java:507)
at com.google.android.gms.internal.zznr$zza$zza.show(Unknown Source)
at com.google.android.gms.internal.zznz.show(Unknown Source)
at com.google.firebase.admob.internal.cpp.RewardedVideoHelper$3.run(RewardedVideoHelper.java:190)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
10-07 21:13:13.188 19425-19425/? A/DEBUG: #3 pc 000b2f18 /data/app/com.defold.bipex.laser-1/lib/arm/liblaser_game.so (_ZN14AdMobExtension18QueueRewardCommandEiifPKc+64)
10-07 21:13:13.188 19425-19425/? A/DEBUG: #4 pc 000b5cfc /data/app/com.defold.bipex.laser-1/lib/arm/liblaser_game.so (_ZN14AdMobExtension21RewardedVideoListener10OnRewardedEN8firebase5admob14rewarded_video10RewardItemE+64)
10-07 21:13:13.188 19425-19425/? A/DEBUG: #5 pc 000c10d9 /data/app/com.defold.bipex.laser-1/lib/arm/liblaser_game.so (_ZN8firebase5admob14rewarded_video8internal21RewardedVideoInternal22NotifyListenerOfRewardENS1_10RewardItemE+136)
10-07 21:13:13.188 19425-19425/? A/DEBUG: #6 pc 000be033 /data/app/com.defold.bipex.laser-1/lib/arm/liblaser_game.so (Java_com_google_firebase_admob_internal_cpp_RewardedVideoHelper_grantReward+326)
10-07 21:13:47.128 19467-19467/? D/DynamitePackage: Instantiating com.google.android.gms.ads.reward.ChimeraRewardedVideoAdCreatorImpl
Thinks
The implementation would be easier and more flexible after implementation of this task: defold/defold#6965
When use this extension in collection proxy, I use the api like this:
local initialized = false
local function admob_callback(self, message_id, message)
if message_id == admob.MSG_INITIALIZATION then
initialized = true
if message.event == admob.EVENT_COMPLETE then
print("EVENT_COMPLETE: Initialization complete")
elseif message.event == admob.EVENT_JSON_ERROR then
print("EVENT_JSON_ERROR: Internal NE json error " .. message.error)
end
elseif message_id == admob.MSG_INTERSTITIAL then
if message.event == admob.EVENT_CLOSED then
print("ad close")
elseif message.event == admob.EVENT_LOADED then
print("EVENT_LOADED: Interstitial AD loaded")
elseif message.event == admob.EVENT_FAILED_TO_LOAD then
print(
"EVENT_FAILED_TO_LOAD: Interstitial AD failed to load\nCode: " ..
message.code .. "\nError: " .. message.error)
elseif message.event == admob.EVENT_NOT_LOADED then
print(
"EVENT_NOT_LOADED: can't call show_interstitial() before EVENT_LOADED\nError: " ..
message.error)
end
print("admob_callback", message_id, message.code, message.error)
end
end
function init(self)
if initialized == false then
admob.set_callback(admob_callback)
admob.set_privacy_settings(true)
admob.request_idfa()
admob.initialize()
admob.set_max_ad_content_rating(admob.MAX_AD_CONTENT_RATING_G)
end
admob.load_interstitial(self.interstitial_ad_unit)
end
The first i load this proxy, i get the event admob.EVENT_LOADED successfully, but when i unload this proxy and load it again, I can never get the event admob.EVENT_LOADED again.
Maybe the api usage like this is not right.
Any help is welcome.Thanks
https://developers.google.com/admob/ios/rel-notes#11.0.0
pod 'Google-Mobile-Ads-SDK', '11.5.0'
Only on iOS, the banner ad appear to be behave in a different manner.
Steps to reproduce :
AdMob policy warning about altered banner frame when using admob.SIZE_ADAPTIVE_BANNER
Build with version 3.4.0 working well but not with version 3.5.0 and 3.6.0.
I tested on my iPhone X, iOS 16.7.2
It's strange that 3.5.0+ works on iphone 15 simulator, iOS 17
On Linux, when trying to build-and-launch for dmengine on Android, I get this error message:
Build server output: Unsupported platform x86_64-linux ext.manifest /testadmob/content/admob Unknown Problem
Describe the bug (REQUIRED)
Top-positioned banners are truncating in landscape mode on displays with rounded corners (Android 9+ devices : Xiaomi Mi 9 SE and some others)
To Reproduce (REQUIRED)
Steps to reproduce the behavior:
Dynamic Orientation
in game.project
admod.POS_TOP_CENTER
Expected behavior (REQUIRED)
Banner is fully visible
Platforms (REQUIRED):
Additional context (OPTIONAL):
I've fix same issue for Applovin Max and will try to port this fix for AdMob
Builds are crashing on the build server when extension-admob is included:
0 0x10bfc21cc __assert_rtn + 123
1 0x10bfc7bec ld::tool::OutputFile::writeAtoms(ld::Internal&, unsigned char*) (.cold.1) + 0
2 0x10bf0d739 ld::tool::OutputFile::compressedOrdinalForAtom(ld::Atom const*) const + 335
3 0x10bf118f6 ld::tool::OutputFile::addDyldInfo(ld::Internal&, ld::Internal::FinalSection*, ld::Atom const*, ld::Fixup*, ld::Fixup*, ld::Fixup*, ld::Atom const*, ld::Atom const*, unsigned long long, unsigned long long) + 1476
4 0x10bf02753 ld::tool::OutputFile::generateLinkEditInfo(ld::Internal&) + 1219
5 0x10befbe20 ld::tool::OutputFile::write(ld::Internal&) + 116
6 0x10be7a6e3 main + 774
A linker snapshot was created at:
/tmp/dmengine-2021-09-08-063251.ld-snapshot
ld: Assertion failed: (0 && "dylib not assigned ordinal"), function compressedOrdinalForAtom, file /Library/Caches/com.apple.xbs/Sources/ld64/ld64-650.9/src/ld/OutputFile.cpp, line 4948.
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Every time I try building my project with extension-admob, I get this error message :
Build failed: Resource 'dirtylarry/button.gui' is not created
With that stacktrace :
com.dynamo.bob.CompileExceptionError: Resource 'dirtylarry/button.gui' is not created
at com.dynamo.bob.Project.build(Project.java:343)
at com.dynamo.cr.editor.builders.ContentBuilder.buildLocal(ContentBuilder.java:135)
at com.dynamo.cr.editor.builders.ContentBuilder.build(ContentBuilder.java:81)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:321)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:396)
at org.eclipse.core.internal.resources.Project$1.run(Project.java:618)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597)
at org.eclipse.core.internal.resources.Project.build(Project.java:124)
at com.dynamo.cr.editor.handlers.LaunchHandler$1.run(LaunchHandler.java:153)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.IllegalArgumentException: Resource 'dirtylarry/button.gui' is not created
at com.dynamo.bob.fs.DefaultFileSystem.calcSha1(DefaultFileSystem.java:46)
at com.dynamo.bob.fs.DefaultFileSystem.sha1(DefaultFileSystem.java:67)
at com.dynamo.bob.fs.DefaultResource.sha1(DefaultResource.java:75)
at com.dynamo.bob.Task.calculateSignature(Task.java:120)
at com.dynamo.bob.Project.runTasks(Project.java:844)
at com.dynamo.bob.Project.doBuild(Project.java:728)
at com.dynamo.bob.Project.build(Project.java:335)
... 13 more
This noon I built my app with no issue and tonight i cannot build my app regarding to this error
I was using master branch when this error occurred, then I came and saw new release available here with exact error title (however my happiness didn't last long) cause same error happened with this new release.
Here is the code that I'm trying to compile.
-- ads
local function update_ui(self)
if self.ad_type == admob.MSG_INTERSTITIAL then
admob.is_interstitial_loaded()
elseif self.ad_type == admob.MSG_REWARDED then
admob.is_rewarded_loaded()
elseif self.ad_type == admob.MSG_BANNER then
admob.is_banner_loaded()
end
end
local function admob_callback(self, message_id, message)
if message_id == admob.MSG_INITIALIZATION then
self.initialized = true
end
if self.ad_type == admob.MSG_INTERSTITIAL then
print("admob.load_interstitial()")
admob.load_interstitial(self.interstitial_ad_unit)
admob.show_interstitial()
elseif self.ad_type == admob.MSG_REWARDED then
print("admob.load_rewarded()")
admob.load_rewarded(self.rewardedvideo_ad_unit)
admob.show_rewarded()
reload_banner()
elseif self.ad_type == admob.MSG_BANNER then
print("admob.load_banner()")
admob.load_banner(self.banner_ad_unit)
print("admob.show_banner("..admob.POS_BOTTOM_CENTER..")")
admob.show_banner(admob.POS_BOTTOM_CENTER)
end
update_ui(self)
end
local function reload_banner()
self.ad_type = admob.MSG_BANNER
admob.set_callback(admob_callback)
end
local function get2xlife()
ad_type = admob.MSG_REWARDED
admob.set_callback(admob_callback)
end
-- ads
function init(self)
msg.post(".", "acquire_input_focus")
msg.post("@render:", "use_fixed_fit_projection")
-- ads
local engine_info = sys.get_engine_info()
self.is_debug = engine_info.is_debug
if self.is_debug then
if sys.get_sys_info().system_name == 'iPhone OS' then
self.banner_ad_unit = "ca-app-pub-3940256099942544/2934735716"
self.interstitial_ad_unit = "ca-app-pub-3940256099942544/4411468910"
self.rewardedvideo_ad_unit = "ca-app-pub-3940256099942544/1712485313"
else --Android
self.banner_ad_unit = "ca-app-pub-3940256099942544/6300978111"
self.interstitial_ad_unit = "ca-app-pub-3940256099942544/1033173712"
self.rewardedvideo_ad_unit = "ca-app-pub-3940256099942544/5224354917"
end
else
if sys.get_sys_info().system_name == 'iPhone OS' then
self.banner_ad_unit = "my_real_id"
self.interstitial_ad_unit = "my_real_id"
self.rewardedvideo_ad_unit = "my_real_id"
else --Android
self.banner_ad_unit = "my_real_id"
self.interstitial_ad_unit = "my_real_id"
self.rewardedvideo_ad_unit = "my_real_id"
end
end
if admob then
admob.set_callback(admob_callback)
admob.set_privacy_settings(true)
self.ad_type = admob.MSG_BANNER
admob.initialize()
end
-- ads
end
function on_input(self, action_id, action)
if (action_id == hash("touch") and action.released == true) then
local select1 = gui.get_node("playbyreward")
if gui.pick_node(select1, action.x, action.y) then
get2xlife()
end
end
end
Any suggestion?
init()
so far all logic above are working and I can see messages in my android studio logcat but the issue is banner is not showing up in my screen.
Here is my code:
easy.gui_script
function init(self)
msg.post(".", "acquire_input_focus")
msg.post("@render:", "use_fixed_fit_projection")
-- Loading banner ads on screen initialization
msg.post("go#ads", "initialization_box")
msg.post("go#ads", "show_initialize")
msg.post("go#ads", "show_banner")
end
function on_message(self, message_id, message, sender)
if message_id == hash("reward_finished") then
print("reward finished")
gui.set_visible(gui.get_node("getreward"),false)
gui.set_visible(gui.get_node("playbyreward"),false)
gui.set_visible(gui.get_node("backtomenu"),false)
gui.set_visible(gui.get_node("playagain"),false)
end
if message_id == hash("banner_finished") then
print("banner finished")
end
if message_id == hash("interstitial_finished") then
print("interstitial finished")
end
end
ads.script
local MAX_LOG_LINES = 10
--log logic
local gprint = print
local log = {}
local text = ""
_G.print = function(...)
gprint(...)
local args = {...}
local num = #log+1
log[num] = "--"
for k, v in pairs(args) do
log[num] = log[num] .. tostring(v) .. " "
end
log[num] = log[num] .. "\n"
text = ""
if num > MAX_LOG_LINES then
table.remove(log, 1)
end
for k, v in pairs(log) do
text = text .. v
end
end
function update()
-- gui.set_text(gui.get_node("console"), text)
end
-- end log logic
local function update_ui(self)
-- self.initialized = true
-- gui.set_enabled(gui.get_node("inited"), self.initialized)
-- gui.set_enabled(gui.get_node("initialization_box"), not self.initialized)
if self.ad_type then
if self.ad_type == admob.MSG_INTERSTITIAL then
admob.is_interstitial_loaded()
elseif self.ad_type == admob.MSG_REWARDED then
admob.is_rewarded_loaded()
elseif self.ad_type == admob.MSG_BANNER then
admob.is_banner_loaded()
end
end
end
-- local function set_block_height(height)
-- -- use banner height in gui
-- local screen_width, screen_height = window.get_size()
-- local settings_height = tonumber(sys.get_config("display.height"))
-- local mult = screen_height/settings_height
-- local height_b_node = gui.get_node("height_b")
-- local size = gui.get_size(height_b_node)
-- size.y = height/mult
-- gui.set_size(height_b_node, size)
-- end
local function admob_callback(self, message_id, message)
if message_id == admob.MSG_INITIALIZATION then
self.initialized = true
if message.event == admob.EVENT_COMPLETE then
print("EVENT_COMPLETE: Initialization complete")
elseif message.event == admob.EVENT_JSON_ERROR then
print("EVENT_JSON_ERROR: Internal NE json error "..message.error)
end
elseif message_id == admob.MSG_IDFA then
if message.event == admob.EVENT_STATUS_AUTHORIZED then
print("EVENT_STATUS_AUTHORIZED: ATTrackingManagerAuthorizationStatusAuthorized")
elseif message.event == admob.EVENT_STATUS_DENIED then
print("EVENT_STATUS_DENIED: ATTrackingManagerAuthorizationStatusDenied")
elseif message.event == admob.EVENT_STATUS_NOT_DETERMINED then
print("EVENT_STATUS_NOT_DETERMINED: ATTrackingManagerAuthorizationStatusNotDetermined")
elseif message.event == admob.EVENT_STATUS_RESTRICTED then
print("EVENT_STATUS_RESTRICTED: ATTrackingManagerAuthorizationStatusRestricted")
elseif message.event == admob.EVENT_NOT_SUPPORTED then
print("EVENT_NOT_SUPPORTED: IDFA request not supported on this platform or OS version")
end
elseif message_id == admob.MSG_INTERSTITIAL then
if message.event == admob.EVENT_CLOSED then
print("EVENT_CLOSED: Interstitial AD closed")
elseif message.event == admob.EVENT_FAILED_TO_SHOW then
print("EVENT_FAILED_TO_SHOW: Interstitial AD failed to show\nCode: "..message.code.."\nError: "..message.error)
elseif message.event == admob.EVENT_OPENING then
-- on android this event fire only when ADS activity closed =(
print("EVENT_OPENING: Interstitial AD is opening")
elseif message.event == admob.EVENT_FAILED_TO_LOAD then
print("EVENT_FAILED_TO_LOAD: Interstitial AD failed to load\nCode: "..message.code.."\nError: "..message.error)
elseif message.event == admob.EVENT_LOADED then
print("EVENT_LOADED: Interstitial AD loaded")
elseif message.event == admob.EVENT_NOT_LOADED then
print("EVENT_NOT_LOADED: can't call show_interstitial() before EVENT_LOADED\nError: "..message.error)
elseif message.event == admob.EVENT_IMPRESSION_RECORDED then
print("EVENT_IMPRESSION_RECORDED: Interstitial did record impression")
elseif message.event == admob.EVENT_CLICKED then
print("EVENT_CLICKED: Interstitial clicked")
elseif message.event == admob.EVENT_JSON_ERROR then
print("EVENT_JSON_ERROR: Internal NE json error: "..message.error)
end
elseif message_id == admob.MSG_REWARDED then
if message.event == admob.EVENT_CLOSED then
print("EVENT_CLOSED: Rewarded AD closed")
elseif message.event == admob.EVENT_FAILED_TO_SHOW then
print("EVENT_FAILED_TO_SHOW: Rewarded AD failed to show\nCode: "..message.code.."\nError: "..message.error)
elseif message.event == admob.EVENT_OPENING then
-- on android this event fire only when ADS activity closed =(
print("EVENT_OPENING: Rewarded AD is opening")
elseif message.event == admob.EVENT_FAILED_TO_LOAD then
print("EVENT_FAILED_TO_LOAD: Rewarded AD failed to load\nCode: "..message.code.."\nError: "..message.error)
elseif message.event == admob.EVENT_LOADED then
print("EVENT_LOADED: Rewarded AD loaded")
elseif message.event == admob.EVENT_NOT_LOADED then
print("EVENT_NOT_LOADED: can't call show_rewarded() before EVENT_LOADED\nError: "..message.error)
elseif message.event == admob.EVENT_EARNED_REWARD then
print("EVENT_EARNED_REWARD: Reward: " .. tostring(message.amount) .. " " .. tostring(message.type))
elseif message.event == admob.EVENT_IMPRESSION_RECORDED then
print("EVENT_IMPRESSION_RECORDED: Rewarded did record impression")
elseif message.event == admob.EVENT_CLICKED then
print("EVENT_CLICKED: Rewarded clicked")
elseif message.event == admob.EVENT_JSON_ERROR then
print("EVENT_JSON_ERROR: Internal NE json error: "..message.error)
end
elseif message_id == admob.MSG_BANNER then
if message.event == admob.EVENT_LOADED then
print("EVENT_LOADED: Banner AD loaded. Height: "..message.height.."px Width: "..message.width.."px")
set_block_height(message.height)
elseif message.event == admob.EVENT_OPENING then
print("EVENT_OPENING: Banner AD is opening")
elseif message.event == admob.EVENT_FAILED_TO_LOAD then
print("EVENT_FAILED_TO_LOAD: Banner AD failed to load\nCode: "..message.code.."\nError: "..message.error)
elseif message.event == admob.EVENT_CLICKED then
print("EVENT_CLICKED: Banner AD clicked")
elseif message.event == admob.EVENT_CLOSED then
print("EVENT_CLOSED: Banner AD closed")
elseif message.event == admob.EVENT_DESTROYED then
print("EVENT_DESTROYED: Banner AD destroyed")
elseif message.event == admob.EVENT_IMPRESSION_RECORDED then
print("EVENT_IMPRESSION_RECORDED: Banner did record impression")
elseif message.event == admob.EVENT_JSON_ERROR then
print("EVENT_JSON_ERROR: Internal NE json error: "..message.error)
end
end
update_ui(self)
end
function init(self)
msg.post(".", "acquire_input_focus")
local engine_info = sys.get_engine_info()
self.is_debug = engine_info.is_debug
if self.is_debug then
if sys.get_sys_info().system_name == 'iPhone OS' then
self.banner_ad_unit = "ca-app-pub-3940256099942544/2934735716" -- test unit for banners
self.interstitial_ad_unit = "ca-app-pub-3940256099942544/4411468910" -- test unit for interstitial
self.rewardedvideo_ad_unit = "ca-app-pub-3940256099942544/1712485313" -- test unit for rewarded
else --Android
self.banner_ad_unit = "ca-app-pub-3940256099942544/6300978111" -- test unit for banners
self.interstitial_ad_unit = "ca-app-pub-3940256099942544/1033173712" -- test unit for interstitial
self.rewardedvideo_ad_unit = "ca-app-pub-3940256099942544/5224354917" -- test unit for rewarded
end
else
if sys.get_sys_info().system_name == 'iPhone OS' then
self.banner_ad_unit = "xxxxxxx" -- real
self.interstitial_ad_unit = "xxxxxxx" -- real
self.rewardedvideo_ad_unit = "xxxxxxx" -- real
else --Android
self.banner_ad_unit = "xxxxxxx" -- real
self.interstitial_ad_unit = "xxxxxxx" -- real
self.rewardedvideo_ad_unit = "xxxxxxx" -- real
end
end
self.show_pos = 1
self.banner_positions = {
"POS_BOTTOM_CENTER",
"POS_BOTTOM_LEFT",
"POS_BOTTOM_RIGHT",
"POS_NONE",
"POS_TOP_LEFT",
"POS_TOP_CENTER",
"POS_TOP_RIGHT",
"POS_CENTER"
}
if admob then
admob.set_callback(admob_callback)
admob.set_privacy_settings(true)
end
update_ui(self)
end
function final(self)
msg.post(".", "release_input_focus")
end
function on_message(self, message_id, message, sender)
if not admob then
return
end
local prev_type = self.ad_type
if prev_type ~= self.ad_type then
update_ui(self)
end
if message_id == hash("initialization_box") then
self.initialized = true
print("initialization_box DONE!")
if message_id == hash("show_initialize") then
print("admob.initialize()")
admob.initialize()
end
end
if message_id == hash("show_idfa") then
print("admob.request_idfa()")
admob.request_idfa()
end
if message_id == hash("show_reward") then
self.ad_type = admob.MSG_REWARDED
print("admob.load_rewarded()")
admob.load_rewarded(self.rewardedvideo_ad_unit)
print("admob.show_rewarded()")
admob.show_rewarded()
msg.post("easy:/go#easygui", "reward_finished")
end
if message_id == hash("show_banner") then
self.ad_type = admob.MSG_BANNER
print("admob.load_banner()")
admob.load_banner(self.banner_ad_unit)
print("admob.show_banner( admob."..self.banner_positions[self.show_pos]..")")
admob.show_banner(admob[self.banner_positions[self.show_pos]])
self.show_pos = self.show_pos + 1
if self.show_pos > #self.banner_positions then
self.show_pos = 1
end
msg.post("easy:/go#easygui", "banner_finished")
end
if message_id == hash("show_interstitial") then
self.ad_type = admob.MSG_INTERSTITIAL
print("admob.load_interstitial()")
admob.load_interstitial(self.interstitial_ad_unit)
print("admob.show_interstitial()")
admob.show_interstitial()
msg.post("easy:/go#easygui", "interstitial_finished")
end
if message_id == hash("show_inspector") then
print("admob.show_ad_inspector()")
admob.show_ad_inspector()
end
end
Screenshot
Any suggestions?
Below are my dependencies:
After add extension-firebase-1.4.1 and extension-firebase-analytics-2.2.1, i can not bundle android app any more.
Below is error message:
The log.txt content:
java -jar /opt/local/bin/manifestmergetool.jar --platform android --main /tmp/job14926647625299425238/upload/AndroidManifest.xml --lib /tmp/job14926647625299425238/upload/firebase/manifests/android/AndroidManifest.xml --lib /tmp/job14926647625299425238/upload/extension-admob/manifests/android/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.startup-startup-runtime-1.0.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.loader-loader-1.0.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.slidingpanelayout-slidingpanelayout-1.0.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/com.google.android.gms-play-services-stats-17.0.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/com.google.firebase-firebase-common-19.5.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.room-room-runtime-2.2.5.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-impl-18.0.3.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-core-2.1.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.customview-customview-1.0.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.work-work-runtime-2.7.0.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/com.google.android.gms-play-services-tasks-18.0.1.aar/AndroidManifest.xml --lib /tmp/.gradle/unpacked/androidx.arch.core-core-runtime-2.1.0.aar/AndroidManifest.xml --lib
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-ca/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-eu/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-lv/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-kk/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-mn/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-zu/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-ur/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/values-tr/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/res/drawable-mdpi-v4/googleg_disabled_color_18.png -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-base-18.0.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-or/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-zh-rHK/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ar/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-bn/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-pa/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-sv/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-mk/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-pt-rPT/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-sq/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-sl/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-am/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-nb/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/drawable/admob_close_button_white_circle_black_cross.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/drawable/admob_close_button_black_circle_white_cross.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-si/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-zh-rTW/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ca/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-gl/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-te/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-sk/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-hy/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-in/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-bg/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-it/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ms/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ka/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-de/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-hu/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ta/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-iw/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-eu/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-lv/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-kk/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-mn/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-zu/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ur/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-tr/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-uk/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-as/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-th/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-en-rGB/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-cs/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-my/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-nl/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-es-rUS/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-es/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-mr/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-fa/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ru/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-hr/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-fr/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-af/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ko/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-et/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ml/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-da/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-is/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-pl/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-tl/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-lo/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-b+sr+Latn/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-fr-rCA/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-hi/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-fi/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-vi/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ro/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ky/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-zh-rCN/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-lt/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-km/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-bs/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-be/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-gu/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ne/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-az/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-ja/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-sr/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-uz/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-kn/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 compile /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/res/values-el/values.xml -o /tmp/job14926647625299425238/build/compiledResources/com.google.android.gms-play-services-ads-21.3.0.aar
aapt2 link --extra-packages androidx.annotation.experimental:com.google.android.gms.common:androidx.core:androidx.coordinatorlayout:androidx.work:androidx.browser:com.google.android.gms.base:com.google.android.gms.ads:com.google.android.gms.ads.impl:androidx.startup:androidx.work:com.google.android.gms.common:androidx.startup:com.google.android.gms.common:com.google.android.gms.common --proto-format --non-final-ids --auto-add-overlay --manifest /tmp/job14926647625299425238/build/AndroidManifest.xml -I /opt/platformsdk/android/android-sdk-linux/platforms/android-33/android.jar --java /tmp/job14926647625299425238/build/out_java -o /tmp/job14926647625299425238/build/compiledresources.apk --emit-ids /tmp/job14926647625299425238/build/resource_ids.txt -R @/tmp/job14926647625299425238/build/compiledresources.txt
javac -source 1.8 -target 1.8 -J-Xms2048m -J-Xmx2048m -classpath /opt/platformsdk/android/android-sdk-linux/platforms/android-33/android.jar:/tmp/job14926647625299425238/build/tmp0rjava/classes -d /tmp/job14926647625299425238/build/tmp0rjava/classes @/tmp/job14926647625299425238/build/tmp0rjava/sources.txt
warning: [options] bootstrap class path not set in conjunction with -source 8
1 warning
jar cf /tmp/job14926647625299425238/build/tmp0rjava/R.jar -C /tmp/job14926647625299425238/build/tmp0rjava/classes .
javac -source 1.8 -target 1.8 -J-Xms2048m -J-Xmx2048m -classpath /opt/platformsdk/android/android-sdk-linux/platforms/android-33/android.jar:/tmp/job14926647625299425238/upload/extension-admob/src:/tmp/job14926647625299425238/build/tmp1javac/classes:/tmp/job14926647625299425238/build/tmp0rjava/R.jar:/tmp/.gradle/unpacked/androidx.startup-startup-runtime-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.loader-loader-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.slidingpanelayout-slidingpanelayout-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-stats-17.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-common-19.5.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.room-room-runtime-2.2.5.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-impl-18.0.3.aar/classes.jar:/tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-core-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.room-room-common-2.2.5.jar:/tmp/.gradle/unpacked/androidx.customview-customview-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.work-work-runtime-2.7.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-tasks-18.0.1.aar/classes.jar:/tmp/.gradle/unpacked/androidx.arch.core-core-common-2.1.0.jar:/tmp/.gradle/unpacked/androidx.arch.core-core-runtime-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-installations-16.3.5.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-analytics-18.0.3.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-lite-21.3.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-identifier-18.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-base-21.3.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.collection-collection-1.1.0.jar:/tmp/.gradle/unpacked/androidx.drawerlayout-drawerlayout-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.documentfile-documentfile-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-installations-interop-16.0.1.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-measurement-connector-18.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-api-18.0.3.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.ump-user-messaging-platform-2.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.concurrent-concurrent-futures-1.0.0.jar:/tmp/.gradle/unpacked/androidx.swiperefreshlayout-swiperefreshlayout-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-service-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-annotations-16.0.0.jar:/tmp/.gradle/unpacked/androidx.sqlite-sqlite-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.coordinatorlayout-coordinatorlayout-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.legacy-legacy-support-core-ui-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.annotation-annotation-experimental-1.1.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.tracing-tracing-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-basement-18.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.core-core-1.6.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.versionedparcelable-versionedparcelable-1.1.1.aar/classes.jar:/tmp/.gradle/unpacked/androidx.interpolator-interpolator-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.viewpager-viewpager-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.legacy-legacy-support-core-utils-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-api-20.1.2.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-base-20.1.2.aar/classes.jar:/tmp/.gradle/unpacked/com.google.firebase-firebase-components-16.1.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-runtime-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.asynclayoutinflater-asynclayoutinflater-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.sqlite-sqlite-framework-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-18.0.3.aar/classes.jar:/tmp/.gradle/unpacked/androidx.localbroadcastmanager-localbroadcastmanager-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.fragment-fragment-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.cursoradapter-cursoradapter-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-appset-16.0.1.aar/classes.jar:/tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-viewmodel-2.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-common-2.1.0.jar:/tmp/.gradle/unpacked/androidx.browser-browser-1.4.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.print-print-1.0.0.aar/classes.jar:/tmp/.gradle/unpacked/androidx.annotation-annotation-1.2.0.jar:/tmp/.gradle/unpacked/com.google.guava-listenablefuture-1.0.jar:/tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-2.1.0.aar/classes.jar:/tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/classes.jar -d /tmp/job14926647625299425238/build/tmp1javac/classes @/tmp/job14926647625299425238/build/tmp1javac/sources.txt
warning: [options] bootstrap class path not set in conjunction with -source 8
Note: /tmp/job14926647625299425238/upload/extension-admob/src/java/com/defold/admob/AdmobJNI.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 warning
jar cf /tmp/job14926647625299425238/build/tmp1javac/output.jar -C /tmp/job14926647625299425238/build/tmp1javac/classes .
d8 --main-dex-list /tmp/job14926647625299425238/build/main_dex_list.txt --output /tmp/job14926647625299425238/build --release --lib /opt/platformsdk/android/android-sdk-linux/platforms/android-33/android.jar /var/extender/sdk/7a608d3ce6ed895d484956c1e76110ed8b78422a/defoldsdk//ext/share/java/android-support-multidex.jar /var/extender/sdk/7a608d3ce6ed895d484956c1e76110ed8b78422a/defoldsdk//ext/share/java/androidx-multidex.jar /var/extender/sdk/7a608d3ce6ed895d484956c1e76110ed8b78422a/defoldsdk//share/java/glfw_android.jar /var/extender/sdk/7a608d3ce6ed895d484956c1e76110ed8b78422a/defoldsdk//share/java/gamesys_android.jar /var/extender/sdk/7a608d3ce6ed895d484956c1e76110ed8b78422a/defoldsdk//share/java/sound_android.jar /tmp/.gradle/unpacked/androidx.startup-startup-runtime-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.loader-loader-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.slidingpanelayout-slidingpanelayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-stats-17.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-common-19.5.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.room-room-runtime-2.2.5.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-impl-18.0.3.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-core-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.room-room-common-2.2.5.jar /tmp/.gradle/unpacked/androidx.customview-customview-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.work-work-runtime-2.7.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-tasks-18.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.arch.core-core-common-2.1.0.jar /tmp/.gradle/unpacked/androidx.arch.core-core-runtime-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-installations-16.3.5.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-analytics-18.0.3.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-lite-21.3.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-identifier-18.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-base-21.3.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.collection-collection-1.1.0.jar /tmp/.gradle/unpacked/androidx.drawerlayout-drawerlayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.documentfile-documentfile-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-installations-interop-16.0.1.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-measurement-connector-18.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-api-18.0.3.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.ump-user-messaging-platform-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.concurrent-concurrent-futures-1.0.0.jar /tmp/.gradle/unpacked/androidx.swiperefreshlayout-swiperefreshlayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-service-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-annotations-16.0.0.jar /tmp/.gradle/unpacked/androidx.sqlite-sqlite-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.coordinatorlayout-coordinatorlayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-18.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.legacy-legacy-support-core-ui-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.annotation-annotation-experimental-1.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.tracing-tracing-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-basement-18.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.core-core-1.6.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.versionedparcelable-versionedparcelable-1.1.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.interpolator-interpolator-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.viewpager-viewpager-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.legacy-legacy-support-core-utils-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-api-20.1.2.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-base-20.1.2.aar/classes.jar /tmp/.gradle/unpacked/com.google.firebase-firebase-components-16.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-runtime-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.asynclayoutinflater-asynclayoutinflater-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.sqlite-sqlite-framework-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-18.0.3.aar/classes.jar /tmp/.gradle/unpacked/androidx.localbroadcastmanager-localbroadcastmanager-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.fragment-fragment-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.cursoradapter-cursoradapter-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-appset-16.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-viewmodel-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-common-2.1.0.jar /tmp/.gradle/unpacked/androidx.browser-browser-1.4.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.print-print-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.annotation-annotation-1.2.0.jar /tmp/.gradle/unpacked/com.google.guava-listenablefuture-1.0.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-21.3.0.aar/classes.jar /tmp/job14926647625299425238/build/tmp0rjava/R.jar /tmp/job14926647625299425238/build/tmp1javac/output.jar
Error in /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class:
Type com.google.android.gms.internal.measurement.zzbu is defined multiple times: /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class, /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-api-20.1.2.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class
Compilation failed
Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class
at com.android.tools.r8.utils.w.a(SourceFile:92)
at com.android.tools.r8.D8.main(D8.java:4)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class
at Version.fakeStackEntry(Version_3.0.41-sc03.java:0)
at com.android.tools.r8.utils.w.a(SourceFile:68)
at com.android.tools.r8.utils.w.a(SourceFile:28)
at com.android.tools.r8.utils.w.a(SourceFile:27)
at com.android.tools.r8.utils.w.b(SourceFile:3)
at com.android.tools.r8.D8.a(D8.java:17)
at com.android.tools.r8.D8.a(D8.java:15)
at com.android.tools.r8.utils.w.a(SourceFile:84)
... 1 more
Caused by: com.android.tools.r8.internal.b: Type com.google.android.gms.internal.measurement.zzbu is defined multiple times: /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-18.0.3.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class, /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-api-20.1.2.aar/classes.jar:com/google/android/gms/internal/measurement/zzbu.class
at com.android.tools.r8.internal.TA.a(SourceFile:14)
at com.android.tools.r8.internal.TA.a(SourceFile:22)
at com.android.tools.r8.internal.Ew.b(SourceFile:6)
at com.android.tools.r8.internal.Ew.a(SourceFile:23)
at com.android.tools.r8.internal.Ew.a(SourceFile:10)
at java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2048)
at com.android.tools.r8.internal.Ew.a(SourceFile:6)
at com.android.tools.r8.graph.I0$c.f(SourceFile:3)
at com.android.tools.r8.dex.a.a(SourceFile:94)
at com.android.tools.r8.dex.a.a(SourceFile:23)
at com.android.tools.r8.D8.a(D8.java:21)
at com.android.tools.r8.D8.d(D8.java:6)
at com.android.tools.r8.D8.c(D8.java:1)
at com.android.tools.r8.utils.w.a(SourceFile:24)
... 5 more
I don't konw what's going on. Any help is welcome.
The AdMob console showed me this banner today.
Sounds like we'll need to support a "Consent Management Solution" to comply with GDPR and the UK equivalent, starting in January 2024. Could this be built into this extension? Or would it be preferred to keep it separate?
Docs with how to implement Google's own library for this: https://developers.google.com/admob/android/privacy
More information: https://developers.google.com/admob/android/app-open
Banner works without any issues before uploading release package to Google Play.
Stack trace from Pre-launch report:
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Ljava/nio/Buffer;->address:J
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredField(Native Method)
at com.google.android.gms.internal.ads.zzewd.zzC(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzewd.zzB(com.google.android.gms:play-services-ads@@20.1.0:3)
at com.google.android.gms.internal.ads.zzewd.(com.google.android.gms:play-services-ads@@20.1.0:34)
at com.google.android.gms.internal.ads.zzewd.zzq(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzeur.(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzeur.zzl(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzeug.zza(com.google.android.gms:play-services-ads@@20.1.0:10)
at com.google.android.gms.internal.ads.zzeuw.zzb(com.google.android.gms:play-services-ads@@20.1.0:3)
at com.google.android.gms.internal.ads.zzetd.zzag(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzetd.zzah(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzclp.zzb(com.google.android.gms:play-services-ads@@20.1.0:7)
at com.google.android.gms.internal.ads.zzeyk.zzb(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzcmt.zza(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzcma.zzb(com.google.android.gms:play-services-ads@@20.1.0:3)
at com.google.android.gms.internal.ads.zzeyk.zzb(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzeyu.zzc(com.google.android.gms:play-services-ads@@20.1.0:4)
at com.google.android.gms.internal.ads.zzdvh.zza(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzdvg.zzb(com.google.android.gms:play-services-ads@@20.1.0:3)
at com.google.android.gms.internal.ads.zzeyk.zzb(com.google.android.gms:play-services-ads@@20.1.0:1)
at com.google.android.gms.internal.ads.zzbju.zzb(com.google.android.gms:play-services-ads@@20.1.0:5)
at com.google.android.gms.internal.ads.zzdna.zza(com.google.android.gms:play-services-ads@@20.1.0:43)
at com.google.android.gms.internal.ads.zzdci.zzN(com.google.android.gms:play-services-ads@@20.1.0:4)
at com.google.android.gms.internal.ads.zzdci.zze(com.google.android.gms:play-services-ads@@20.1.0:2)
at com.google.android.gms.internal.ads.zzacs.zzg(com.google.android.gms:play-services-ads-lite@@20.1.0:22)
at com.google.android.gms.ads.BaseAdView.loadAd(com.google.android.gms:play-services-ads-lite@@20.1.0:1)
at com.defold.admob.AdmobJNI$7.run(AdmobJNI.java:450)
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:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
The app crashes when calling admob.initialize() on an iPhone 6 Plus running iOS 12.5.4. It works fine on an iPhone 12 running iOS 14.7.1.
Hello! Finally tinkering away with my games again, and have run into a problem with iOS vs Android.
On Android, when you show a rewarded video, the game completely pauses, and no code is executed again until the ad is closed.
On iOS, unfortunately for me, the game code continues to run while the ad is being displayed. This has led to unexpected bugs, since I developed first on Android.
Main issues this causes:
I can code around these for now, but it would be convenient to make the platforms behave similarly if possible.
Unity's ad sdks have a convenience function SetiOSAppPauseOnBackground(true)
, but I am not sure how it works since it calls some External code.
I wasn't sure if this would be better solved in this extension or the engine itself. I experienced a similar problem with DefVideoAds before I switched to Admob. Happy to move the request if needed.
Have a nice holiday season!
If I add extension like a dependency - it doesn't work.
Cloud build return error:
No resource found that matches the given name (at 'theme' with value @style.Theme.IAPTheme)
All works fine if add folder admob into project
Steps to reproduce :
The banner appear to be changing positions when switching layouts. Sometimes it looks like it is consistently occupying two different positions in Portrait and Landscape. Sometimes it might be in a certain position upon showing and when switching layout back and forth is shown at a different position on the same layout. Note that those positions might actually be out of the screen, making it look like they disappeared.
The bug doesn't occur at all on Android.
Use DM_LUA_ERROR in functions where we also use DM_LUA_STACKCHECK. Example:
https://github.com/defold/extension-admob/blob/master/extension-admob/src/admob.cpp#L53-L57
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.