Hi, I'm building a custom AdMob extension for MIT App Inventor using Java.
I added a function like this:
@SimpleFunction(description = "Initialize AdMob SDK")
public void StartAdMob(final String appId) {
if (appId == null || appId.trim().isEmpty()) {
AdMobInitializationFailed("App ID cannot be null or empty");
return;
}
final String finalAppId = appId.trim();
if (activity != null) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
try {
if (!isInitialized) {
MobileAds.initialize(context, finalAppId);
isInitialized = true;
AdMobInitialized();
}
} catch (Exception e) {
AdMobInitializationFailed(e.getMessage());
}
}
});
} else {
AdMobInitializationFailed("Activity context is null");
}
}
The method is properly annotated with @SimpleFunction
, and it's inside my extension class. However, when I try to call it from the blocks, I get this error:
invoke: no method named 'StartAdMob' in class java.lang.Boolean
I’m not assigning the result to any variable or misusing any return values in blocks.
What could be causing this issue?
Thanks in advance.