Swift 中的 Facebook 游戏请求

Posted

技术标签:

【中文标题】Swift 中的 Facebook 游戏请求【英文标题】:Facebook Game Request in Swift 【发布时间】:2016-10-22 00:50:47 【问题描述】:

我正在尝试将 Facebook 游戏请求文档实施到我的 Swift 项目中,但我是:

A) 不确定我是否需要 Unity 来执行此操作,或者我是否可以仅使用我的 ios 应用程序和

B) 如何实现打开 Facebook 游戏请求的正确对话框(文档中的注释似乎已过时)

我查看了文档,但我仍然有点困惑。如果有人可以提供进一步的指导,将不胜感激!

https://developers.facebook.com/docs/games/services/gamerequests#invites

【问题讨论】:

【参考方案1】:

您不需要 Unity,它可以在 Swift 中完成。完全同意文档已过时。

要打开对话框发送请求,您可以使用以下代码(更改消息和您想要更改的任何内容)

func sendLifeRequest(index: Int) 
    let content = FBSDKGameRequestContent()
    content.message = "Please help me with 5 lives"
    content.data = "5lives"
    let id = facebookFriends[index].id as NSString
    var to: [NSString] = [NSString]()
    to.append(id)
    content.recipients = to
    FBSDKGameRequestDialog.show(with: content, delegate: self)

另外,请确保您的 FBSDKGameRequestDialogDelegate 中有这三个函数(它们是必需的)

func gameRequestDialog(_ gameRequestDialog: FBSDKGameRequestDialog!, didCompleteWithResults results: [AnyHashable : Any]!) 
    print("request sent")


func gameRequestDialog(_ gameRequestDialog: FBSDKGameRequestDialog!, didFailWithError error: Error!) 
    print("error sending request")
    print(error)


func gameRequestDialogDidCancel(_ gameRequestDialog: FBSDKGameRequestDialog!) 
    print("request canceled")

希望对您有所帮助...

【讨论】:

感谢您的回复!我已经有了委托方法,但如果你能澄清一下 facebookFriends 是什么,我会非常感激?显然是在别处定义的变量,但我正在尝试 找出该变量的来源以及其中当前存储的数据 最后一个问题:你知道有没有办法给FBSDKGameRequestDialog添加自定义UI?我检查了文档,我看到的只是 invitablefriends 是可能的,我不能使用它,因为我没有跨多个平台构建我的应用程序 facebookFriends 是一个数组,其中包含来自朋友的信息,我在登录时存储此信息,只有朋友使用我的应用程序。在这部分我只使用朋友的 ID。自定义 UI 是什么意思?您想在不打开 Facebook 应用程序的情况下发送请求吗?我不知道你能不能……但我不这么认为 您是否正在阅读接收方的通知?我一直在尝试获取接收端的数据或其他信息,但找不到方法...

以上是关于Swift 中的 Facebook 游戏请求的主要内容,如果未能解决你的问题,请参考以下文章

取消 Facebook 登录不显示 (Swift)

Facebook Graph API GET 请求 - 应包含“字段”参数(Swift,Facebook SDK v4.5.1)

Facebook Graph API GET 请求 - 应包含“字段”参数(Swift,Facebook SDK v4.5.1)

如何从 swift 3 facebook 图形请求中解析这个 JSON

Swift 中的 HTTP POST 请求

AdMob 中介 - Facebook Audience Network “我们没有收到投标请求” (Swift)