Tag: firebase云消息传递

使用Swift保存Firebase中的键值字典

这个问题是从Post Array到Swift中的firebase数据库的后续 我正在尝试将一些ingredients保存到recipe ,之后可以检索配料中的全部配方。 看了上面的问题和这个博客文章https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html 。 我能够重新构build我的数据库 这是我的成分词典: { "IngredientDict": { "-KkbWdomTYdpgEDLjC9w": "Eggs", "-KkbWvaa5DT1PY7q7jIs": "Spaghetti", "-KkbaDQ8wYJxR3O2OwKd": "Parmesan" // More possible ingredients } } 这是我的成分数据: { "IngredientData": { "ingredients": { "-KkbWdomTYdpgEDLjC9w": { "name": "Eggs", "uid": "-KkbWdomTYdpgEDLjC9w" }, "-KkbWvaa5DT1PY7q7jIs": { "name": "Spaghetti", "uid": "-KkbWvaa5DT1PY7q7jIs" }, "-KkbaDQ8wYJxR3O2OwKd": { "name": "Parmesan", "uid": "-KkY90e7dAgefc8zH3_F" // More possible ingredients } } […]

从firebase数据库检索数据:代码没有进入完成块或错误块

我试图从数据库检索数据,但我的代码没有进入完成块或错误块。 我不想从用户进行任何身份validation身份validation,并从应用程序保存数据库中的数据。 只是想从数据库中检索数据。 我的数据库结构是这样的 这是代码 – (void)viewDidLoad { [FIRDatabase database].persistenceEnabled = YES; [self referenceFromURL:@"https://project-8326407164650950213.firebaseio.com"]; } – (FIRDatabaseReference *) referenceFromURL:(NSString *)databaseUrl{ commentsRef = [[FIRDatabase database] referenceFromURL:databaseUrl]; return commentsRef; } -(void)viewWillAppear:(BOOL)animated { [[commentsRef child:@"Hello"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot *snapshot) { NSDictionary * post = snapshot.value; }withCancelBlock:^(NSError * error){ NSLog(@"%@",error.description); }]; } 告诉我在代码中缺less什么。

如何检查Firebase中孩子的数据

标题可能看起来不对,但是我正在试图弄清楚如何做到这一点。 我的数据结构如下所示: 我想看看是否有用户在每个频道提出。 这将工作来检查是否有渠道: channelRef.observeSingleEvent(of: .value, with: { (snapshot) -> Void in for channelSnap in snapshot.children { let channelData = (channelSnap as! FIRDataSnapshot).value as! Dictionary<String, AnyObject> if let name = channelData["name"] as! String!, name.characters.count > 0 { } }) 这当然会检查是否有一个名为财产的孩子,如果是的话,做东西。 我想要做的是通过所有频道中的孩子(一个频道)中的孩子(频道中的用户)循环。 我想检查频道是否有任何小孩,如果没有,请移除频道。 那么如何循环频道中的孩子呢? 我可以通过调用这个函数来访问每个通道ID: 让id =(channelSnap as!FIRDataSnapshot).key 编辑: 这会打印出通道中没有用户: channelRef.observeSingleEvent(of: .value, with: { (snapshot) -> […]

在Firebase中填充UITableView一次设置单元格数量

我正在使用Firebase来填充UITableView 。 我想知道是否有可能让Firebase下载前5个结果,并且一旦用户滚动到最后的结果,就下载下5个结果。 目前,Firebase一次下载我的所有子节点,但是如果它一点一点地执行,则视图将加载得更快。 有什么build议? – 编辑 注意到单元格中有图像是很重要的。 图像是base64编码的NSString s。 这里是我用来检索它们并将它们转换成UIImage的代码 NSString* profPicString = [child.value objectForKey: @"profilePicture"]; NSData *dataFromBase64 = [NSData base64DataFromString:profPicString]; UIImage *profPicImage = [[UIImage alloc]initWithData:dataFromBase64]; item.profilePicture = profPicImage;

从Firebase中检索布尔数组

从Firebase快照中检索一个布尔数组给我0和1。 将Firebase中的布尔数组存储到我的项目中的数组的最佳方式是什么? 这是我的代码: func loadUpInformation() { print("loading data") let user = FIRAuth.auth()?.currentUser let userID = FIRAuth.auth()?.currentUser?.uid ref = FIRDatabase.database().reference() ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in if !snapshot.exists() { return } if let achievementsUnlockedFirebase = snapshot.childSnapshot(forPath: "/AchievementsUnlocked").value { // ???? } }) } 我已经尝试过了: 从Firebase读取数据并保存到数组(Swift) if let AchievementsUnlockedFirebase = snapshot.childSnapshot(forPath: "/AchievementsUnlocked").value as? Bool { print("snapshot exist") […]

在Xcode中设置Firebase时出错

我曾尝试使用快速设置说明和Firebase网站上的手动替代说明来设置Firebase以使用Xcode。 当我使用CocoaPods并按照快速设置页面上的说明操作时,我能够导入Firebase,但是我无法在课程内引用Firebase。 我得到了错误:无法调用非函数types'模块'xcode的值 当我试图手动设置它时,我无法导入或引用Fire基础,我得到了错误:没有这样的模块“Firebase”

如何在Swift中包含服务器端的时间戳

在Firebase改进之前,我可以在任何结构体中发布时间戳 let usermsg = ["CreatedAt":FirebaseServerValue.timestamp(), "ChatTitle":msg.ChatTitle,"ChatBody":msg.ChatBody, "Owner":self.GoogleUserID] 但是在FIRServerValue.timestamp()成为( NSDictionary * )之后,我无法获取时间戳作为值发布到数据库。

Firebase FCM可获取旧版iOS APNS令牌的令牌

随着通过谷歌GCM更改为FCM,我们正在寻求将我们的iOS推送通知带入FCM。 如果没有提供将每个用户注册到Firebase推送服务的更新,是否可以将所有当前用户令牌订阅到Firebase服务,从而为他们生成FCM密钥?

ios发送通知与firebase

我正在尝试创build通知的应用程序。 通知必须从php文件发送到firebase然后发送到设备。 起初我试图用firebase控制台发送,它的工作原理是完美的。 但是当我尝试使用PHP发送notificaion然后我有问题。 它说成功发送,但我没有得到任何通知。 有我的PHP发送通知: <?php function send_notification ($tokens, $message) { $url = 'https://fcm.googleapis.com/fcm/send'; $fields = array( 'to' => $tokens, 'data' => $message ); $headers = array( 'Authorization:key = my api key', 'Content-Type: application/json' ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); […]

“Firebase存储”,用于图像 – 但是,获取实际的URL?

将图像发送到“Firebase存储”系统… sr … a StorageReference (ie, FIRStorageReference) let task = sr.putData(data) task.observe(.success) { [index] snapshot in guard let downloadURL: URL = snapshot.metadata?.downloadURL() else { .. err } 但是,最终的结果是URL,就像这样: https://firebasestorage.googleapis.com/v0/b/someapp.com/o/0.jpg?alt=media&token=113150a1-8152-666-666-fd00dc9e8734 它绝对完美 – 但是 – 该URL 不是一个JPEG的URL – 它只是一个文件的URL。 点击它会导致您获得JPEG文件的下载 。 这似乎令人难以置信 – 与所有其他在线存储(AWS等),你只是“一个JPEG的实际URL”。 有没有解决方法? 正如BC在下面问的,看着标题: $ cat headers.txt HTTP/1.1 200 OK X-GUploader-UploadID: AEnB2Ur3b5CNUIWWZdwn-666slsPqTjJT3GF83m6sJ-mzx…666 Expires: Sat, 29 […]