Estou usando o facebook-android-sdk-4.19.0 no Android Studio e segui o guia de início rápido do Facebook em https://developers.facebook.com/docs/android/getting-started (Clique no botão Quick Start para entre com sua própria conta do Facebook). No guia, é instruído a copiar e colar o seguinte código no snippet para rastrear os logs do aplicativo
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);
}
}
No entanto, quando copio e colo o código no android studio, parece que todos os métodos FacebookSdk.sdkInitialize () estão obsoletos. A documentação aqui https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/ não diz nada sobre qual método usar para inicializar o sdk em vez de sdkInitialize (). Que método devo usar?
Respostas:
Da documentação sobre atualização do SDK:
Consulte: https://developers.facebook.com/docs/android/upgrading-4x
ATUALIZAR
No SDK 4,22 o
title
,description
,caption
eimage
campo deFBSDKShareLinkContent
são preteridos. Considere removê-los do uso.fonte
"on Application start"
sem a necessidade de adicionar nada emApplication.onCreate()
??Este método está obsoleto, então simplesmente exclua esta linha de código em sua classe. porque de acordo com o Facebook mais recente, agora não precisamos inicializar o SDK manualmente, ele é inicializado sozinho.
fonte
Então, em vez de chamar os métodos obsoletos, você pode chamar
AppEventsLogger.activateApp(Application)
onCreate () da classe do seu aplicativofonte
public static void activateApp(Context context)
está obsoleto. Sugere usar isso . Para que eu substituídoMainActivity.this
comgetApplication()
.MyApplication.this
também é o mesmoApplication
objeto. Posso perguntar qual é a necessidade de substituí-logetApplication()
? Eu simplesmente usothis
(que também é o mesmo queMyApplication.this
) e é recebido comoApplication
Meu requisito era desativar o autoInit na inicialização do aplicativo e inicializá-lo a partir do método onCreate de Activity. O AutoInit antes do lançamento do aplicativo estava fazendo meu aplicativo flutter demorar para iniciar em conexões de rede lentas.
Desativar AutoInit do manifesto
Inicializar Fb sdk no método onCreate da atividade
fonte
FacebookSdk.sdkInitialize(getApplicationContext());
Não há necessidade desse método, como diz o documento do Facebook: Esta função inicializa o SDK do Facebook e é chamada automaticamente na inicialização do aplicativo se as entradas adequadas estiverem listadas no AndroidManifest, como o id do aplicativo do Facebook. O registro automático de eventos de 'activateApp' pode ser controlado por meio da configuração de manifesto 'com.facebook.sdk.AutoLogAppEventsEnabled'.
fonte