Request an API (OpenLigaDB)

Hey,

ich möchte für meine App ein Backend realisieren.

Die App ist eine ganz einfache One-Button-App, wenn man auf den Button klickt wird ein Fan Lied von Mario Gomez abgespielt. Mario Gomez Button

Jetzt möchte ich, dass jeder der die App auf dem Handy hat eine Benachrichtigung bekommt, wenn Mario Gomez ein Tor geschossen hat. Zurzeit schicke ich die Benachrichtigungen manuell über die Firebase-Console ab.
Es gibt aber eine offene API - OpenLigaDB, mit der die aktuellen Fußballergebnisse abgefragt werden können. Mein Backend-Server könnten dann also automatisch Benachrichtigungen an die Clients schicken, wenn Gomez ein Tor geschossen hat.

**Nun zu meiner(/n) Frage(n):
**
Wie realisiere ich es in meinem Backend (mit Java):
Muss ich alle paar Sekunden ein Request an die API schicken, um die Ergebnisse aus der OpenLigaDB zu erhalten? (wenn ja, verursacht dass nicht zu viel Traffic bei OpenLigaDB?) Oder gibt es eine bessere Lösung?

Ich hoffe, dass mir einer von euch Helfen kann.

Grüße

Da muss man leider sagen: Kommt drauf an.

Wenn die OpenLigaDB keine Möglichkeit für pushes hat: ja
Ob es zu viel Traffic ist: Richtlinien und Regeln des Anbieters durchlesen

alle paar Sekunden 24 Stunden am Tag werden aber wohl nicht nötig sein,
wonach fragst du ab, kennst du den genauen Verein oder durchsuchst du alle Spiele weltweit nach dem Namen?

werden Spiele zeitlich vorher angekündigt, kann man erkennen ob gerade laufend/ beendet?
zwischen den Spielen idealerweise nur wenig anfragen,
aber theoretisch vielleicht nicht auszuschließen dass irgendeine Voranküdigung fehlt oder unterboten wird und zu einer unerwarteten Zeit Daten verfügbar wären, die sekunden-genaue Abfrage erwischt hätten…,
selbst wenn alle 5 Min. abgefragt könnte ein Tor in erster Minute eines erst dann auftauchenden Spiels minutenlang unerkannt bleiben…

während eines erkannten Spiels könnte es auch reichen, 1x pro Minute nachzufragen,
wobei die Eintragung dort sicher auch erst gewisse Verzögerung hat, das kann sich dann summieren…,

wenn man nebenbei Fernsehen sieht könnte es sicher negativ auffallen falls erst Minuten später :wink:
dann eben doch öfter während des Spiels,


werden da wirklich für große Breite von Spielen sekundengenau Tore eingetragen?
wer macht das, das ist ja anders als technisch gar nicht zu schaffen und auch dann muss immer irgendwo (etwa kommerzielle Stelle) erst eine manuelle Eingabe erfolgen,
falls nicht Spiele von intelligenten Kameras usw. ausgewertet werden

kurze Suche lieferte
https://datahub.io/dataset/openligadb-football-results/resource/508e983a-b144-4149-ba35-b22968bee4f8
mit nur einem Satz unbekannten Alters

Scores updated with a delay of 55 minutes on average.

‚delay‘ neuer Suchbegriff, findet noch
Fast or accurate? A comparative evaluation of football APIs – Dr. Nicolai Erbs
etwas erbaulicher

edit:
hierfür interssanter Satz noch:

Access time of a couple of seconds would not make any difference for most of the bots. These bots are usually designed in a way that they access the API roughly every 20 to 120 seconds.


freilich ist es Gomez, du musst dein Programm gar nicht ausliefern, es läuft bereits überall perfekt für alle Zeit :wink:

Hallo,

Danke für eure Antworten.

Ich habe heute eine Nachricht von OpenligaDB erhalten, dass die Grenze bei 5000 Abfragen im Monat liegt. Außerdem gibt es eine Ressource „GetLastchangedate“, mit der die letzte Änderungen an einem Spieltag abgefragt werden können. Mit GetLastchangedate gibt es keine Begrenzung auf Abfragen.
D.h. ich werde dann alle paar Sekunden abfragen ob es eine Änderung gab an dem Spieltag und wenn ja, dann überprüfe ich ob ein Tor in Wolfsburg gefallen ist und der Torschütze Mario Gomez war.

Mit dem Delay werde ich mal beim nächsten Spieltag schauen wie hoch der ist. Wenn es wirklich bei fast einer Stunde liegt, dann ist die API eher uninteressant für mich.
Da die Ergebnisse bzw. Tore von der Community eingetragen wird, kann ich mir gut vorstellen dass es da Schwankungen an verschiedenen Spieltagen geben wird. Aber mal schauen…

Ich werde hier weiter berichten was rausgekommen ist. :wink:

im zweiten Link waren es ja maximal 3 Min., auch gelesen?
bei so einer Anwendung kann das auch tödlich sein, aber ne Stunde wohl nicht zu befürchten,
schon gar nicht bei Bundesliga, werden da nicht auch kommerzielle Webseiten mit Ergebnisanzeige abgefragt?

ich sage aber weiterhin voraus, dass du die App für Gomez nie brauchen wirst :wink:
kleiner Spaß, er kann es vertragen

[ot]
Diese Verzögerungen werden ein wenig relativiert, wenn man sich die Alternativen ansieht - zumindest erinnerte mich das an Zahlen, bitte! Euro 2016: Manche jubeln erst nach 56 Sekunden | heise online :wink:
[/ot]

klar, 3 Min. oder 30 sec oder 3 sec sind jeweils Welten, das ist auch gar kein Offtopic,

aber wenn von den 55 Min. aus meinem ersten Zitat gelesen, und dabei sogar immer noch nur ‘eher uninteressant’,
dann ist ja schon wichtig, dass das wahrscheinlich nun wirklich kein Thema ist, je nach aktuellen Stand, Tendenz 3 Min. oder hoffentlich viel weniger

[QUOTE=SlaterB]
ich sage aber weiterhin voraus, dass du die App für Gomez nie brauchen wirst :wink:
kleiner Spaß, er kann es vertragen[/QUOTE]

Die App ist für mich selber als eine „Lern-App“ zu sehen. Ich wollte einfach eine kleine App realisieren, womit ich lerne wie alles funktioniert: App im Playstore veröffentlichen, Firebase und AdMob integrieren und Backend mit automatisierten Benachrichtigung über Firebase abschicken.

Ab Sonntag wird die App jedes Wochende gebraucht. :smiley: