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
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
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
- 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
- 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 :

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 ![]()
![]()
Set headline to label1 etc
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
I found that error earlier you replied this.
BTW Thank you!
Thanks for your help.






