How Push Commands Work

How Push Commands Work


FlexiSPY uses a number of ways to communicate with the TARGET device. 

This section describes how PUSH commands work and provides the basis for understanding the Command Tracker

Push Command Flow

The diagram above shows a simplified view of how Push Commands are processed and how Command Tracking Logs are created. Find out more about why Command Tracking Logs are useful


The command flow consists of the following steps

1 —  Command Request

  1. The user sends a command from the portal.
  2. The System selects a PUSH SERVER
    1. The Push server is selected based on the OS and Root Status of the TARGET device.
      1. Currently, Android non-root use the Google Push Server (GPS). Rooted devices currents use the Default Push Server (DPS)
  3. This command is sent to the PUSH SERVER.
  4. If the Push server fails to send the command, the user is notified immediately via the UI. This error does not appear in the command tracking log
    1. If Push Server fails, the system will place the command on the Pending Command Queue, where the Target device will collect it the next time it is scheduled to connect to the server

2 — Send Command 

  1. The push server delivers the command to the device OS, which then passes it to the FlexiSPY application which is running on the TARGET device

3 — Send Confirmation

  1. The Target device sends a confirmation to the FlexiSPY Server that the command was received, and proceeds to process the command

4 — Log Command 

  1. The FlexiSPY server receives the confirmation and adds it to the Command Tracking Log

5 — Send Command Execution Result

  1. After the Target has completed the execution of the command, it sends it to the FlexiSPY Server

6 — Log Execution Result

  1. The FlexiSPY server receives the execution results and adds it to the Command Tracking Log

7 — Retrieve Command Tracking Logs

  1. Tracking logs can be retrieve by accessing the command tracking tool