gpt4 book ai didi

java - LibGdx Facebook分数

转载 作者:行者123 更新时间:2023-12-02 12:15:53 24 4
gpt4 key购买 nike

我正在使用Libgdx创建游戏,现在我已经到达用户可以连接到他的facebook帐户的部分,通过这种方式,用户可以将自己的得分与朋友进行比较。

我能够在我的项目中实现facebook sdk包,并在facebook和hashkey上获取应用程序ID。之后,我撞墙了。我已经尝试了所有可以在网上找到的可用资源,但是没有任何工作(花了2天时间)。

我了解的是,我需要在核心项目中创建一个接口,该接口将链接到我的android文件夹中的facebook身份验证类。

我尝试了很多在线项目,但都没有运气。

任何帮助或可用的教程将不胜感激。

最佳答案

我不确定您已经尝试了什么,但这是一个很好的来源:

https://github.com/TomGrill/gdx-facebook/wiki

在上面链接的Wiki的第3部分中,请注意:


  重要说明facebook-android-sdk是.aar文件。一些IDE(例如
  Eclipse)无法处理此文件类型。那意味着你
  必须使用命令行启动您的应用程序才能使其工作:
  
  Linux / Max:
  
  ./gradlew android:installDebug android:run
  
  视窗:
  
  gradlew android:installDebug android:run


我会尽力让您开始登录用户,然后打赌您可以从那里开始。如果您遇到问题,请随时提问。有些部分是任意的,并基于首选项。

开始之前,请记住以下几点:


对于libGDX游戏的此功能,应使用Android模拟器/设备进行测试,因为Desktop版本的Facebook登录屏幕/界面与Android不同。
测试Facebook功能时,请确保Android模拟器/设备已连接到互联网。
Facebook API为Android应用程序提供了登录活动(登录页面),将在以下步骤中将其添加到AndroidManifest.xml中。 (此处将不涵盖自定义登录活动。)


脚步:

配置主Gradle文件

目录:
project_root / build.gradle

为了澄清,主要的gradle文件是Project Root-> build.gradle,而不是Project Root-> core-> build.gradle。

加:

gdxFacebookVersion = '1.4.1' 


下:

allprojects {
...
ext {
...
// here
}
...
}


加:

compile "de.tomgrill.gdxfacebook:gdx-facebook-android:$gdxFacebookVersion"


下:

project(":android") {
...
dependencies {
...
// here
}
}


加:

compile "de.tomgrill.gdxfacebook:gdx-facebook-core:$gdxFacebookVersion"


下:

project(":core") {
...
dependencies {
...
// here
}
}


请注意,一个是 ...:gdx-facebook-android:...,另一个是 ...:gdx-facebook-core:...

配置Android Gradle文件

目录:project_root / android / build.gradle

确保 minSdkVersion不低于15,这是Facebook API要求的。如果使用了官方的libGDX设置工具来创建项目,则默认情况下该值可能设置为9。

android {
...
defaultConfig {
...
minSdkVersion 15
...
}
...
}


此屏幕快照可能会回答另一个或两个问题,我觉得这可能是一个问题。这是一个libGDX项目,已成功使用GDXFacebook API。不过,我为此更改了 applicationId

enter image description here

将应用程序的Facebook App ID存储在XML文件中

目录:
project_root / android / res / values /

添加一个新的XML文件,该文件可以任意命名为“ facebook.xml”,或者仅使用应该已经存在的“ strings.xml”文件。

现在将以下内容添加到XML文件:

<string name="facebook_app_id">Your_Facebook_API_ID</string>


例:

<string name="facebook_app_id">1559365201012064</string>


将Internet权限和FacebookActivity添加到AndroidManifest.xml

目录:
project_root / android / AndroidManifest.xml

加:

<uses-permission android:name="android.permission.INTERNET" />


下:

<manifest xmlns:android="htt ... >
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="20" />
// here
...
</manifest>


加:

<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" />


下:

<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>


在核心源目录中添加帮助器类

目录:
project_root / core / src / [somewhere_around_here]

在以上目录中的任何位置,添加以下类(或您自己的帮助器类以完成相同的工作):

https://github.com/ronrihoo/GDX-Facebook-API-Helper/blob/master/FacebookApi.java

(备份: https://www.snip2code.com/Snippet/2695867/Example-helper-class-for-GDXFacebook

从您的一个主类中,创建一个FacebookApi实例(任意帮助程序类),如下所示:

...
// 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);
}


测试Facebook登录

使用帮助程序实例调用signIn()方法,然后该方法应自行处理用户的登录屏幕/活动(您不必构建此屏幕,因为它是由Facebook API提供的) :

...
facebookApi.signIn();
...


上面的最后一段代码可能理想地放在按钮的侦听器中,如下所示:

fbSignInButton.addListener(new ClickListener() {
@Override
public void clicked() {
facebookApi.signIn();
}
});


在这种情况下,单击按钮后,将显示Facebook登录活动(以下裁剪的屏幕截图来自平板设备)。

enter image description here

从根本上来说,应该就是让用户登录Facebook。

下一步

对于您的其余目标,在修改并建立在任意Facebook API帮助程序类上(或选择构建此功能)时,翻阅以下示例应该会有所帮助。

https://github.com/TomGrill/gdx-facebook-app/blob/master/core/src/de/tomgrill/gdxfacebook/app/GdxFacebookSampleApp.java

您可能需要在developers.facebook.com网站上调整应用程序设置。

接下来要处理的可能是Facebook权限。任意帮助程序类FacebookApi.java从GDXFacebook Wiki和Facebook API文档中建议的基本权限开始。

您必须根据需要添加更多权限。上面链接的GdxFacebookSampleApp.java类是一个入门的好例子。

这应该起作用,就像对我一样。您可能只需要根据需要进行修改,并实现自己的错误处理,以帮助指导您解决问题。

我预计这些步骤之间会发生一些问题,目前,我无法发表评论。但是,我可以通过编辑答案来回答。因此,随时提出问题,当我有空时,我会做出回应。

关于java - LibGdx Facebook分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46184907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com