2

我在 cocos2d-x 中遇到了 facebook/twitter 集成的问题。我不知道如何在 cocos2d-x 中进行 facebook/twitter 集成。如果有人知道这件事,请帮助我。

是否可以在 cocos2d-x 中实现 facebook/twitter 集成?

如果可能的话,当它移植到 android/ios/etc 时会发生什么。它会正常工作吗?

谢谢...

4

2 回答 2

4

我编写了一个简单的库来将 Java 和 Objective C 与 C++ (Cocos2dx) 连接起来。您可以在所需平台中搜索 Facebook SDK 集成的任何教程,并使用我的库简单地从 C++ 发送和接收消息。我还写了一个完整的 Wiki 来使用这个库,请看一下。

库源页面:https ://github.com/aajiwani/EasyNDK-for-cocos2dx

维基页面:http ://cocos2d-x.org/projects/cocos2d-x/wiki/EasyNDK

于 2013-02-27T23:12:42.123 回答
0

您可以在两个平台上使用官方 SDK。创建一个通用 C++ 接口,FB 和 Twitter 各一个,带有响应回调。我们暂时将 FB 版本称为“FacebookInterface.h”。然后,您可以创建“FacebookInterface-android.cpp”,它使用 JNI 连接 Facebook Android SDK,并通过 JNI 将其结果返回到您的 C++ 代码。您需要将此 cpp 文件添加到您的 jni/Android.mk 中。

然后,您可以创建一个“FacebookInterface-ios.mm”,将其包含在 Xcode 中以用于您的 iOS 构建。该文件将实现标头函数,并使用 Facebook iOS SDK。由于该文件将是一个 *.mm Objective-C++ 文件,如果它是用 Objc 编写的,您可以与 FB iOS SDK 交互。

这样做的好处是您使用的是官方 SDK,而不是 C++ 分支。您还可以从那些使用本身实现多线程的高级库的 SDK 中受益,因此您不必在 C++ 中使用 pthread 和 libcurl。

缺点是你必须弄乱 Android JNI,但我向你保证,一旦你弄清楚如何使用它的挑剔细节,它真的一点也不坏。

为了使事情更容易一些,您可能会考虑在某些点统一您的界面。例如,您的登录界面可能在 FB 和 Twitter 之间是相同的。它要么成功,要么不成功。您可能想要定义一个接口函数,允许您接收响应状态(OK 或 Error),即 FB 访问令牌。但是,您可能还需要一个类似的函数,其中包含一个额外的 Twitter 密钥参数。两种途径都会导致相同的结果——用户可以登录,你要么成功要么失败。SDK 应该能够以图形方式处理该问题,然后您的界面将需要处理各种情况,例如当用户关闭带有或不带有有效令牌的 SDK 弹出对话框时等。您还需要所有 FB/Twitter api调用以某种方式通过此接口进行路由,

这是一项有些艰巨的任务,但肯定可以分解成碎片。最糟糕的部分可能是 Android JNI。这不好玩,但这不是世界上最糟糕的事情。

于 2012-10-20T22:14:20.590 回答