正在记录新的 Firebase 事件,但上传时显示没有数据

问题描述 投票:0回答:5

这是不言而喻的调试日志

2016-06-24 00:50:34.965 testApp[13184:] <FIRAnalytics/DEBUG> Event logged. Event name, event params: select_content, {
        "_o" = app;
        "content_type" = "Share_Screen";
        "item_id" = 4;
    }
2016-06-24 00:50:40.969 testApp[13184:] <FIRAnalytics/DEBUG> Event logged. Event name, event params: select_content, {
        "_o" = app;
        "content_type" = "About_Screen";
        "item_id" = 5;
    }

为了简洁起见,我删去了许多其他事件。

2016-06-24 00:50:46.346 testApp[13184:] <FIRAnalytics/DEBUG> Do not schedule an upload task. Task already exists
2016-06-24 00:50:46.394 testApp[13184:] <FIRAnalytics/DEBUG> No data to upload. Upload task will not be scheduled
2016-06-24 00:50:46.394 testApp[13184:] <FIRAnalytics/DEBUG> Canceling active timer
2016-06-24 00:50:46.395 testApp[13184:] <FIRAnalytics/DEBUG> Cancelling background upload task.

有人知道这里发生了什么吗?我等了一整天这些事件才出现在 Firebase 分析中。

firebase firebase-analytics
5个回答
5
投票

我遇到了同样的问题,并且我已经尝试过两种可能的解决方案,这些解决方案适用于我的案例。

  1. 在 GoogleService-Info.plist 中,启用标志“IS_ANALYTICS_ENABLED”
  2. 在模拟器或设备上进行测试时,我们需要在点击停止调试按钮之前将应用程序最小化到后台(以便它将数据发送到 Firebase 服务器)。

3
投票
  1. 在您的项目中搜索 GoogleService 并找到 GoogleService-Info.plist
  2. 检查 IS_ANALYTICS_ENABLED ,它是布尔值,如果是 NO,点击 NO 并选择 YES
  3. 保存并运行项目,问题就解决了。

1
投票

我不会对这些消息反应过度。那里没有指示任何错误。 难道只是因为您在查看报告时没有将“今天”包含在日期范围内? 请记住,默认日期范围(“过去 30 天”)不包括今天。 因此,如果您想查看今天的数据,请将日期范围更改为“今天”或“自定义”,并将今天包含在日期范围中。


0
投票

没有要上传的数据。上传任务不会被安排

日志确实说没有数据要上传,因此网站上不会有数据可看。您能否提供完整的日志或任何带有前缀的内容?


0
投票

这段代码对我有用:

@State private var filePath: URL? = nil
...
func uploadFile() {
    guard let filePath = filePath else { return }

    // Create a reference to the file you want to upload
    let storageRef = Storage.storage().reference().child("/\(filePath.lastPathComponent)")
    // Upload the file to Firebase Storage
    let storage = storageRef.putFile(from: filePath, metadata: nil) { metadata, error in
        if let error = error {
            print("Error uploading file: \(error.localizedDescription)")
        } else {
            print("File uploaded successfully")
        }
    }
}

创建一个文档选择器来选择文件。比如:

                    Button("Import") {
                        let dialog = NSOpenPanel()

                        dialog.title = "Choose a file"
                        dialog.allowedFileTypes = ["xlsx"]

                        if dialog.runModal() == .OK {
                            self.filePath = dialog.url
                            uploadFile()
                          }

问题是用户没有获得使用文件的权限。要实现此功能,您需要在

General-Signing&Capabilities-App Sandboxing

中启用“用户选择的文件”
© www.soinside.com 2019 - 2024. All rights reserved.