Missing Alerts Troubleshooting

iOS

  1. Ensure the app has permission to send notifications. (System's "Settings" app > MetricWire > Notifications > Allow Notifications)

  2. Do not force kill the app. If you enter the multitasking view and swipe up on MetricWire, this kills the process and effectively prevents any prompts from firing until either the app is manually opened again by the user, or the device is restarted. When you go to Participant Activity for a study and select "View Activity" for a participant under a survey's column in the table, a large number of "app_launched" events indicates that the app is frequently being force closed by the participant. If you see this, let the participant know not to force close the app to avoid the system not being able to deliver survey notifications.

  3. The iOS operating system does not allow an app to schedule more than 64 notifications at one time. This includes each triggers every prompt time, along with reminders, and other internal alarms used to manage state. Thus whenever the app is refreshed, it calculates what the next 64 are and schedules those. If all 64 are exhausted and a refresh is not done, the prompts will stop coming. In 2.2.3 for iOS we introduced a periodic (ever 12 hours) background update which was meant to prevent this from causing missed triggers and further improved it in 2.2.4. However, this setting may be disabled by the participant in the iOS Settings > MetricWire > Background App Refresh.


  4. .The iOS operating system supports multiple calendar types aside from the standard Gregorian. It is unlikely that a participant has switched away from it, but if they have, triggers will be unable to fire. This setting may be found at Settings > General > Language & Region > Calendar*. If a participant had something other than Gregorian set, please re-install the app after switching back.

Android

  1. Ensure the app has permission to send notifications. (System's "Settings" app > Apps> MetricWire > “Show Notifications”)

  2. Do not force kill the app. If you enter the multitasking view and swipe up on MetricWire, this kills the process and effectively prevents any prompts from firing until either the app is manually opened again by the user, or the device is restarted.

  3. The Android Play Store contains many apps which run services on the phone to optimize battery life and other utility functions. In some cases, these apps may interfere with the system's scheduling service (which the MetricWire app uses to activate triggers) or kill apps in the background altogether without the user’s knowledge in the name of saving battery power. Apps and services like these may prevent participants getting prompts. It is best practice to disable or uninstall these apps when using MetricWire as a precaution.

  4. Certain specific Android devices from the manufacturers Huawei, ZTE, Kindle Fire and Xiaomi have been known to ship with a faulty system alarm service (used by MetricWire to activate triggers). If a participant is missing many prompts and is using a device made by one of these manufacturers and the trigger works as expected for everyone else, the participant may have a faulty device. If possible, ask the participant to try a different device.

  5. Some Asus devices come with a pre-installed application manager called the Startup Manager which aggressively manages installed apps on the device with the goal of conserving battery power. By default, this app denies any newly installed apps permission to run at startup and is allowed to terminate the app in the background in order to conserve power. Participants with these devices should enter the Startup Manager and ensure that MetricWire has permission to run at startup and is allowed to operate in the background.

Either Platform

  1. The device may be powered off when a trigger was supposed to fire.

  2. The date and time on the device may be set incorrectly.

  3. The user may have logged out or uninstalled the app.

  4. The user may not have refreshed the app since the study was last updated.

  5. The trigger may have fired, but the logs have not yet reached the server. Logs are sent to the server when the app refreshes and when a submission is sent. It's possible for a participant to ignore the app for a few days and then refresh, dumping several days worth of trigger logs to the server in one swoop.

  6.  The nature of mobile platforms is fragmentation. MetricWire supports over 10,000 unique Android devices with a variety of operating system versions, as well as all iOS devices running versions of iOS from 7.0 on. Every participant is unique and has a different device, operating system version, other installed apps, configuration settings, habits, etc. There is always the possibility that some unforeseen combination of these will cause some prompts to fire incorrectly or not at all. While we do all we can to ensure that MetricWire performs as expected under all possible conditions, we cannot guarantee 100% of prompts will fire for 100% of participants.

 

Note: In about 80% of cases, opening the app and allowing it to refresh corrects most perceived misbehavior. If that fails to work, re-installing the app is generally the next best step as this wipes everything about the app from the phone and allows it to start fresh, so old data (data on the device from previous app versions) is not able to interfere. If that still fails, and none of the above reasons are to blame, then either the study's setting are incorrect, or there is a bug which we will correct upon discovery.