Подтвердить что ты не робот

FacebookSdk.sdkInitialize(Контекст) устарел

Я использую facebook-android-sdk-4.19.0 в Android Studio, и я следил за быстрым руководством по Facebook в https://developers.facebook.com/docs/android/getting-started (нажмите Quick Кнопка "Старт", чтобы войти в свою учетную запись на 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);
    }
}

Однако, когда я копирую код в андроид-студии, кажется, что все методы FacebookSdk.sdkInitialize() устарели. Документация здесь https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/ ничего не сообщает о том, какой метод использовать для инициализации sdk вместо sdkInitialize(). Какой метод следует использовать?

4b9b3361

Ответ 1

Из документации по обновлению SDK:

Теперь SDK Facebook автоматически инициализируется при запуске приложения. если ты используют SDK для Facebook в основном процессе и не нуждаются в обратный вызов при завершении инициализации SDK, теперь вы можете удалить вызовы FacebookSDK.sdkInitialize. Если вам нужен обратный вызов, вы должны вручную вызовите обратный вызов в вашем коде.

Обратитесь к: https://developers.facebook.com/docs/android/upgrading-4x

UPDATE

В SDK 4.22 поля title, description, caption и image FBSDKShareLinkContent устарели. Попробуйте удалить их из использования.

Ответ 2

FacebookSdk.sdkInitialize(getApplicationContext()); 

Этот метод устарел, поэтому просто удалите эту строку кода в вашем классе. потому что, согласно последним версиям Facebook, нам не нужно инициализировать SDK вручную, он инициализируется сам по себе.

Ответ 3

Так что вместо вызова устаревших методов вы можете вызвать AppEventsLogger.activateApp(Application) внутри класса приложения onCreate()

public class MyApplication extends Application{

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

Ответ 4

У меня была такая же эмиссия, и вот как я ее разрешаю: Поместите эту строку кода в файл манифеста

    <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 Благодаря