2016-06-27 7 views
0

Я разрабатываю приложение для Android, которое будет подсчитывать шаги для пользователей. Я использую google fitness api для этого. Я включил функцию api в моей консоли разработчика и связал свое приложение с этим. Когда я устанавливаю приложение на своем устройстве, он отлично показывает мои шаги. Однако, если я устанавливаю его на другое устройство, он не показывает никаких шагов (возвращаемые шаги равны 0). Есть ли у вас какие-либо предложения о том, что может быть проблемой? Электронная почта, которую я объявила, когда я включил фитнес-api в моей консоли разработчика, тот же, что и на моем устройстве, который работает. Должен ли я объявить что-то еще?Google fit api шаги возвращает 0 для некоторых пользователей

+0

Возможно, на соответствующих устройствах не установлена ​​соответствующая установка? шаги подсчета - это выбор afaik (google fit даже не установлен по умолчанию) – Lovis

ответ

0

Google Fitness API не подключен к учетной записи, которую вы используете для консоли разработчика. Сертификаты консоли подключены к приложению, поэтому вы указываете имя хранилища SHA-1 и имя пакета при получении сертификата OAuth 2.0. Я попробовал это с коллегой и сертификатом OAuth, который он создал на другом аккаунте, потому что наше приложение работало, когда я его использовал.

Возможно, проблема заключается в том, что вы вошли в другую учетную запись на своем втором устройстве. Данные Google Fitness подключены к вашей учетной записи Google и должны быть доступны для разных устройств и платформ, но если вы не находитесь в правильной учетной записи, вы, очевидно, не сможете получить свою историю фитнеса.

Как сказал Ловис, я считаю, что шаги подсчета - это выбор, поэтому вам нужно будет войти в аккаунт, чтобы подписаться на вашу учетную запись Google Fit, чтобы начать запись . Запись шаг подсчитывается на втором устройстве. Тем не менее, вы все равно сможете читать с другого устройства, не обращаясь к API записи.

Edit: В дополнение к тому, что я сказал выше, если вы уверены, что вы подключены к одной и той же учетной записи вы можете увидеть, что this SO question говорит: использовать DataReadRequest.Builder.enableServerQueries(), как документально here.

Включить запрос сервера Google Fit для получения результатов запроса, если в локальном хранилище нет данных для полного запрошенного диапазона времени.