There are three ways to make a device integration to GpsGate Server.
1. Implement "GpsGate TrackerOne" in the device. This is for the device manufacturers or software developers that make a tracking client on a mobile phone or similar. We recommend the "GpsGate TrackerOne" integration in those cases:
2. Write a proxy - a proxy is running on the server in its own process, and communicates with GpsGate Server using GpsGate Protocol. And communicates with the custom device using its custom protocol. This is typical for partners that does not control the hardware and wants to make a fast integration for a device that is not supported in GpsGate Server. Status signals sent from the proxy is mapped to different functionallity in GpsGate Server using the "GpsGate Generic Device" mapper.
3. Write a native device integration, which runs in the same process as GpsGate Server. This is the way all native device support is implemented. Native device integrations are managed under "NMEA Service" in "SiteAdmin". You can do things like outgoing commands (over SMS, TCP, UDP etc.) Set default device mapping. Incoming commands. Control how track history and status messages are saved. Must be written using .NET, if you know your way around you can also do things like add new transport layers like direct satellite for example.
More info on native device integration here:
All approaches have their advantages and disadvantages. If you control the hardware, method 1. is recommended. In particular if your own protocol is not highly developed.
Method number 3. will always give most flexibility in access to the GpsGate Server business logic. The downsides are it demands more from the developer, and you may need to recompile the integration project for new releases of GpsGate Server.
Method number 2. is good in the that it is isolated from the GpsGate Server process, which means you can use other languages than .NET. No recompile is necessary between GpsGate Server releases, since GpsGate Protocol is backward compatible. The advantages in a native integration like outgoing commands will step by step be available in a proxy integration as well (using GpsGate Protocol) but it will always be a step behind.
A very useful tool when making an integration is the "Terminal". You use the Terminal to monitor the exact communication between device/client and server and you will also see how the data is processed by the server. More info:
A simple way to add outgoing commands to be sent from GpsGate Server to the device/client is by using Template Commands. More info here: