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

React Native应用Facebook分享报错:Failed to get app name求助

解决React Native分享到Facebook时出现“Failed to get app name”的问题

这个错误FacebookException: Failed to get app name通常是因为Facebook SDK无法正确获取你的应用名称,大概率是AndroidManifest配置缺失或者字符串资源配置有问题。我来帮你一步步排查解决:

1. 先检查字符串资源配置

首先打开res/values/strings.xml,确认两个关键字符串是否正确定义:

<!-- 你的应用名称,必须和AndroidManifest里引用的一致 -->
<string name="app_name">你的应用全称</string>
<!-- 在Facebook开发者后台申请的应用ID -->
<string name="facebook_app_id">1234567890</string>

这里要确保app_name不是空值,而且拼写和AndroidManifest里的引用完全一致。

2. 补全AndroidManifest的必要配置

你提供的配置里缺少了Facebook SDK获取应用名称必须的meta-data项,同时还要注意Android 12+的兼容性配置。把以下内容补充到你的AndroidManifest.xml的<application>标签内:

<!-- 你已有的ApplicationID配置保留 -->
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<!-- 新增这一行,让Facebook SDK能拿到应用名称 -->
<meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/app_name"/>

<!-- 完善FacebookActivity配置,Android 12+必须加android:exported="true" -->
<activity
    android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name"
    android:exported="true"/>

<!-- 如果你的分享用到了Facebook自定义标签(大部分场景都需要),添加这个Activity -->
<activity
    android:name="com.facebook.CustomTabActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <!-- 这里的scheme是fb+你的Facebook应用ID,比如fb1234567890 -->
        <data android:scheme="@string/fb_login_protocol_scheme"/>
    </intent-filter>
</activity>

另外,别忘了在Manifest的根标签下添加网络权限:

<uses-permission android:name="android.permission.INTERNET"/>

3. 清理重建项目

配置修改后,一定要清理并重新构建项目,避免缓存问题:

  • 如果你用Android Studio:点击顶部菜单Build -> Clean Project,然后Build -> Rebuild Project
  • 如果你用命令行:进入项目的android目录,执行./gradlew clean && ./gradlew assembleDebug

额外排查点

如果上面的步骤还没解决问题,可以检查:

  • 确认Facebook开发者后台的Android平台配置里,包名、签名哈希值和你的项目完全匹配,这是很多人容易忽略的点
  • 检查React Native的Facebook SDK依赖版本和Android端的依赖版本是否兼容,尽量使用官方推荐的匹配版本

内容的提问来源于stack exchange,提问作者adi.neag

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:58:34