2017-02-18 5 views
0

Ich habe eine Android-App und möchte sicherstellen, dass alle vom Benutzer ausgelösten Ereignisse gesendet werden, wenn ein Benutzer die Anwendung verlässt.AWS Mobile Analytics/Senden von Ereignissen, wenn App in den Hintergrund geht

In AWS Mobile Analytics empfiehlt es sich, Sendeereignisse für alle Aktivitäten auf der Methode pause aufzurufen. Aber angesichts der SDK-Beschränkung, dass Ereignisse maximal einmal pro Minute gesendet werden, kann ich immer noch Ereignisse verlieren. Zum Beispiel, wenn ein Benutzer eine Aktivität beendet und dann die Anwendung in den Hintergrund versetzt. Die Exit-Aktivität löst Submission-Ereignisse und den Wechsel in den Hintergrund aus. Wenn sie weniger als 1 Minute waren, wird die zweite Submission die Ereignisse nicht übermitteln und wenn die App nicht mehr geöffnet wird, werden sie nie mehr gesendet.

Wie kann ich sicherstellen, dass alle Ereignisse gesendet werden? Gibt es eine Kraft, die Ereignisse einreicht?

Die Lösung, die ich bisher gefunden habe - Fügen Sie der Anwendung einen Dienst hinzu. Wenn die App in den Hintergrund tritt (etwas knifflig, aber mit https://stackoverflow.com/a/4414191 möglich), wird der Dienst ausgelöst. Der Dienst wartet dann 2 Minuten und löst dann submitEvents aus. Diese Lösung funktioniert, aber scheint ein wenig Overhead und ich würde erwarten, dass der SDK eine Lösung für diesen Fall haben wird.

Antwort

1

Momentan gibt es keine Möglichkeit, eine Ereignisübertragung innerhalb dieses Minutenfensters zu erzwingen. AWS Mobile Analytic ist jedoch in Amazon Pinpoint integriert, und für das SDK gilt diese Einschränkung nicht. Bitte schauen Sie in den Umzug zum Pinpoint SDK - http://docs.aws.amazon.com/pinpoint/latest/developerguide/mobile-sdk.html

+0

Danke für die Antwort. Gibt es eine Dokumentation, die besagt, dass es keine Einschränkung gibt? Ich hatte den Eindruck, dass dies nur ein Wrapper zu den Mobile Analytics-Anrufen ist. – little

Verwandte Themen