我们目前正在开发一款 iOS 应用程序,用于跟踪用户在 iOS 设备上的屏幕时间。据我了解,苹果的限制非常严格,当前的屏幕时间 API 可以通过家长设置访问。有什么方法可以获取用户屏幕时间的基本信息吗?甚至像一天的总屏幕时间这样的信息也可以。
是的,可以使用 Screen Time API 获取屏幕时间数据,该 API 包含三个框架:
通过这三个框架,您可以检索屏幕时间信息。
要将其集成到 Xcode iOS 项目中,请转到文件 -> 新建 -> 目标 -> 设备活动报告扩展。这会将设备活动报告扩展目标添加到您的项目中,并自动创建三个文件:
要显示用户的总屏幕时间,请将以下代码添加到任何视图文件中。这将提示用户获得许可,并在批准后显示他们的屏幕时间。
struct ExampleView: View {
@State private var context: DeviceActivityReport.Context = .init(rawValue: "Total Activity")
@State private var filter = DeviceActivityFilter(
segment: .daily(
during: Calendar.current.dateInterval(
of: .day, for: .now
)!
),
users: .all,
devices: .init([.iPhone, .iPad])
)
var body: some View {
DeviceActivityReport(context, filter: filter)
}
}
此代码将调用 TotalActivityView.swift 文件。
万岁!将显示屏幕时间。