Need Help : Kodular's Admob's Native ad block/designer setup

Hi everyone,
I want to use Kodular’s native ad componnt, so i use with; admob native ad’s Test ID but not able to understand how setup these inside block, anyone can help me to guide how I setup block for this component.

After adding ad :id_button: and called

when Screen1.Initialize
call AdMob_NativeAd1.LoadAd

It’s not working?

Nope getting error for these, what i setup in block for them?

Body Label None 
Call To Action Button None
Headline Label None

Try setting the ad :id_button: in blocks, also give few minutes before calling it 2-3 second after intiallize

when try directly giving runtime error:

Runtime Error

com.google.appinventor.components.runtime.errors.YailRuntimeError: Label component for ad's headline not set at com.google.appinventor.components.runtime.AdMobNativeAdLayout.populateAssetViews(AdMobNativeAdLayout.java:331) at com.google.appinventor.components.runtime.AdMobNativeAdLayout.lambda$loadAdInternal$2$com-google-appinventor-components-runtime-AdMobNativeAdLayout(AdMobNativeAdLayout.java:316) at com.google.appinventor.components.runtime.AdMobNativeAdLayout$$ExternalSyntheticLambda6.run(D8$$SyntheticClass:0) at android.app.Activity.runOnUiThread(Activity.java:8158) at com.google.appinventor.components.runtime.AdMobNativeAdLayout.lambda$loadAdInternal$3$com-google-appinventor-components-runtime-AdMobNativeAdLayout(AdMobNativeAdLayout.java:315) at com.google.appinventor.components.runtime.AdMobNativeAdLayout$$ExternalSyntheticLambda4.onNativeAdLoaded(D8$$SyntheticClass:0) at com.google.android.gms.internal.ads.zzbsn.zze(com.google.android.gms:play-services-ads-api@@24.2.0:2) at com.google.android.gms.internal.ads.zzbhg.zzdD(com.google.android.gms:play-services-ads-api@@24.2.0:5) at com.google.android.gms.internal.ads.zzaxy.onTransact(com.google.android.gms:play-services-ads-api@@24.2.0:3) at android.os.Binder.transact(Binder.java:1273) at m84.atr.bo(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:8) at com.google.android.gms.ads.internal.formats.client.al.e(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:9) at com.google.android.gms.ads.nonagon.ad.nativead.ai.run(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:74) at android.os.Handler.handleCallback(Handler.java:995) at android.os.Handler.dispatchMessage(Handler.java:103) at m84.bhy.a(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:1) at com.google.android.gms.ads.internal.util.f.a(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:1) at m84.bhy.dispatchMessage(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:1) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
*Note:* You will not see another error reported for 5 seconds.

Okay now trying with timer.

Error Meaning

Label component for ad’s headline not set

Kodular’s AdMob Native Ad component requires you to link UI components (Labels, Images, Buttons, etc.) to display ad elements (headline, body text, icon, call-to-action).

You must connect each UI element manually in blocks before calling LoadAd.

Exaple setup

  1. Add components to your Screen,

AdMob Native Ad

AdMob Native Ad Layout

A few UI components:

Label → for Headline

Label → for Body

Button → for Call to Action

Image → for App Icon

  1. In Blocks, set them like this,

when Screen1.Initialize
set AdMobNativeAdLayout1.HeadlineLabel to Label_Headline
set AdMobNativeAdLayout1.BodyLabel to Label_Body
set AdMobNativeAdLayout1.CallToActionButton to Button_CTA
set AdMobNativeAdLayout1.IconImage to Image_Icon

set AdMobNativeAdLayout1.AdUnitId to "ca-app-pub-3940256099942544/2247696110"
call AdMobNativeAdLayout1.LoadAd

@Ibrahim_Jamar I tried with clock same runtime error after clock do :
Screenshot 2025-11-09 002107


Runtime Error

com.google.appinventor.components.runtime.errors.YailRuntimeError: Label component for ad's headline not set at com.google.appinventor.components.runtime.AdMobNativeAdLayout.populateAssetViews(AdMobNativeAdLayout.java:331) at com.google.appinventor.components.runtime.AdMobNativeAdLayout.lambda$loadAdInternal$2$com-google-appinventor-components-runtime-AdMobNativeAdLayout(AdMobNativeAdLayout.java:316) at com.google.appinventor.components.runtime.AdMobNativeAdLayout$$ExternalSyntheticLambda6.run(D8$$SyntheticClass:0) at android.app.Activity.runOnUiThread(Activity.java:8158) at com.google.appinventor.components.runtime.AdMobNativeAdLayout.lambda$loadAdInternal$3$com-google-appinventor-components-runtime-AdMobNativeAdLayout(AdMobNativeAdLayout.java:315) at com.google.appinventor.components.runtime.AdMobNativeAdLayout$$ExternalSyntheticLambda4.onNativeAdLoaded(D8$$SyntheticClass:0) at com.google.android.gms.internal.ads.zzbsn.zze(com.google.android.gms:play-services-ads-api@@24.2.0:2) at com.google.android.gms.internal.ads.zzbhg.zzdD(com.google.android.gms:play-services-ads-api@@24.2.0:5) at com.google.android.gms.internal.ads.zzaxy.onTransact(com.google.android.gms:play-services-ads-api@@24.2.0:3) at android.os.Binder.transact(Binder.java:1273) at m84.atr.bo(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:8) at com.google.android.gms.ads.internal.formats.client.al.e(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:9) at com.google.android.gms.ads.nonagon.ad.nativead.ai.run(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:74) at android.os.Handler.handleCallback(Handler.java:995) at android.os.Handler.dispatchMessage(Handler.java:103) at m84.bhy.a(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:1) at com.google.android.gms.ads.internal.util.f.a(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:1) at m84.bhy.dispatchMessage(:com.google.android.gms.policy_ads_fdr_dynamite@253405702@253405700017.794833465.794833465:1) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
*Note:* You will not see another error reported for 5 seconds.

I read complete error and it’s suggesting to add value to these, but which component will attached with them? i tried many as well as text but not connectable.

Read my last answer, I think it’s 100% solution, just add UI elements for testing

Also, don’t call load ads before add UI elements, first intiallize UI elements then call load ad

Add these component, you’re good to go :face_savoring_food::face_savoring_food:

Set headline to label1 etc

1 Like

I tried that now shwing this on load:

When clicked See Issue, it’s showing this

Now my blocks and designer are :


how fix this?

One or more of your ad Labels/Buttons/Images are not inside the AdMobNativeAdLayout component in the screen design.

Place your ad UI (labels, images, button, etc.) inside that layout only, not outsidi it.

Correct structure

VerticalArrangement (AdMobNativeAdLayout)
├── Label_Headline
├── Label_Body
├── Image_Icon
└── Button_CTA

Add vertical arrangements, then place your AdMobNativeAd component in that layout

1 Like

I found that error earlier you replied this. :grin: BTW Thank you!

Thanks for your help.

1 Like