Как можно проверить на бэкенде, что данные идут от мобильного приложения?
Скорее всего, никак. Потому что https обычно достаточно легко обходится, хотя и может попортить кровь при граммотной реализации, а обсфуркация усложняет жизнь не на порядок. В крайнем случае никто не мешает запустить приложение в эмуляторе. 
В такой ситиуации единственным правильным решением является проверка приходящих данных с точки зрения логики работы. Можно, если очень хочется, пытаться собирать какие-то данные с телефона и на их основании пытаться идентифицироать клиента, как настоящего.
HTTPS с проверкой фингерпринта сертификата сервера и с двухсторонней авторизацией хорошо усложнит жизнь аналитику. Классика, как обфускация программного кода, разные приемы антиотладки. Если работаете с GPS, то хотя бы проверяйте откуда приходят данные. Хороший способ - перенести логику работы на сервер, однако пользователи будут крайне недовольны таким подходом.