Je ne suis pas sûr de ce que vous avez essayé tous déjà, mais voici une bonne source:
https://github.com/TomGrill/gdx-facebook/wiki
de la section 3 du wiki lien ci-dessus, note:
IMPORTANT facebook-android-sdk est au format .aar. Certains IDE (par exemple, Eclipse) ne sont pas capables de gérer ce type de fichier. Cela signifie que vous devez commencer votre application en utilisant la ligne de commande pour le faire fonctionner:
Linux/Max:
./gradlew android: installDebug android: exécuter
Fenêtres:
gradlew android: installDebug android: run
Je vais essayer de vous mettre en route lorsque l'utilisateur se connectera et je parie que vous pouvez le prendre à partir de là. Si vous rencontrez des problèmes, n'hésitez pas à demander. Certaines parties sont arbitraires et basées sur la préférence.
Avant de commencer, quelques petites choses à garder à l'esprit sont:
- Pour que cette fonctionnalité du jeu libGDX, le test doit être fait avec un émulateur Android/appareil, car la version de bureau a un autre signe Facebook -en écran/interface que Android.
- Vérifiez que l'émulateur/périphérique Android est connecté à Internet lors du test de la fonctionnalité Facebook.
- L'API Facebook fournit une activité de connexion (page de connexion) pour l'application Android, qui sera ajoutée à AndroidManifest.xml dans les étapes suivantes. (Ne couvre pas les activités de connexion personnalisée ici.)
Étapes:
Configurer le fichier principal gradle
Répertoire: PROJECT_ROOT/build.Pour clarifier, le fichier gradle principal est le projet Root -> build.gradle, pas Project Root -> core -> build.gradle.
Ajouter:
gdxFacebookVersion = '1.4.1'
Under:
allprojects {
...
ext {
...
// here
}
...
}
Ajouter:
compile "de.tomgrill.gdxfacebook:gdx-facebook-android:$gdxFacebookVersion"
Under:
project(":android") {
...
dependencies {
...
// here
}
}
Ajouter:
compile "de.tomgrill.gdxfacebook:gdx-facebook-core:$gdxFacebookVersion"
Under:
project(":core") {
...
dependencies {
...
// here
}
}
Notez que l'on est ...:gdx-facebook-android:...
et l'autre est ...:gdx-facebook-core:...
.
Configurer le fichier gradle Android
Répertoire: PROJECT_ROOT /android/build.gradle
Assurez-vous que le minSdkVersion
n'est pas en dessous de 15, tel que requis par l'API Facebook. Cela sera probablement défini sur 9 par défaut, si l'outil d'installation libGDX officiel a été utilisé pour créer le projet.
android {
...
defaultConfig {
...
minSdkVersion 15
...
}
...
}
Cette capture d'écran peut répondre à une autre question, ou deux, que je pense que vous pourriez avoir à ce stade. C'est un projet libGDX qui utilise avec succès l'API GDXFacebook; Bien que, j'ai changé le applicationId
pour l'occasion.
magasin Facebook App ID de l'application dans un fichier XML
Répertoire: PROJECT_ROOT/android/res/valeurs/
Ajouter un nouveau fichier XML, lequel pourrait arbitrairement nommer "facebook.xml", ou simplement utiliser le fichier "strings.xml" qui devrait déjà être là.
Maintenant, ajoutez ce qui suit au fichier XML:
<string name="facebook_app_id">Your_Facebook_API_ID</string>
Exemple:
<string name="facebook_app_id">1559365201012064</string>
Ajouter la permission Internet et FacebookActivity au AndroidManifest.xml
Répertoire: PROJECT_ROOT/android/AndroidManifest.xml
Ajouter:
<uses-permission android:name="android.permission.INTERNET" />
Under:
<manifest xmlns:android="htt ... >
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="20" />
// here
...
</manifest>
Ajouter:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
Under:
<manifest xmlns:android="htt ... >
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="20" />
<uses-permission android:name="android.permission.INTERNET" />
...
<application
android:allowBackup="true" ... >
<activity
android:name=" ... >
...
</activity>
// here
</application>
</manifest>
Ajouter une classe d'aide dans le répertoire source de base
Répertoire: PROJECT_ROOT/core/src/[somewhere_around_here]
Partout dans le répertoire ci-dessus, ajoutez la classe suivante (ou votre aide classe pour faire le même travail fait):
https://github.com/ronrihoo/GDX-Facebook-API-Helper/blob/master/FacebookApi.java
(sauvegarde: https://www.snip2code.com/Snippet/2695867/Example-helper-class-for-GDXFacebook)
A partir de l'un de vos classes principales, créer une instance de FacebookApi (la classe d'aide arbitraire), comme suit:
...
// TODO: not the best place to keep the app ID; change later
private static final String API_APP_ID = "Your_App_ID";
private FacebookApi facebookApi;
...
// and instantiate in a method (or constructor)
private void setupFbApiInst() {
facebookApi = new FacebookApi(API_APP_ID);
}
test Facebook sign-in
Utilisez l'instance d'aide pour appeler la méthode signIn(), qui devrait alors, à elle seule, gérer l'écran de connexion/l'activité pour l'utilisateur (vous n'avez pas à construire cet écran, puisqu'il est fourni par l'API Facebook):
...
facebookApi.signIn();
...
Le dernier morceau de code, ci-dessus, pourrait idéalement aller dans l'écoute d'un bouton, comme ceci:
fbSignInButton.addListener(new ClickListener() {
@Override
public void clicked() {
facebookApi.signIn();
}
});
Dans ce cas, lorsque le bouton a été cliqué, le signe dans l'activité Facebook devrait apparaître (la capture d'écran recadrée suivante est à partir d'une tablette).
Au niveau de base, qui devrait être pour avoir le signe de l'utilisateur à Facebook.
Les prochaines étapes
Pour le reste de vos objectifs, en regardant à travers l'exemple suivant devrait aider, comme vous le modifier et de construire sur la classe d'aide de l'API Facebook arbitraire (ou cependant vous choisissez de construire cette fonction) .
https://github.com/TomGrill/gdx-facebook-app/blob/master/core/src/de/tomgrill/gdxfacebook/app/GdxFacebookSampleApp.java
Vous pourriez avoir à modifier les paramètres de l'application sur le site developers.facebook.com.
La prochaine chose à gérer serait probablement les autorisations Facebook. La classe d'aide arbitraire, FacebookApi.Java, commence avec les permissions de base comme suggéré dans le wiki GDXFacebook et les docs de l'API Facebook.
Vous devrez ajouter plus d'autorisations si nécessaire. La classe GdxFacebookSampleApp.java, liée ci-dessus, est un bon exemple pour commencer.
Cela devrait fonctionner comme pour moi. Vous devrez peut-être apporter des modifications, au besoin, et implémenter votre propre gestion des erreurs pour vous aider à résoudre les problèmes.
Je prévois que quelques problèmes se produiront entre ces étapes et, pour le moment, je ne peux pas encore commenter; Cependant, je peux répondre en éditant la réponse. Alors n'hésitez pas à poser des questions et je vais réagir/répondre dès que je serai disponible.
Vous pouvez utiliser https://github.com/TomGrill/gdx-facebook ou regarder comment cela est fait ici. –
@ TomGrillGames, je l'ai déjà vérifié sans succès. Jusqu'à présent, j'ai été en mesure de lier l'API Facebook à un projet de studio android normal. Maintenant, je vérifie pour voir comment l'ouvrir à partir de libgdx –