Application类中registerActivityLifecycleCallbacks未执行导致开屏广告无法展示的解决求助
Application类中registerActivityLifecycleCallbacks未执行导致开屏广告无法展示的解决求助
各位大佬,我最近碰到一个棘手的问题:我需要从远程配置里获取广告网络的偏好设置,然后根据这个值给用户展示开屏广告,但把逻辑放在Application类里的时候,广告完全不显示。
我的Application类onCreate方法里的代码是这样的:
@Override public void onCreate() { super.onCreate(); if (AdNetworkFirebaseConfig.isAppLovin()) { appOpenAppLovinCallback(); // Show Applovin ads } else { Log.e("AdNetworkConfig", "Showing ads..."); appOpenAppCallback(); // Show ads } });
我发现如果不在Activity生命周期相关的逻辑里执行,整个广告加载流程就直接跳过了,设备上根本看不到广告。特别是我实现的appOpenApplovinCallback方法,里面注册的ActivityLifecycleCallbacks完全没被触发,连onActivityCreated里的日志都打不出来:
private void appOpenApplovinCallback() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() { // 根本没有走到这里的逻辑 @Override public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) { Log.e("activity name", activity.toString()); } @Override public void onActivityStarted(Activity activity) { if (++activityReferences == 1 && !isActivityChangingConfigurations) { // App enters foreground loadAppOpenAdandShowAd(); } } @Override public void onActivityResumed(Activity activity) { } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) { isActivityChangingConfigurations = activity.isChangingConfigurations(); if (--activityReferences == 0 && !isActivityChangingConfigurations) { // App enters background onEnterBackground(); } } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { } }); } }
有没有大佬能帮我看看问题出在哪?为什么Application里注册的生命周期回调没执行,导致开屏广告没法展示?
备注:内容来源于stack exchange,提问作者sejn
相关产品推荐
相关产品推荐

