【问题标题】:Facebook Audience Network Ads integration IssueFacebook Audience Network 广告集成问题
【发布时间】:2019-02-14 07:25:44
【问题描述】:

E/FBAudienceNetwork:您正在使用自定义应用程序类并且不调用 AudienceNetworkAds.isInAdsProcess()。多进程支持将被禁用。如果您想支持多进程模式,请调用 AudienceNetworkAds.isInAdsProcess()。

implementation 'com.facebook.android:audience-network-sdk:5.1.0'
implementation 'com.mopub.mediation:facebookaudiencenetwork:5.1.0.2'

我正在使用 FAN 和 Mopub。

如何解决上述问题?提前致谢。

【问题讨论】:

  • 你在哪里继承应用程序类?我没有继承应用程序类,我在启用 multidex 后收到了这个,不确定它是错误还是什么

标签: android mopub facebook-audience-network


【解决方案1】:

这可能是因为您使用了自定义应用程序子类。将 AudienceNetworkAds.isInAdsProcess() 调用放在您的自定义 Application 类之上,如下所示:

public class YourApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        if (AudienceNetworkAds.isInAdsProcess(this)) {
            return;
        }

        // your normal onCreate() code
    }
}

现在警告应该消失了。

或者,您可以通过设置关闭多进程支持(不推荐):

AdSettings.setMultiprocessSupportMode(MultiprocessSupportMode.MULTIPROCESS_SUPPORT_MODE_OFF);

注意。您应该在调用 SDK 方法或 MoPub 中介之前调用它。

【讨论】:

  • 我在 Audience Network SDK API 参考中发现了同样的内容,如果当前进程是由 Audience Network SDK 创建的,我应该跳过所有其他初始化。我只是想知道为什么 Audience Network SDK 尝试实例化应用程序,以及为了什么?
  • @ZhouX AN SDK 支持在单独的进程中运行广告,但是如果您启动第二个进程,它将实例化 Application 类的第二个实例(这是 Android 框架的设计方式)。这就是为什么您应该防止任何代码从 Application.onCreate() 并发运行,因为如果您在没有同步的情况下访问文件,它们可能会损坏。希望这会有所帮助。
  • 谢谢!然后我猜 AN 默认使用多进程模式,这就是我们面临这个警告的原因。我可以理解不同的进程拥有自己的应用程序实例,只是对AN不太熟悉,在分离(专用)进程中运行广告有什么好处?
  • @ZhouX 运行单独进程有两个主要好处:1)这可以节省主进程的内存,例如对游戏有用; 2)单独进程内的任何崩溃都不会影响主进程。
  • 对,这是有道理的,这将是一个 SDK 消耗内存而不是应用程序本身来减少 OOM 错误,尤其是对于游戏。谢谢!
【解决方案2】:

如果您使用的是 Facebook Audience Network,则必须在您的依赖项中实现两个最新的 sdk,然后您可以调用 facebook sdk 的所有回调(查看此链接-https://developers.facebook.com/docs/audience-network/guides/adding-sdk/android

这里忘记添加(支持注解依赖)。

在 Android Studio 中,确保 mavenCentral() 或 jcenter() 包含在项目的存储库列表中。存储库在项目的模块级 build.gradle 文件中定义。

repositories {
    mavenCentral()
    jcenter()
}

接下来,将以下实现依赖项添加到项目的依赖项列表中。依赖项也在项目的模块级 build.gradle 文件中定义。请注意,Audience Network SDK 需要注释支持。

dependencies { 
    implementation 'com.android.support:support-annotations:28.0.0'
    implementation 'com.facebook.android:audience-network-sdk:5.+'
}

编码愉快 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2021-08-01
    相关资源
    最近更新 更多