DeviceActivityReport - Slow Synchronization. Screen time api, Family Controls

Hello! I am developing an app using the Screen Time API. Everything is good, but I have a problem with DeviceActivityReport. On the child’s device, stats are synced to the app in about 1-5 minutes. However, on the parent’s device, it can take around an hour or more. How can I make the stats sync faster between the child’s device and the parent’s device?

How I Implemented It

@Published var context: DeviceActivityReport.Context = .init("Time Limit")
let filter = DeviceActivityFilter(
    segment: .daily(
        during: Calendar.current.dateInterval(of: .day, for: .now)!
    ),
    users: .children,
    devices: .all,
    applications: applicationTokens
)

DeviceActivityReport(viewModel.context, filter: viewModel.filter)
    .frame(maxHeight: viewModel.maxReportHeight)

In the Report Extension (Test Code)

for await d in data {
    result += "device.name=\(d.device.name ?? "")"
    result += "\nuser.appleID=\(d.user.appleID ?? "")"
    result += "\ngivenName=\(d.user.nameComponents?.givenName ?? "")"
    result += "\nrole=\(d.user.role.rawValue)"
    
    for await activity in d.activitySegments {
        result += "\nactivitySegments hashValue=\(activity.hashValue)"
        result += "\ntotalActivityDuration=\(activity.totalActivityDuration)"
        result += "\ndateInterval=\(activity.dateInterval)"
        
        for await category in activity.categories {
            result += "\ncategory=\(category.category.localizedDisplayName ?? "")"
            for await app in category.applications {
                 result += "\napp=\(app.application.bundleIdentifier ?? ""), time=\(app.totalActivityDuration)"
            }
        }
    }
}

Problems:

activity.categories can be empty for a long time

app.totalActivityDuration contains outdated information

I need to wait about 1+ hours to get “actual” information.

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. I'd greatly appreciate it if you could open a bug report and post the FB number here once you do. Bug Reporting: How and Why? has tips on creating your bug report.

DeviceActivityReport - Slow Synchronization. Screen time api, Family Controls
 
 
Q