Tag: firebase云消息传递

Firebase – 构build数据库的正确方法

我有一个像音乐社交networking的iOS应用程序。 在应用程序中,用户分享有关特定音乐“曲目”的“post”。 我想知道在Firebase中构build数据库的最佳方式,因为每个“后”对象都引用单个“轨道”对象。 另外,当用户提交新post时,我需要通过查询艺术家+歌曲标题来检查曲目是否已经存在 – 如果曲目不存在,则添加新的曲目。 如果曲目存在,请在“发布”对象中引用“track_id”。

如何在主线程中运行ObverveEventType?

在Swift中,我使用observerEventType从Firebase中检索快照数据,并将其返回到函数中。 但是看起来数据不是从快照中保存的。 func checkAmount() -> Int { var amount = -1 dispatch_async(dispatch_get_main_queue(), { () -> Void in self.rootRef.child("users/").child(NSUserDefaults.standardUserDefaults().stringForKey("id")!).observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in Amount = (snapshot.value!.objectForKey("CoinAmount") as? Int)! }) }) return Amount } 但是在我做viewDidLoad()函数的时候: if checkAmount() == 0 { // You can do this } else { // or you can do that 我的逻辑是,通过使用dispatch_async我将能够保存observeEvent(我被告知在后台线程中调用),并在我的程序的其余部分使用该数据。

无法在iOS中收到通知

我正在使用Firebase云消息传递,并为我的通知创build一个cron,而不是使用Firebase控制台。 我想知道如果我可以使用我用于Android的相同的JSON。 目前我的android设备收到我发送的通知,但在我的iOS中,它不。 我想知道如果它是因为我使用像notification对象中的一些参数例如icon只适用于Android平台,它会影响结果? 我的post请求看起来像这样 { "registration_ids" : $ids, "notification" : { "body" : "great match!", "title" : "Portugal vs. Denmark" "icon" : "myicon" }, "data" : { "Nick" : "Mario", "Room" : "PortugalVSDenmark" } } UPDATE 如上所示,我为iOS和Android创build了两个不同的cron,在我的iOS中我只是删除了json中的icon参数。 但是我仍然收不到任何通知。 同样在Capabilities Tab -> Push Notifications ,我ON它,也在Background Modes-> Remote notifications 。

从Firebase存储下载时出错

我正在尝试使用新的Firebase存储设备进行基本上传/下载。 上传工作正常,但我无法将文件下载到设备。 有人可以请说明我做错了什么。 谢谢! func downloadAudio() { let storageRef = FIRStorage.storage().reference() let pathReference = storageRef.child("testAudio/audio_test.m4a") let localURL = getDocumentsDirectory().URLByAppendingPathComponent("audio_test2.m4a") let downloadTask = pathReference.writeToFile(localURL) { (URL, error) -> Void in if (error != nil) { print("ERROR – ", error.debugDescription) } else { print("SUCCESS – ", URL) } } } 打印: 错误 – 可选(错误域= FIRStorageErrorDomain代码= -13000“未知的错误发生,请检查服务器响应。”UserInfo = […]

与parsing用户进行Firebase身份validation

我正在构build一个需要实时聊天function的iOS(Swift)应用程序。 虽然Parse适用于推送,数据存储等,但不支持实时。 我想使用Firebase进行实时支持,但需要使用Parse用户帮助对Firebase进行身份validation。 我真的不知道从哪里开始。 任何帮助将不胜感激。

从Firebase和Swift查询中获取信息

var usernameEntered = self.textField.text! var databaseReferenceQuery = DataService.ds.REF_USERS.queryOrderedByChild("username").queryEqualToValue(usernameEntered).observeSingleEventOfType(.Value, withBlock: { (snapshot) in if ( snapshot.value is NSNull ) { } else { print(snapshot.key) print(snapshot.value.) } }, withCancelBlock: { (error) in // An error occurred }) } 这是我得到的。 我的firebase数据库设置如下: Users 20394802938lsjfkjaweli (the uid) username: Bob 0skjflakjlkwjf93j09 username: Bobby 通过运行该查询,我正在通过用户名进行search,并检查它是否等于input到文本字段中的内容。 当我做一些像print(snap.value)的时候,我得到了“username:(无论我把它放在文本字段,如果它匹配一个用户名) 我需要的是能够阻止与该用户名关联的用户标识。 使用snapshot.key为我提供了“用户”。 我如何获得低于一个级别?

在Firebase Swift 3中以userID添加数据时出错

我试图通过注册用户在Firebase中的相​​应userID添加数据,但它给了我错误“ unexpectedly found nil while unwrapping an optional value ”现在我不知道是什么问题。 但是当我在代码中分别使用没有添加userID代码时,数据被成功添加了。 但是当我添加userID下面的ref然后得到错误。 注册 let userID = FIRAuth.auth()?.currentUser?.uid ref.child("user_registration").child(userID!).setValue(["username": self.fullName.text, "email": self.emailTextField.text,"contact": self.numberText.text, "city": self.myCity.text, "state": self.countryText.text, "gender": genderGroup, "blood": bloodGroup])

Firebase RealtimeDatabase现在不工作?

现在,Firebase RealtimeDatabase“写入”正在工作。 这是Firebase示例代码。 FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!"); myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. String value = dataSnapshot.getValue(String.class); Log.d(TAG, "Value is: " + value); } @Override public […]

使用Swift在Firebase中遍历嵌套的快照子项

我试图循环访问Firebase数据库中的子项以检索嵌套的密钥。 我的数据库是这样构造的: "Users" : { "Username" : { "Favorites" : { "Location" : { "Latitude" : 123, "LocationName" : "San Francisco", "Longitude" : 123 }, "Location2" : { "Latitude" : 123, "LocationName" : "London", "Longitude" : 123 } } } } 我试图打印出所有的“LocationName”键,并且能够打印这个键的一个实例,但是不能够循环和打印这个键的所有实例。 我不知道我在哪里循环我要错了? 我正在使用的代码如下。 FIRApp.configure() let databaseRef = FIRDatabase.database().reference().child("Users").child("Username").child("Favorites") let databaseHandle = databaseRef.observe(.value, with: { […]

Firebase ios快照为.childRemoved返回null

我刚刚开始与Swift一起使用Firebase,并且有一个示例消息节点。 我添加消息持有的文本和用户名等孩子我有安全规则设置为每个.write和.readauthentication。 我创build了一个观察者来监视这个,并且它正在触发,但是它返回的快照是空的。 我需要快照数据的原因是我可以从客户端删除确切的消息。 数据节点结构: { "messages" : { "-KcM3SlAQXfjCz01waXF" : { "name" : "mgardner1994", "text" : "test23" }, "-KcM3UKA_U7n2YwhlFeB" : { "name" : "mgardner1994", "text" : "test4" }, "-KcMB_8Ec74HIQGL9adt" : { "name" : "mitchell_maler", "text" : "test5" }, "-KcOC08kLUO-cEWLeICG" : { "name" : "mitchell_maler", "text" : "hello" }, "-KcOC6ZWT6gyVi6pxGF8" : { "name" : "mitchell_maler", […]