android - 在 Android 上 React Native Facebook SDK 初始化
问题描述
我正在将 Faecbook SDK 集成到现有的 react-native 项目中,并且出现了可怕的错误: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.
我已仔细按照说明进行操作,因此 strings.xml 包含:
<string name="facebook_app_id">xxxxx</string>
在 AndroidManifest.xml 的应用程序元素中,我有
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
我已经按照描述对 settings.gradle 和 build.xml 进行了更改。
FacebookSdk.sdkInitialize()
所有的说明都说如果我完成了上述操作,我不需要打电话。我正在使用 react-native-fbsdk 版本 1.1.1 和 react native 0.60.5
当我按照一个简单的新 react-native 项目的说明进行操作时,它可以工作,所以我想知道它是否与应用程序中的某些内容发生冲突,但我不确定要寻找什么。谁能建议如何调试?
谢谢。
解决方案
万一它对其他人有帮助,我通过创建一个带有 fbsdk 集成的 vanilla react-native 应用程序并煞费苦心地从我的真实应用程序复制配置直到 facebook 集成停止工作,从而找到了罪魁祸首。
事实证明,tools:node="replace"
从 AndroidManifest.xml 中的应用程序元素中删除解决了这个问题。
<application
...
tools:node="replace">
(我不确定为什么要添加这个属性,添加它的开发人员的 git commit 消息很神秘,没有它,应用程序似乎仍然可以工作......)
推荐阅读
- go - 如何在 Go 中使用 Minio 预签名 URL
- node.js - 在 Kubernetes 中将 Reactjs 应用程序连接到 Express 服务器和 DocumentDB (AWS MongoDB)
- c - C 函数阴影:为什么这个例子不起作用?
- oauth-2.0 - 如何将我的 OAuth 会话返回给 Bixby?
- r - 对于R中的新对象,如何通过下标赋值?
- c - C程序打印直角三角形
- r - 如何使用 R 中的映射文件更改多个数据框中的列名称?
- java - 在具有空值的情况下按列对二维 Java 字符串数组进行排序
- java - 在屏幕上打印 .txt
- c - 函数返回 1 而不是一个值?