我在Android Studio中使用facebook-android-sdk-4.19.0,然后在https://developers.facebook.com/docs/android/getting-started点击Facebook快速入门指南(点击“快速启动”按钮,使用自己的Facebook帐户登录)。在指南中,它被告知要将以下代码复制并粘贴到代码段中以跟踪应用日志
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
}
}
然而,当我在android studio中复制粘贴代码时,似乎不推荐使用所有的FacebookSdk.sdkInitialize()方法。这里的文档https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/没有说明用什么方法来初始化sdk而不是sdkInitialize()。我应该使用什么方法?
答案 0 :(得分:117)
有关升级SDK的文档:
Facebook SDK现在已在应用程序启动时自动初始化。如果你 在主要过程中使用Facebook SDK而不需要 SDK初始化完成后回调你现在可以删除对它的调用 FacebookSDK.sdkInitialize。如果你确实需要回调,你应该 手动调用代码中的回调。
请参阅:https://developers.facebook.com/docs/android/upgrading-4x
<强>更新强>
在SDK 4.22中,不推荐使用title
的{{1}},description
,caption
和image
字段。考虑将它们从使用中删除。
答案 1 :(得分:7)
FacebookSdk.sdkInitialize(getApplicationContext());
不推荐使用此方法,因此只需在类中删除此行代码即可。因为根据最新的Facebook,我们现在不需要手动初始化SDK,它会自行初始化。
答案 2 :(得分:4)
所以,不要调用已弃用的方法,而是可以在应用程序类的onCreate()中调用AppEventsLogger.activateApp(Application)
public class MyApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
AppEventsLogger.activateApp(getApplication());
}
}
答案 3 :(得分:1)
我的要求是在应用启动时禁用autoInit,并通过Activity的onCreate方法对其进行初始化。应用启动前的AutoInit导致我的Flutter应用需要花费一些时间才能通过缓慢的网络连接启动。
从清单禁用自动初始化
<meta-data android:name="com.facebook.sdk.AutoInitEnabled"
android:value="false"/>
在活动的onCreate方法中初始化Fb sdk
FacebookSdk.fullyInitialize();
AppEventsLogger.activateApp(application);
答案 4 :(得分:0)
FacebookSdk.sdkInitialize(getApplicationContext());
不需要这种方法,因为Facebook文档说: 如果AndroidManifest中列出了正确的条目(例如facebook应用程序ID),则此函数将初始化在应用程序启动时自动调用Facebook SDK。可以通过“ com.facebook.sdk.AutoLogAppEventsEnabled”清单设置来控制来自“ activateApp”的自动事件记录。
答案 5 :(得分:-7)
我有同样的问题,这就是我解决它的方法: 将这行代码放在清单文件中
<application android:label="@string/app_name" ...>
...
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
...
</application>
https://developers.facebook.com/docs/android/getting-started 感谢