Skip to content

External Android Plugin

Records essential Android-specific data for each session, such as crash logs, low memory events, and Wi-Fi signal strength. This plugin provides detailed information on these critical aspects, along with end session events, to aid in troubleshooting and performance monitoring.

Crash Logging

Note

This feature is supported in the Cognitive3D Unity SDK version 1.5.2 and above.

The Crash Logging captures crash-related logs on device to help identify the root cause of crashes. Sessions that experience crashes are tagged with a Crash label on the dashboard in the Session list and the individual Session.

Session tagged as a Crash

Each crash event is displayed in the Session Timeline, providing detailed information, including the stack trace.

View of a crash in Session Timeline

Reading a Crash Trace

When a crash occurs, the c3d.event.app_crashed event is recorded in the Session Timeline. Click View Stack Trace to expand the full trace details.

Detailed view of a crash stack trace

A typical Android crash trace includes the signal type (e.g., SIGSEGV for a segmentation fault), the cause (e.g., null pointer dereference), the device and OS information, and a stack trace showing the sequence of function calls that led to the crash.

Tip

Native Unity crashes on Android often show stack frames inside libil2cpp.so without readable method names, since IL2CPP strips symbols in release builds. While the raw addresses may be difficult to interpret on their own, the crash event in the Session Timeline includes the surrounding context; such as custom events, gaze data, and sensor readings captured before the crash — giving you a clearer picture of what the participant was doing when the crash occurred.

What You Can Do With a Crash Trace

  • Identify the crash type: The signal and cause (e.g., SIGSEGV, null pointer dereference) tell you the category of failure, which narrows down where to investigate in your code.
  • Check device and environment: The trace includes device model, OS version, and architecture, helping you determine if the crash is device-specific.
  • Use session context to reproduce: Review the events, gaze data, and interactions leading up to the crash in the Session Timeline to understand the participant's actions and reproduce the issue.
  • Correlate with other sessions: Use the Crash tag to filter sessions on the dashboard and identify patterns; such as crashes occurring in a specific scene, on a specific device, or after a specific interaction. For example, if multiple sessions crash in the same scene, it may indicate a scene-specific issue such as a missing asset or a resource-heavy object causing memory pressure.

Low Memory Logging

Note

This feature is supported in the Cognitive3D Unity SDK version 1.5.2 and above.

The Low Memory Logging monitors and logs low memory warnings. Sessions that experience low memory conditions are tagged with a LowMemory label on the dashboard.

Session tagged with LowMemory

Each low memory event is shown in the Session Timeline and includes a property indicating the memory level and status.

Detailed view of a low memory event

End Session Event

Note

This feature is supported in the Cognitive3D Unity SDK version 1.5.4 and above.

Sends an end session event when the app is closed. This event is sent at the start of the next session and includes details such as the exit code, reason for exit, and the session length. For more information about exit codes and reasons, refer to the Android documentation.

Detailed view of an end session event

Wi-Fi RSSI Sensor

Note

This feature is supported in the Cognitive3D Unity SDK version 1.5.4 and above.

Sends Wi-Fi RSSI on Android devices, providing the strength of the Wi-Fi signal received by the device, typically expressed in decibels relative to a milliwatt (dBm). This value is crucial for understanding the quality and reliability of a Wi-Fi connection.

RSSI (dBm) Signal Strength Description
>= -50 Excellent Strong signal with excellent connectivity.
-51 to -60 Good Reliable connection with minor degradation.
-61 to -70 Fair Usable signal but may experience slower speeds.
-71 to -85 Weak Low signal strength, potential connectivity issues.
< -86 Poor Unstable connection, likely frequent drops.

intercom If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page or join our Discord.