Firebase 离线启用谷歌附近消息API?

Firebase 离线启用谷歌附近消息API?,firebase,beacon,eddystone,google-nearby,Firebase,Beacon,Eddystone,Google Nearby,我在iOS应用程序中使用附近的messages API接收由Eddystone信标触发的消息,效果很好。我正在使用Firebase的实时数据库作为应用程序的后端。由于Firebase的缓存非常棒,我能够让应用程序离线运行得非常好 我的问题是,是否有人知道/使用一种技术(可能与Firebase结合)提前缓存与信标相关的附件(例如,在特定名称空间中缓存所有Eddystone附件),以便在应用程序没有连接到internet时,我能有效地获取信标附件 任何关于探索领域的建议都会很好。一个选项是使用邻近信

我在iOS应用程序中使用附近的messages API接收由Eddystone信标触发的消息,效果很好。我正在使用Firebase的实时数据库作为应用程序的后端。由于Firebase的缓存非常棒,我能够让应用程序离线运行得非常好

我的问题是,是否有人知道/使用一种技术(可能与Firebase结合)提前缓存与信标相关的附件(例如,在特定名称空间中缓存所有Eddystone附件),以便在应用程序没有连接到internet时,我能有效地获取信标附件


任何关于探索领域的建议都会很好。

一个选项是使用邻近信标API的
信标信息:getforobserved
方法
主动获取应用程序知道的所有信标的附件。您可以查看相关文档

该应用程序可以定期(例如,在启动时或在其具有互联网连接的其他时间)进行此呼叫,以获取每个已知信标的所有附件信息。对方法调用的响应将返回一个包含附件数据的数组。然后,应用程序可以将其存储在Firebase或其他由Eddystone命名空间和实例id设置密钥的本地数据存储中

显然,应用程序需要事先知道所有的信标标识符才能工作。可以使用API_键从iOS应用程序调用web服务

一旦缓存中有了此信息,您仍然需要一种方法触发应用程序根据信标检测向用户发送消息。据我所知,当附件信息不可用时,附近的iOS API不会脱机执行此操作。您仍然可以通过使用iOS Eddystone信标扫描工具包(如我与此组合的工具包)来实现这一点,您可以执行以下操作:

self.beaconScanner = [RNLBeaconScanner sharedBeaconScanner];
[self.beaconScanner startScanning];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRangeBeacons:) name:@"didRangeBeacons" object:nil];    

...

- (void) didRangeBeacons: (NSNotification *) notification {
    NSArray *beacons = notification.userInfo[@"beacons"];
    for (RNLBeacon *beacon in beacons) {
      NSString *eddystoneNamespace = beacon.id1;
      NSString *eddystoneInstance = beacon.id2;
      // TODO: look up cached attachments for this beacon in data store
    }
  }

谢谢David-回答和往常一样棒(我没想到你会回答这个问题,因为它主要是关于谷歌附近的消息API而不是Radius平台:-)我会给你发一封电子邮件跟进。