Facebook SDK für Android - Legen Sie die Anwendungs-ID programmgesteuert fest

8

Ich habe eine native Android-App, die auf der Grundlage einer App-Einstellung, die zur Laufzeit geändert werden kann, eine Verbindung zu einer anderen Facebook-App (unterschiedliche Anwendungs-ID) herstellen muss.

Stellen Sie sich vor, die App kann so eingestellt werden, dass sie auf DEV, TEST oder PROD zeigt. Wenn auf DEV verwiesen wird, sollte die FB Application ID "1" sein. Wenn auf TEST verwiesen wird, sollte die FB-Anwendungs-ID "2" sein. usw.

Das Problem ist, dass der UiLifecycleHelper vom Facebook-SDK während der onCreate-Phase automatisch die "com.facebook.sdk.ApplicationId" aus der AndroidManifest.xml liest. Es scheint keinen Weg zu geben, dies programmatisch zu setzen.

Ist es möglich, UiLifecycleHelper zu verwenden und zur Laufzeit auf eine andere Anwendungs-ID zu zeigen oder muss ich auf die manuelle Verwaltung der Sitzung zurückgreifen?

    
Matt Accola 25.02.2013, 17:35
quelle

6 Antworten

3

Ich habe beschlossen, das facebook-android-sdk-Projekt auf GitHub auszuweiten und die notwendigen Änderungen vorzunehmen. Ich habe eine Pull-Anfrage mit meinen Änderungen eingereicht, wenn jemand interessiert ist, Ссылка .

    
Matt Accola 26.02.2013, 06:39
quelle
23

Hallo, alles, was ich oben weiß, ist die richtige Antwort für older sdk version , aber in facebook sdk 4 gibt es keine Session class

Sie können es einfach mit diesem einzeiligen Code tun:

%Vor%

Danke!

    
Hardy 14.04.2015 08:32
quelle
13

Hier, was ich verwendet habe, um die Anwendungs-ID programmatisch zu setzen

%Vor%     
Ravi Kumar 10.06.2013 02:16
quelle
3

Ja, Sie können es programmgesteuert festlegen. Verwenden Sie die Sessions $ Builder-Klasse, mit der Sie eine Sitzung erstellen können, ohne einen der privaten Konstruktoren verwenden zu müssen.

%Vor%     
mhradek 08.04.2013 22:58
quelle
2

Ich denke, es gibt einen einfacheren Weg, dies zu tun, rufen Sie einfach die statische Methode setApplicationId com.facebook.Settings.setApplicationId(facebookID);

Und du bist gut zu gehen. Keine Notwendigkeit, eine Sitzung manuell mit dem Builder zu erstellen und sie als aktive Sitzung festzulegen!

Details des Fehlers:

Die von Ihnen in der Einstellungsklasse festgelegte facebookID wird von getMetadataApplicationId methode von com.facebook.internal.Utility

verwendet %Vor%

Dies wird wiederum von allen Anrufen verwendet, um eine Sitzung zu erstellen:

%Vor%

Prost.

    
MAB 12.11.2014 16:14
quelle
0

können Sie nicht einfach das SDK forken und diese Änderungen selbst hinzufügen?

    
outlying 25.02.2013 17:44
quelle

Tags und Links