Need Help Capturing Device Diagnostics Automatically in KoboCollect (Android)

Hi everyone,
I’m working on a data-collection workflow for field testers who evaluate network performance for our streaming app platform. We’re trying to use KoboCollect on Android devices to gather both survey responses and basic device diagnostics (Android version, connection type, signal strength, etc.) at the same time.

I know KoboToolbox supports metadata like deviceid and phonenumber, but I’m not sure whether it’s possible to automatically capture additional technical details without requiring the user to type them manually.

Specifically, I’m trying to figure out:

  1. Is there a way in XLSForm to pull extended device information (e.g., OS version, network type, or battery level) through pulldata() or instance metadata?

  2. Does KoboCollect allow custom JavaRosa functions or external intents to inject this kind of data into form fields?

  3. If not, is the recommended approach to build a companion utility app that writes diagnostics to a CSV, then use pulldata() to load it into the form?

I’ve searched the documentation but found mixed answers, so I’d appreciate guidance from anyone who has implemented advanced metadata collection in KoboCollect.

Thanks in advance!

Another option might be to use an own program to create a file with the required advice data and attach this file to the form before submission (manually or automatically).