2016-06-27 16 views
0

Ich entwickle eine Android-App, die Schritte für Benutzer zählt. Ich benutze Google Fitness API, um dies zu tun. Ich habe Fitness-API in meiner Entwicklerkonsole aktiviert und verknüpfe meine App damit. Wenn ich die App auf meinem Gerät installiere, funktioniert es perfekt und zeigt mir meine Schritte. Wenn ich es jedoch auf einem anderen Gerät installiere, werden keine Schritte angezeigt (zurückgegebene Schritte sind 0). Haben Sie Vorschläge, was das Problem sein könnte? Die E-Mail, die ich bei der Aktivierung der Fitness-API in meiner Entwicklerkonsole angegeben habe, ist dieselbe wie die in meinem Gerät, die funktioniert. Soll ich etwas anderes erklären?Google fit api Schritte gibt 0 für einige Benutzer zurück

+0

vielleicht passt nicht auf den betreffenden Geräten? Schritte zählen ist Opt-In afaik (Google Fit ist nicht einmal standardmäßig installiert) – Lovis

Antwort

0

Die Google Fitness-API ist nicht mit dem Konto verknüpft, das Sie für die Entwicklerkonsole verwenden. Die Konsolenzertifikate sind mit der App verbunden, weshalb Sie beim Abrufen des OAuth 2.0-Zertifikats den SHA-1-Keystore und den Paketnamen angeben. Ich habe das mit einem Kollegen versucht und das OAuth-Zertifikat, das er für ein anderes Konto für unsere App erstellt hat, hat auch funktioniert, als ich es benutzt habe.

Möglicherweise ist das Problem, dass Sie auf dem zweiten Gerät in das falsche Konto angemeldet sind. Google Fitness-Daten sind mit Ihrem Google-Konto verknüpft und sollten für verschiedene Geräte und Plattformen zugänglich sein. Wenn Sie jedoch nicht im richtigen Konto sind, können Sie Ihren Fitnessverlauf natürlich nicht abrufen.

Wie Lovis sagte, ich glaube Zählschritte ist Opt-in, so müssen Sie sich auf etwas anmelden, das Ihr Google Fit Schritte-Konto zu abonnieren beginnt Aufnahme Schritt zählt auf einem zweiten Gerät. Sie sollten jedoch immer noch von einem anderen Gerät lesen können, ohne sich bei der Aufnahme-API anmelden zu müssen.

Edit: Zusätzlich zu dem, was oben gesagt, wenn Sie sicher sind, bist du auf das gleiche Konto verbunden Sie können sehen, was this SO question sagt: DataReadRequest.Builder.enableServerQueries() wie dokumentiert here zu verwenden.

Aktivieren Sie die Abfrage des Google Fit-Servers zum Abrufen von Abfrageergebnissen, falls der lokale Speicher keine Daten für den gesamten angeforderten Zeitraum enthält.