Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[PHP]Pobieranie danych z Battleloga

Wszyscy gracze popularnych strzelanek od EA zostali przywiązani do Battleloga, który stanowi centrum statystyk, informacji o graczach oraz służy do zarządzania grą. Nie będę jednak dziś dywagował nad słusznością tak szerokiego zastosowania tej webowej aplikacji, lecz postaram się przedstawić mój sposób na wykorzystanie informacji, które dostarcza w naszych projektach.

Pierwszym i najważniejszym krokiem było odnalezienie źródła danych. Nie udało mi się odnaleźć oficjalnego API do Battleloga, więc postanowiłem stworzyć je sam. Battlelog wykorzystuje na potęgę możliwości AJAXa umilając wczytywanie kolejnych porcji informacji. Krótka analiza kodu źródłowego uświadomiła mi, że wykorzystuje on do tego dane w formacie JSON. Język PHP od wersji 5.2 posiada funkcje do obsługi tego formatu danych, więc pozostało jedynie zebranie adresów URL, gdzie JSON zawiera interesujące nas informacje oraz napisanie skryptu, który te dane pobierze.

Aktualnie moje API (ale to chyba za dużo powiedziane) obsługuje gry Battlefield 3, Battlefield 4 oraz Medal of Honor: Warfighter umożliwiając pobieranie szczegółowych statyk graczy, oraz serwerów. Całość dostępna jest tutaj i jak zawsze czekam na wasze opinie i komentarze.

PS: Zapraszam również do zapoznania się z moją wcześniejszą publikacją na temat bezpośredniego pobierania danych z serwera gry Battlefield 3 oraz 4. 

internet programowanie gry

Komentarze

0 nowych
Magnis   8 #1 20.03.2014 20:26

No póki co - surowe API. Może jakieś zastosowanie w praktyce?

hausner15   5 #2 21.03.2014 00:15

I warto by było wrzucić np. na GitHuba albo Bitbucketa - a nuż znajdzie się ktoś kto pomoże w rozwijaniu tego API

Grzesie1k   4 #3 21.03.2014 01:02

Na GitHuba poleci na 100% ale jeszcze nie do końca jeszcze umiem aktualizować tam pliki :) Taki ,,mój pierwszy raz".

Użycie jest ale chwilowo dość oryginalne: wyrzucanie użytkowników z serwera TS3, jeżeli ich nazwy użytkowników nie istnieją na Battlelogu. [url=http://pastebin.com/RCCDBmLP]Kod[/url]. Pomyślę nad jakimś praktycznym pokazem możliwości ;)

Grzesie1k   4 #4 21.03.2014 01:07

EDIT: BB-Code tak samo wyłączone jak i edycja komentarzy? Coś chyba administracja narozrabiała. Poprawka linku:
http://pastebin.com/RCCDBmLP

NeoXant   1 #5 21.03.2014 10:55

@Grzesie1k : Ja dobrze widzę? Podałeś hasło do admina QueryServera? Weź usuń tego pastebina bo ci ktoś namiesza na TSie :D

Songokuu   14 #6 21.03.2014 11:40

To o czym piszesz to nie "moja bajka" :)

Do "pobierania" danych z Battleloga używam aplikacji na Androida - Battlefield BF3 Stats (https://play.google.com/store/apps/details?id=com.bcseime.bf3stats3&hl=pl)
a sam Battlelog mam usprawniony dwoma dodatkami - Battlelog Plus i Better Battlelog.

Grzesie1k   4 #7 21.03.2014 18:52

@NeoXant Te dane są bezwartościowe (konto nie istnieje) ale dziękuje za czujność :)
@Songokuu Każdy ma ,,swoją bajkę" ale wszystkie nieoficjalne apki korzystają zapewne z podobnych rozwiązań (oczywiście nie w PHP). Nikt jednak chyba nie zebrał tego w całość w jednym miejscu. Z BBloga sam korzystam i sobie chwalę (szczególnie za integracje z Symthic), ale o Battlelog Plus nie słyszałem.

  #8 22.03.2014 14:08

Całkiem fajne toto ;)