web-dev-qa-db-ja.com

FacebookSdk.sdkInitialize(Context)は推奨されていません。

私は、Android Studioでfacebook-Android-sdk-4.19.0を使用しています。Facebookのクイックスタートガイドに従って https://developers.facebook.com/docs/Android/getting-started (自分の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/ sdkInitialize()の代わりにsdkを初期化するためにどのような方法を使うべきかについては何も述べていません。どの方法を使用すればいいですか。

91

SDKのアップグレードに関するドキュメントから:

Facebook SDKはアプリケーション起動時に自動初期化されるようになりました。メインプロセスでFacebook SDKを使用していて、SDKの初期化完了時にコールバックが不要な場合は、FacebookSDK.sdkInitializeへの呼び出しを削除できます。コールバックが必要な場合は、コード内でコールバックを手動で呼び出す必要があります。

参照してください: https://developers.facebook.com/docs/Android/upgrading-4x

UPDATE

SDK 4.22では、titledescriptioncaptionimageおよびFBSDKShareLinkContentフィールドは推奨されません。使用からそれらを削除することを検討してください。

118
Yupi
FacebookSdk.sdkInitialize(getApplicationContext()); 

このメソッドは推奨されていないので、クラス内のこのコード行を削除するだけです。最新のFacebookによれば、SDKを手動で初期化する必要はないので、それだけで初期化されます。

8
VaibhavBhosale

したがって、廃止予定のメソッドを呼び出す代わりに、アプリケーションクラスのonCreate()内でAppEventsLogger.activateApp(Application)を呼び出すことができます。

public class MyApplication extends Application{

    @Override
    public void onCreate() {
        super.onCreate();
        AppEventsLogger.activateApp(getApplication());
    }
}
4
Rakesh Yadav