gpt4 book ai didi

firebase - 离线启用 Google Nearby Messages API?

转载 作者:行者123 更新时间:2023-12-01 11:24:40 24 4
gpt4 key购买 nike

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

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

任何关于要探索的领域的意见或建议都会很棒。

最佳答案

一种选择是使用 Proximity Beacon API 的 beaconinfo:getforobserved 方法 主动获取您的应用已知的所有信标的附件。您可以查看该文档 here.

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

显然,应用程序需要事先知道所有信标标识符才能正常工作。可以使用 API_KEY 从 iOS 应用进行网络服务调用。

一旦缓存中有了这些信息,您仍然需要一种方法来触发应用根据信标检测向用户发送消息。据我所知,当附件信息不可用时,适用于 iOS 的 Nearby API 不会离线执行此操作。您仍然可以使用 iOS Eddystone 信标扫描工具包来完成这项工作,就像我放在一起的工具包一样 here.有了这个,你可以做这样的事情:

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
}
}

关于firebase - 离线启用 Google Nearby Messages API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com