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

如何为google_mobile_ads设置locale使广告匹配设备系统语言?

iOS端google_mobile_ads包广告语言不匹配设备locale的解决方法
  • 修正Info.plist本地化配置
    iOS系统默认会限制应用读取未声明的系统语言配置,你需要在项目ios/Runner/Info.plist中添加CFBundleLocalizations字段,声明应用支持的所有语言代码,示例配置如下(可根据实际支持的语言增减数组项):
    <key>CFBundleLocalizations</key>
    <array>
      <string>en</string>
      <string>es</string>
      <string>zh-Hans</string>
    </array>
    
  • 构建广告请求时显式传入locale参数
    你可以主动获取当前设备的locale标识,在构建AdRequest时通过额外参数传入,强制SDK按指定语言拉取广告,Flutter侧示例代码如下:
    import 'dart:io';
    
    final adRequest = AdRequest(
      keywords: <String>['flutter', 'mobile app'],
      contentUrl: 'https://your-app-content-url.com',
      // 新增如下行传入当前设备locale
      additionalParameters: {'locale': Platform.localeName},
    );
    
  • 检查AdMob后台广告投放配置
    登录你的AdMob后台,进入对应应用的广告单元设置页面,确认「语言定位」选项未强制指定西班牙语,调整为匹配用户设备语言即可。
  • 清理缓存重新测试
    如果你此前使用过测试广告ID拉取过西班牙语广告,SDK会缓存广告资源,修改配置后需要完全卸载设备上的测试应用,重新打包安装后再验证广告语言。

提示:官方提供的固定测试广告ID的展示语言是预设固定的,不受locale参数控制,建议使用开启了测试权限的正式广告单元ID进行验证。

内容的提问来源于stack exchange,提问作者anonymous-dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:57:04