Wie ein Eingeborener Facebook Like Button auf Ihrem Android-App mit Facebook-SDK für Android v4 hinzufügen

Nach dem Graben durch Quellcode des Facebook-SDK. Ich fand, dass LikeView ist so konzipiert, voll funktions zu arbeiten, wenn die Anwendung nur auf Facebook-App verbunden ist. Und ... nun ja. AFAIK gibt es keine jedes Dokument darüber erwähnt.
Nach ein paar Versuchen, schließlich fand ich die nachhaltig LikeView arbeitet voll funktional und dennoch eine gute User Experience Praxis zu machen. Gehen wir durch sie Schritt-für-Schritt.
Erstellen Sie eine Facebook App
Wie oben erwähnt, wird die Applikation benötigt, um mit Facebook-App verbunden werden LikeView arbeitet voll funktional zu machen. Der erste Schritt ist ein Facebook-App zu erstellen.

Geben Sie Ihren bevorzugten Facebook App und drücken Sie dann Neuen Facebook App-ID erstellen

Wählen Sie eine Kategorie und drücken Sie App-ID erstellen

Sie werden nun in Facebook App-Einstellungen Seite weitergeleitet. Bitte nach unten scrollen und in diesen Bereichen über Ihr Android-Projekt füllen: Paketnamen und Standardaktivität Klassennamen. Drücken Sie auf Weiter.

Hier kommt ein wenig komplizierter Teil. Um Ihren Android-App funktioniert einwandfrei mit Facebook App im Debug-und Produktionsmodus zu machen, müssen Sie jeweils in Debug Key Hash und Freigabe Key Hash füllen.

Es gibt zwei Möglichkeiten, diese Schlüssel Hashes zu generieren: über die Befehlszeile und durch Java-Code.
Methode 1 - Durch Command Line
Im Fall, dass Sie Mac oder Linux und Sie bereits keytool (kommt zusammen mit JDK) und openssl installieren. Sie könnten die folgenden durch Command Line einfach tun:
Oder wie dies unter Windows:
Geben Sie die gehasht Schlüssel bekam in beiden Development Key Hashes und Release-Key Hash Felder aus.
Und der folgende Befehl wird verwendet, um einen Key Hash für die Bereitstellung Schlüsselspeicher zu erzeugen, mit Facebook-App im Produktionsmodus lassen Sie Ihre App funktioniert.
Setzen Sie den generierten Schlüssel in Release Key-Hash-Feld.
Methode 2 - Durch Java-Code
Im Fall nicht installiert hat Sie nicht keytool und openssl noch, und Sie wollen nicht zu tun. Sie könnten diese Schlüssel Hashes durch Java-Code mit dem folgenden Code-Schnipsel-Code generieren. Bitte vergessen Sie nicht, die Paketnamen zu Ihrer App zu ändern.
Um Development Key Hash zu generieren, können Sie einfach führen Sie Ihre Anwendung direkt von Ihrem IDE und kopieren Sie den erzeugten Schlüssel Hash zurück in logcat gesendet, steckte es in den beiden Development Key Hashes und Release-Key Hash Felder aus.
So generieren Freigabeschlüssel Hash, müssen Sie Ihre Anwendung anmelden mit Schlüsselspeicher Sie planen, in der Produktion apk zu verwenden. Führen Sie das signierte apk in Ihrem Gerät oder Emulator und setzen erzeugt Key Hash Key-Hash-Feld zu lösen.
Bitte beachten Sie, dass Key Hash für Produktionsfreigabe später ausgefüllt werden kann. Die wichtig für jetzt ist Development Key Hash, die Sie brauchen in beide Development Key Hashes setzen und Key Hash Felder freigeben.

Drücken Sie auf Weiter und scrollen Sie nach unten auf der Seite und drücken Sie dann zum Entwickler-Dashboard überspringen Ihre gerade erstellte App Dashboard aufzurufen.

Kopieren Sie App-ID für die zukünftige Verwendung.

Sie sind jetzt eine Facebook-App fertig zu schaffen!
Setup Facebook SDK in Ihrem Projekt
Schalten wir nun auf Client-Teil. Zunächst einmal einfach eine Abhängigkeit für Facebook SDK v4 hinzufügen, die jetzt (endlich) verfügbar über mavenCentral und jcenter.
Fügen Sie eine Zeichenfolge-Ressource für Facebook Anwendungs-ID wie Code unten. (Ändern Sie die Nummer auf Ihrem Facebook-App-ID)
Platzieren Sie den Code unten in AndroidManifest.xml Recht vor und es ist wichtig tochange die Zahl nach FacebookContentProvider Ihrem Facebook-App-ID.
INTERNET Erlaubnis für LikeView benötigt. Vergessen Sie nicht, diese Zeile innerhalb AndroidManifest.xml hinzuzufügen, bevor
Wenn Sie nicht getan haben, noch ein Custom Application-Klasse machen, tun Sie es und fügen Sie Linie von Codes unter Facebook-SDK in v4 Weise zu initialisieren.
Geben Sie einen Scheck, dass Custom Application bereits in AndroidManifest.xml definiert ist.
Und Sie sind jetzt fertig Einrichten Facebook SDK in Ihrem Android-App = D
Spielen Sie mit LikeView
Ihre App ist jetzt fertig. Lassen Sie uns ein wenig mit LikeView spielen, indem sie einfach auf das Layout platzieren.
Und gehen Sie wie folgt in Java-Code sein Aussehen einzurichten.
Set LikeView URL durch setObjectIdAndType Methode.
Hier ist das Ergebnis. Es klappt !

Auf jeden Fall scheint es, dass es nicht perfekt gerade noch funktioniert. Hier sind die beiden großen Sorgen.
Problem 1: Wie Zahl und Status nicht, bis Sie Like-Button drücken zeigt.
Problem 2: Funktioniert nicht in Gerät, die Facebook-App ist nicht installiert.

Einige Abhilfe erforderlich ist. Facebook Login erforderlich LikeView machen zeigten ansonsten Taste mit dem gleichen Aussehen Anmeldung als LikeView stattdessen kommen wird.
Es ist nichts kompliziert. Ich schaffe nur einfach eine Schaltfläche Login Linearlayout mit und lassen Sie es mit LikeView in RelativeLayout zusammen sein.
Und dann tun, um die Logik in Java-Code mit etwas Hilfe von Loginmanagern. CallbackManager und AccessToken in Facebook-SDK für Android v4 vorgesehen, um einen Log-Flow und Statusüberprüfung zu verwalten.
Es ist fertig. Lassen Sie uns das Ergebnis sehen =)
Wenn die Anwendung noch nicht auf Facebook-App verbunden. Unser kundenspezifischen Login-Button würde statt LikeView gezeigt werden, wie vorgesehen.

Sobald Login-Button geklickt wird, wird es Benutzer umleiten Prozess zur Anmeldung.



Ein Nebenprodukt dieses Verfahrens ist LikeView Taste ohne Facebook-Anwendung auf dem Gerät arbeitet ebenfalls installiert. Es bedeutet, dass es auch auf Chrome oder auf ARC Welder funktioniert!

FBLikeAndroid Bibliothek
Um es so einfach wie möglich zu verwenden. Ich habe eine Bibliothek, einen Job für Sie zu tun. FBLikeAndroid ist eine Bibliothek kommt mit Login-Button auf, die automatisch auf einheitlichen Like Button ändern werden, wenn die Anwendung auf Facebook-App verbunden ist.

Um es zu nutzen, haben Sie ein Facebook-App und Setup-Projekt erstellen, wie oben geschrieben. Und dann fügen Sie einfach die folgende Abhängigkeit zu Ihrer App build.gradle. Bitte beachten Sie, dass Facebook SDK v4 bereits in dieser Abhängigkeit enthalten ist, so dass Sie keine Notwendigkeit, eine zusätzliche Abhängigkeit hinzuzufügen.
Legen Sie com.inthecheesefactory.lib.fblike.widget.FBLikeView überall starten Sie die Komponente.
LikeView innen FBLikeView ist bereits das Erscheinungsbild auf STANDARD eingestellt, so dass Sie keine Notwendigkeit, es wieder zu setzen, wenn Sie seinen Stil ändern müssen. Für den Zugriff auf LikeView innen angebracht, können Sie es durch eine Getter-Funktion tun könnte, getLikeView (). Der folgende Code wird verwendet, um eine URL für LikeView einzustellen.
Der letzte Schritt, haben Sie FBLikeView.onActivityResult in jeder einzelnen Aktivität des onActivityResult anrufen FBLikeView Tasten zu Facebook Login Fluss zu verbinden.
Das ist alles. Einfach, nicht wahr? = D
Wenn Sie möchten, dass Ihre Android App Facebook-App trennen, rufen Sie einfach den folgenden Befehl ein. Die Schaltfläche wird automatisch zum Login-Zustand geändert.
Senden für die öffentliche Nutzung
Gerade jetzt LikeView funktioniert nur mit Facebook App-Administrator Sie. Um LikeView für alle funktioniert, müssen Sie eine Vorlage an Facebook-Team schicken. Hier sind die Schritte zu tun, so:
1) Geben Sie Ihre Facebook-App App-Details-Seite. Geben Sie Lang- Beschreibung. Datenschutz URL-Politik und laden auch App Icon Sie gewünscht.

2) Geben Sie Den Status Bewertung Seite und drücken Sie Anfangen Submission

3) Überprüfen Sie ein Button-Box Einheimische mögen und drücken Liste 1 Artikel

4) Drücken Sie auf Anmerkungen hinzufügen neben india Like Button Element platziert und Schritt-für-Schritt-Anleitungen, wie india Like Button in der App funktioniert. Aus meiner Erfahrung bietet eine Verbindung von visuellem Bild arbeitet einige Texte weit besser als nur die Eingabe.

5) Laden Sie apk-Datei. laden Sie Ihre App-Screenshots (4 Minimum). versuchen Sie es zu ich, dass meine Anwendung Lasten auf alle oben genannten Plattformen Box getestet haben und drücken Sie dann zur Überprüfung einreichen


7) Der letzte Schritt ist es, erstellt Facebook-App auf Öffentlichkeit setzt die folgende Schaltfläche, um auf in-Status zur Verfügung stellen Bewertung Seite

Tun Sie etwas Wandern, Angeln, Tauchen snoggle und warten, ein oder zwei Tage ein Ergebnis von Facebook-Team zu bekommen. Mit dem Durchschnitt dauert es 2-3 mal die es so genehmigt lassen Sie es mindestens eine Woche tun, bevor die Anwendung öffentlich gestartet wird.
Dies ist, wie es in dem Status aussieht Lesen Sie Seite, wenn die Einreichung zugelassen ist.

Wenn Sie so etwas wie oben erhalten, sie LikeView für jedermann arbeiten!
Hoffe, dass Sie diesen Artikel nützlich und finden. vergessen Sie nicht, wie oder einige +1 zu diesem Artikel geben. =)

Autor: nuuneoi (Android GDE, CTO - CEO bei The Cheese Factory)
Ein Full-Stack-Entwickler mit mehr als 6 Jahren Erfahrung auf Android Application Development und mehr als 12 Jahren in Mobile Application Development Industrie. Auch hat Mann Infrastuktur, Service-Seite, Design, UI-UX, Hardware, Optimierung, Kochen, Fotografieren, Bloggen, Schulung, Public Speaking und sie lieben es, Dinge für die Menschen in der Welt zu teilen!