You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级targetSdk至31后Facebook受众网络SDK出现PendingIntent崩溃如何解决

根因说明

本次崩溃是com.facebook.android:audience-network-sdk:5.5.0版本未适配Android 12(API 31)系统规则导致:Android 12及以上要求所有PendingIntent必须明确指定FLAG_IMMUTABLE或FLAG_MUTABLE标识,而你当前使用的5.5.0版本SDK发布早于Android 12正式版,内部创建PendingIntent时未添加对应标识,触发系统校验异常。

解决方案

方案1:升级Audience Network SDK(优先推荐)

Facebook官方在6.8.0及以上版本的Audience Network SDK中已正式修复该兼容问题,直接将依赖升级到支持API31的稳定版即可,参考配置:

implementation ('com.facebook.android:audience-network-sdk:6.14.0'){ // 可替换为最新官方稳定版
        exclude group: 'com.google.android.gms'
    }

升级后完成全广告场景测试,原有多进程支持配置、测试设备配置无需特殊调整即可正常运行。

方案2:临时兼容方案(仅适用于暂时无法升级SDK的场景)

如果当前业务暂不支持升级SDK版本,可通过反射Hook系统PendingIntent相关的创建方法,在API31及以上系统中自动为未指定标识的PendingIntent追加FLAG_IMMUTABLE属性,拦截崩溃。该方案属于临时过渡手段,存在系统版本适配风险,不建议长期使用。

额外注意事项
  • 升级SDK后优先在Android 12及以上设备上测试开屏、插屏、激励视频等所有广告场景,确认无兼容问题再上线。
  • 同步排查自身业务代码中所有创建PendingIntent的位置,按系统要求添加对应标识,避免其他业务场景出现同类崩溃。

内容的提问来源于stack exchange,提问作者Nanda Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:36:03