【问题标题】:How to invite users to join a multi player Gaming Session using Parse (swift)如何使用 Parse (swift) 邀请用户加入多人游戏会话
【发布时间】:2017-01-30 23:29:05
【问题描述】:

我正在尝试开发一个琐事应用程序,很像 Quiz Up,但有多个玩家。

这是我想做的事情:-

在 Parse 上创建一个名为“游戏会话”的类,其中包含创建者 (PFUser.current)、游戏会话名称 (name) 和受邀用户名称 (invited_users) 的信息。将此游戏会话视为一个封闭组,用户仅在其中相互交互。

所以有一个createSessionViewController 和一个joinSessionViewController。 如果用户 A 创建一个游戏会话(在 createSessionViewController 中)并向用户 B 和用户 C 发送邀请,他们可以在 joinSessionViewController 中接受或拒绝这些邀请。

现在根据我的研究,我必须查询 Game Session 类中的所有对象(在 joinSessionViewControllerviewdidload 中)并使用 query.wherekey 例如,用户 B 的对象 ID 在“invited_users”列。如果是这样,我会返回该游戏会话的对象。是对的吗?

如果是这样,这是一种有效的方法吗?因为看起来如果应用程序变得流行并且类中有很多对象,那么获取具有用户 B id 的一个对象可能会花费大量时间。 我希望我说清楚了,你们理解我的问题。

PS:我对解析和 swift 有点陌生,所以如果你能给我详细的答案,我将不胜感激。

【问题讨论】:

    标签: ios swift parse-platform


    【解决方案1】:

    您的逻辑是正确的,但我也强烈建议您看看 Parse-LiveQuery。此工具允许您订阅您感兴趣的PFQuery。订阅后,只要创建或更新与PFQuery 匹配的PFObject,服务器就会实时通知客户端。

    https://github.com/ParsePlatform/parse-server/wiki/Parse-LiveQuery

    https://github.com/ParsePlatform/ParseLiveQuery-iOS-OSX

    【讨论】:

    • 从我从您提供的链接中了解到的是,当我实际进入“游戏会话”并且对其进行了编辑(通过新问题、积分、回合等)时,PFLiveQuery 会很有用)。但是,我想知道这是否是一种有用的方法,可以在 joinSessionViewController 的 viewDidLoad 中使用用户的对象 ID 获取 Game Session 的初始对象。
    【解决方案2】:

    您的假设是正确的,这确实是您可以这样做的一种方法,尽管它有您提到的缺点。如果您想投入更多精力,您可以编写 JavaScript 解析云代码,该代码在保存项目后(例如在创建游戏会话后)执行,并向使用新对象 ID 的用户发送静默推送通知。邀请。然后,您可以使用该推送通知数据来了解确切的 ID,而不必查询它们。不过,这要先进得多。无论您的应用程序是什么,让模型查询加载数据的简单途径都应该没问题。如果您发现自己因此而导致性能受到阻碍,那么恭喜您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多