Tag: firebase云消息传递

Firebase查询 – 我得到一些types的NSArray作为结果(有时只)

所以我有这样一个firebase数据库: userIndexes — 1: uid1 — 2: uid2 — 3: uid3 我想通过使用密钥来获得uid。 所以我会这样查询它: DataService.sharedInstance.DB_REF_USERS_INDEXED_BY_ID.queryOrderedByKey().queryStarting(atValue: "2").queryLimited(toFirst: 1).observeSingleEvent(of: .value, with: { (snapshot) in print(snapshot.value) }) 当我使用2或3作为起点,我得到这个打印(这里是2 ): 可选({2 = uid2;}) 我可以很容易地把它转换成Dictionary<String, AnyObject> 但是当我用1作为起点的时候,我得到了这个: 可选(<__ NSArrayM 0x6000000494b0>(<null>,uid1))如果我试图将其转换为字典,它只是nil 这是为什么?

如何在Firebase中使用REST API进行多path更新? 错误400

我想使用firebase REST API和Vapor框架在单个操作中更新多个节点。 当我向Firebase发出.patch请求时,我从Vapor客户端收到错误消息: 操作无法完成。 错误400错误请求 任何人都可以告诉我,如果finalDictionary被正确初始化之前在JSON转换? 用户所需的输出节点: brv-61e24 Users usersUID customer bookingNumber timeStampBookingCancelled CleanersUID:"cleanersUID" TimeStampBookingClaimed: "TimeStampBookingClaimed" TimeStampBookingCancelledByCleaner: "TimeStampBookingCancelledByCleaner" Cleaners cleanersUID bookingNumber timeStampBookingCancelled TimeStampBookingClaimed:"TimeStampBookingClaimed" TimeStampBookingCancelledByCleaner: "TimeStampBookingCancelledByCleaner" Cleaners cleanersUID bookingNumber Claimed: "ClaimedValue" var finalJSON:JSON? func makeFinalDictionary() throws -> JSON? { let customer = userStripeIdCustomer var finalDictionary = Node([:]) //create base paths let path0 = "Users/\(usersUID!)/\(customer!)/\(bookingNumber!)/timeStampBookingCancelled" let […]

Firebase pod安装 – pod“Firebase /数据库” – 要求更高的最低部署目标

我试图安装Firebase文档https://firebase.google.com/docs/ios/setup#available_pods,但是当我尝试我得到问题。 [!] Unable to satisfy the following requirements: Podfile所需的Firebase/Database 发现满足Firebase/Database依赖关系的规范,但是他们需要更高的最低部署目标。 要求更高的最低部署目标 ,我该怎么做? 谢谢 截图

Swift – 如何使用Firebase中的“shouldChangeTextInRange”进行实时search?

我想知道如何创buildFirebase matchesRegex查询并使用shouldChangeTextInRange 列出当前结果 。 在Parse Cloud中,我已经在Parse中search用户名或用户全名了。 如果有人点亮了我在Firebase中的路线,那就太好了。 // search updated func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool { // find by username let usernameQuery = PFQuery(className: "_User") usernameQuery.whereKey("username", matchesRegex: "(?i)" + searchBar.text!) usernameQuery.findObjectsInBackgroundWithBlock { (objects:[PFObject]?, error:NSError?) -> Void in if error == nil { // if no objects are found according […]

如何正确构buildFirebase数据库以便于阅读和删除

我正在创build一个配方寻找应用程序,基本上我有一个“collections夹”,如果用户最喜欢的食谱,他们将能够在应用程序的collections夹选项卡中轻松访问它。 基本上这是我现在的结构: app: users: 2ReAGRZlYiV5F2piwMakz59XDzl1(uid): favorites: -KRUe6mMhaQOX62zgXvg(childByAutoId): ID: 172171 (recipe id) UTJ0rVst9zMSuQhWkikTCu8558C2(uid): favorites: -KRUzMxTvv-uNvX9J9_-(childByAutoId): ID: 578141 (recipe id) 基本上每当他们去collections夹选项卡,我需要的所有配方ID的列表,以便我可以进行API调用来检索食谱信息。 我基本上循环了字典。 我也希望能够让用户不喜欢这个配方,所以从数据库中删除它。 如果我正在使用,我将如何移除它: USERS_REF.child(uid).child("favorites").childByAutoId().setValue(["ID": recipeID]) 添加配方? 有没有更好的结构,我可以用它来读取食谱id并轻松地将其移除?

无法使用服务器API发送推送通知

我正在使用新的Firebase平台。 我试图得到我的应用程序服务器发送的推送通知,并将其发送到我的iPhone。 我的安装程序工作在手动将消息发送到网站上的Firebase通知区域,但是当我尝试使用POST将消息发送到https://fcm.googleapis.com/fcm/send时,我得不到任何消息交付给设备。 我发送以下(与auth头) { "notification": { "title": "Portugal vs. Denmark", "text": "5 to 1" }, "to" : "<registration token>" } 我收到来自POST的200响应,其中包含以下内容: { "multicast_id": 5511974093763495964, "success": 1, "failure": 0, "canonical_ids": 0, "results": [ { "message_id": "0:1463685441784359%3ad254b53ad254b5" } ] } 如果我尝试通过Firebase网站直接发送到此设备,则可以正常工作,但上述表单不适用。 不知道该从哪里出发!

Firebase – 如何在observeEventType = Value中获取关键值

这是Firebase的后续问题- 构build数据库的正确方法 我有以下DB结构: "artists" : { "-KKMkpA22PeoHtBAPyKm" : { "name" : "Skillet" } } 我想查询艺术家参考,看看艺术家是否已经在数据库中,如果艺术家是在数据库中,获取艺术家的关键(在上面的例子中,它将是-KKMkpA22PeoHtBAPyKm )。 我试过这个: artistsRef.queryOrderedByChild("name").queryEqualToValue("Skillet").observeEventType(.Value, withBlock: { (snapshot) in if snapshot.exists() { print("we have that artist, the id is \(snapshot.key)") } else { print("we don't have that, add it to the DB now") } }) 但是“snapshot.key”只给出了“艺术家”的父键。 我怎样才能得到我需要的钥匙?

FirebaseStorage:如何删除目录

当我试图删除一个目录时,FirebaseStorage总是返回错误400 ,例如下面的东西总是返回错误400 。 let storageRef = FIRStorage.storage().reference().child("path/to/directory") storageRef.deleteWithCompletion { (error) in print("error: \(error)") // always prints error code 400 } 但是,删除文件可以正常工作,例如,不会返回错误: let storageRef = FIRStorage.storage().reference().child("path/to/file.jpg") storageRef.deleteWithCompletion { (error) in print("error: \(error)") // works fine, error is nil } 我在这里做错了什么? 我不认为它不被FirebaseStorage支持,因为从一个目录逐个删除文件将是非常跛脚的(特别是如果所述目录有这些的100个或1000个)。

使用API​​时,Firebase API不会发送推送通知

我正在从Parse迁移到Firebase,并面临我们的ios应用程序出现问题。 Firebase API不会将推送通知发送到ios应用程序。 这就是即时通讯发送到https://fcm.googleapis.com/fcm/send { "to: "<registration token>", "priority": "high", "data": { "customId": "<my custom id>", "badge": 1, "sound": "cheering.caf", "alert": "New data is available" } } 而服务器正在成功返回 { "multicast_id":6917019914327105115, "success":1, "failure":0, "canonical_ids":0, "results":[{"message_id":"0:1468961966677585%f0f84693f9fd7ecd"}] } 但推动并没有实现。 如果我使用Firebase信息中心发送推送,即使直接使用令牌,推送也会发送。 我看到另一个开发人员在另一个Stackoverflow问题中抱怨无法使用服务器API发送推送通知 我尝试了join“优先级”的解决scheme:“高” ,但没有解决问题。 但它给了我一个线索:他们也在使用dev / sandbox推送证书。 我的怀疑是仪表板可以使用ios开发证书,但API不能。 这个问题只发生在iOS设备上,因为android应用程序正在通过API推送。 任何人都可以使用API​​和开发证书发送推送?

Firebase通知logging/日志API

我通过使用他们的HTTP协议API通过FCM向多个iOS应用发送消息, 而且我需要包含有效内容,发送时间和平台之类的消息logging列表,例如我可以在Firebase通知控制台中监控的内容。 似乎通过HTTP API发送的消息不会被logging并显示在控制台中(只有那些在控制台手动发送的消息)。 我还没有find任何有关这些消息事件/日志抓取的API文档。 有没有办法从FCM中获取这种消息信息?