菜鸟教程小白 发表于 2022-12-12 15:22:10

ios - 如何在PUBNUB + IOS后台管理在线/离线/离开状态?


                                            <p><p>我们想在 iOS 中使用 Pubnub 框架实现在线/离线,但应用在后台运行时间不超过 10 分钟。我们试图通过启用位置功能及其工作正常来实现这一点。但是客户端不想为此启用位置服务。那么我们将如何设法使后台无限运行? <strong>(问题 1)</strong></p>

<p>如果我们想在我们的代码中放置在线/离线/离开状态</p>

<p>我们应该展示的地方,
<strong>在线:</strong>当用户打开应用时
<strong>离线:</strong>当用户从后台关闭应用或删除应用时
<strong>离开:</strong>当用户点击主页按钮并且应用程序处于后台时。 </p>

<p>我们将如何实现这一点(特别是 AWAY 和离线状态)?<strong>(QUE 2)</strong></p>

<p>还有其他方法可以管理在线/离线/离开吗? (没有 Pubnub)<strong>(QUE 3)</strong>
如果是,请描述方式。 </p>

<p>我们将如何使用网络服务管理在线/离线/离开?当我们称其为 Web 服务时? <strong>(问题 4)</strong></p>

<p>我们使用了将近 3-4 年的基本代码。那么我们是否应该在 plist 中添加任何其他参数以在后台启用应用程序更多时间? <strong>(问题 5)</strong></p>

<p>请指导我们。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>与 <a href="https://www.pubnub.com/docs/ios-objective-c/presence-sdk-v4" rel="noreferrer noopener nofollow">PubNub Presence</a> ,您有在您的应用程序中提供此功能的最佳方式,但由于 iOS 处理应用程序进入后台的方式,您可能有机会也可能没有机会更新此状态(取决于应用程序的运行配置方式)。</p >

<p>但很简单,<a href="http://www.pubnub.com/knowledge-base/discussion/644/how-do-i-enable-add-on-features-for-my-keys" rel="noreferrer noopener nofollow">by enabling Presence for your PubNub keys</a> , 当一个客户 <a href="http://www.pubnub.com/docs/web-javascript/api-reference#subscribe_basic_usage" rel="noreferrer noopener nofollow">subscribes to a channel</a> ,一个 <code>join</code> 事件被发送到所有其他正在该 channel 上监听状态的订阅者。 </p>

<p>当应用程序进入后台时,如果您有机会这样做,您可以<a href="http://www.pubnub.com/docs/web-javascript/api-reference#unsubscribe_example_1" rel="noreferrer noopener nofollow">call unsubscribe on all the channels</a>客户端已订阅,<code>leave</code> 事件将发送给该​​/那些监听出席事件的 channel 的所有订阅者。</p>

<p>如果应用程序被杀死或进入后台,而您没有机会调用 <code>unsubscribe</code>,当应用程序 <em>离线/断开</em> 的时间超过<strong>配置的心跳周期</strong>,然后一个<code>timeout</code>(相当于一个<code>leave</code>事件)将被发送给所有监听出席事件的订阅者。 </p>

<p><a href="http://www.pubnub.com/docs/web-javascript/presence#optimizing_timeout_events" rel="noreferrer noopener nofollow">heartbeat defaults to 5 minutes but you can configure this to a lower setting like 60 seconds</a> (或者对于需要此时间但从不低于 15 秒的用例来说更短)。</p>

<p>如果您希望您的服务器监听 Presence 事件,那么您将需要使用我们的 Presence Webhooks(文档即将推出)。请参阅 <a href="https://stackoverflow.com/questions/33853515/pubnub-presence-detection-of-all-the-channels-together-without-subscribing-to-an/33858488#33858488" rel="noreferrer noopener nofollow">this StackOverflow thread about how to implement PubNub Presence Webhooks and how to get your PubNub keys configured to use them</a> . </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在PUBNUB &#43; IOS后台管理在线/离线/离开状态?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30521730/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30521730/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在PUBNUB &#43; IOS后台管理在线/离线/离开状态?