Facebook UNITY SDK login Problem
Ich habe gerade installiert die neue version von Unity 4.3 und die neue facebook-sdk und die ich nicht bekommen kann es arbeiten.
Habe ich die app auf facebook, kopiert über die app-id, um die Einheit der facebook-Einstellungen wie erforderlich, und kopiert die Package Name und Class name zurück zu facebook.
Weil die Android Key Hash leer ist ( obwohl es dies eigentlich nicht sein sollte ) ich habe die Methoden von anderen veröffentlicht, um eine zu erstellen mit openssl. Ich habe es kopiert und über facebook als erforderlich.
Nach dieser habe ich ein kleines Skript zum einloggen.
//Use this for initialization
void Start () {
enabled = false;
FB.Init(SetInit, OnHideUnity);
}
//Update is called once per frame
void Update () {
}
private void SetInit()
{
FbDebug.Log("SetInit");
enabled = true; //"enabled" is a property inherited from MonoBehaviour
if (FB.IsLoggedIn)
{
FbDebug.Log("Already logged in");
OnLoggedIn();
}
}
private void OnHideUnity(bool isGameShown)
{
FbDebug.Log("OnHideUnity");
if (!isGameShown)
{
//pause the game - we will need to hide
Time.timeScale = 0;
}
else
{
//start the game back up - we're getting focus again
Time.timeScale = 1;
}
}
void OnGUI(){
if (!FB.IsLoggedIn)
{
if (GUI.Button(new Rect(179 , 11, 287, 160), "Login to Facebook"))
{
FB.Login("email", LoginCallback);
}
}
}
void LoginCallback(FBResult result)
{
FbDebug.Log("LoginCallback");
Debug.Log("LoginCallback");
if (FB.IsLoggedIn)
{
OnLoggedIn();
}
}
void OnLoggedIn()
{
FbDebug.Log("Logged in. ID: " + FB.UserId);
}
Nun, wenn ich auf den login-button einer Facebook-Fenster angezeigt, um die Erlaubnis, nachdem ich " ok " drücken, kehrt es zurück, aber ich bin immer noch nicht angemeldet... Kann jemand helfen warum das so ist?
Eine andere seltsame Sache, die ich beobachtet habe, dass die LoginCallback wird aufgerufen, sobald ich auf den login-button, obwohl ich denke, es sollte nur, wenn ich die Erlaubnis gab. Jedenfalls, wenn ich die Erlaubnis geben, es zurück zu meiner app und nichts passiert. Ich kann Sie auf den login-button wieder und die gleiche Sache passiert, login callback aufgerufen, fragt er nach permisions, gebe ich die Genehmigung und zurück, nichts passiert. Kann jemand helfen?
- Beachten Sie die drei Bilder hier von Brian: answers.unity3d.com/questions/543540/... Für 5/2014 das problem ist immer noch 100% ein problem, insbesondere wenn Sie einen Mac verwenden, für die Einheit der Entwicklung. Hier ist die komplette Lösung, die "Rafael-Lösung": "answers.unity3d.com/questions/609810/... Ändern public void OnLoginComplete(string message) in AndroidFacebook.cs und zeigen Sie Ihre eigenen keyhash. Genial!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Version 4.3.6 von der sdk sollte das problem lösen. Es ist hier verfügbar: https://developers.facebook.com/ warten Wir noch auf Sie zugelassen auf den asset-store, so dass der einzige Ort, um es jetzt von der Facebook-Website.
Hinweis - es ist immer noch gebrochen (5/2014), WENN Sie einen Mac verwenden. Folgen Sie einfach den "Rafael Lösung", entdecken Sie Ihre hash richtig aus public void OnLoginComplete(string message). Cheers
So nach und nach frustriert für ein paar Tage, die mit der trace out die Schlüssel zu meinem Handy, habe ich beschlossen, zu schauen, was es macht.
Nach etwas recherche stellte sich heraus, dass, wenn Sie veröffentlicht ein android-Gerät, facebook würde mit dem keystore definiert wurde, in Ihren Einstellungen zu veröffentlichen, nicht Ihre .android/debug.keystore-Datei. Also ging ich und änderte die sdk zu machen, arbeiten den richtigen Weg. Im wesentlichen änderte ich die SDK zu schauen in den ProjectSettings anstelle des debug-Verzeichnis für die Aufbereitung der Schlüssel-hash. In der FacebookAndroidUtils.cs habe ich noch folgende.
Habe ich ein kleines repo bietet das Update, sowie einige gui änderungen, um es einfach zu aktualisieren, der Schlüssel-hash.
Hoffe, das hilft!
Nehmen Sie die "email" - permission aus der login-Funktion und probieren Sie es. Oops ich dachte, ich gesehen die "publish_actions" Erlaubnis dort auch.
Stellen Sie sicher, dass die loginactivity in der manifest im portrait.
Nicht umsetzen, sondern alles sich selbst, versuchen, mit der kostenlosen und open-source-SOOMLA Profil-plugin für alle Ihre sozialen Netzwerk muss:
https://github.com/soomla/unity3d-profile
Stehen auch auf der asset store zum download:
https://www.assetstore.unity3d.com/en/#!/Inhalt/24601
Deckt Facebook, Twitter und Google+ und bietet eine einheitliche API für die Anmeldung, Verbuchung Statuen, Bilder hochladen und erste Freunde-Listen. Für die ordnungsgemäße Offenlegung, ich bin einer der Gründer.