热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FirebaseonDisconnect已破坏飞行模式

如何解决《FirebaseonDisconnect已破坏飞行模式》经验,谁能帮忙解答一下?

所以我通过isOnline在应用程序变为活动状态和初始化帐户时将firebase中的标志设置为true来构建我的应用程序中的状态.在大多数情况下,当我杀死应用程序时,用户被标记为脱机.但是当我进入飞行模式时,我的断开处理程序从未被调用,用户仍然在线显示.

重新建立连接后,我执行一个写入firebase的操作,并且在写入时(可能是任何内容),该isOnline标志设置为false.我有点困惑.

这就是我处理上网的方式:

- (void)goOnline
{
    Firebase *cOnnectedref= [[[Firebase alloc] initWithUrl:kPULFirebaseURL] childByAppendingPath:@".info/connected"];
    [connectedref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
        if ([snapshot.value boolValue])
        {
            Firebase *fire = [[[[[Firebase alloc] initWithUrl:kPULFirebaseURL] childByAppendingPath:@"users"] childByAppendingPath:[PULAccount currentUser].uid] childByAppendingPath:@"isOnline"];
            [fire setValue:@(YES)];

            [fire onDisconnectSetValue:@(NO)];
        }
    }];
}

goOnline在应用程序启动时以及活动时调用我的应用程序代理.当应用程序进入后台时,仍有活动被发布到firebase,因此isOnline仍然如预期一样.如果已经设置了断开处理程序(在变为活动状态的情况下),再次设置它是不正确的吗?

当应用程序终止或后台活动停止10-20分钟时,isOnline设置为false,这是正确的.

这是处理存在的正确流程吗?为什么在处理差/无网络连接时遇到问题?


推荐阅读
author-avatar
不语皓月
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有