【问题标题】:Unity Android run in backgroundUnity Android 在后台运行
【发布时间】:2016-06-07 19:54:00
【问题描述】:

我正在构建一个简单的游戏,其中 2 个人可以互相决斗。我使用 GameSparks 作为后端。我的问题是,每当玩家 #1 施放一个正在引导的咒语时,玩家 #2 只有在他的屏幕打开并处于焦点时才能看到引导。

每当玩家的#2 屏幕关闭时,应用程序就不再处于活动状态,因此不会对他施放咒语。当玩家 #2 打开屏幕时,引导开始,但玩家 #1 之前已经完成了引导。

我认为这与 Android 系统的工作方式有关。它将不关注的应用程序置于暂停状态。

我现在的问题是,我如何确保玩家 #2 在被咒语击中时收到通知,而无需使用任何第三方服务来保持应用程序的运行(以避免大量电池消耗)以及无需使用推送通知(据我所知,如果负载很高,推送不会立即发生,因为有一个队列)

【问题讨论】:

  • 使用 GCM 通知怎么样?
  • 这就是我所说的,这是一个推送通知,如果负载很高,可以延迟。在这样的游戏中,这是不可接受的。除非您不知道 GCM 延迟。虽然感谢您的建议。
  • @JoeBlow 会话正在服务器上运行,只要应用程序再次获得焦点,获取游戏状态就没有问题。对我来说重要的是,即使屏幕关闭,用户也会收到关于传入咒语的通知,这目前看来是不可能的。
  • 嗨@JoeBlow,不幸的是我的问题没有得到完全回答。我给了你 +1,但我可能仍然会从其他人那里得到答案。
  • @JoeBlow 你的 cmets 非常粗鲁,所以我认为你的回答不好。

标签: android unity3d


【解决方案1】:

Application.runInBackground 仅适用于 Webplayer(和 PC,但不确定最后一个)。

Unity 在 Android 中作为 Activity 运行,因此在失去焦点时会暂停。这是由 (Android) 设计的,可以按预期工作。

Topic link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    相关资源
    最近更新 更多