Android SDK i Google Analytics

Dziś szybki poradnik jak zaimplementować podstawowe funkcje Google Analytics we własnej aplikacji na Androida. Niby w sieci powinno być dużo na ten temat, ale:

  • Oficjalny tutorial na stronie developer.android.com jest trochę zakręcony,
  • Poradnik i przykłady na stronie Google Analytics jest z zupełnie innej bajki i do niczego się nie nadaje,
  • Większość poradników odnosi się do Analytcs v3 lub jeszcze starszych

Spędziłem sporo czasu próbując dojść ze sprawą do porządku, a rozwiązanie okazało się jak zwykle banalne. Aby śledzić wyświetlenia ekranów naszej apki nie trzeba zbyt wiele zachodu. No to jedziemy:

  1. Nasza aplikacja musi obsługiwać Google Play Services. Jeśli korzystacie z Android Studio, robi to się przez dodanie compile 'com.google.android.gms:play-services:5.0.89' w sekcji dependencies pliku app/build.gradle oraz <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
    w sekcji application pliku AndroidManifest.xml (numer wersji aktualny na wrzesień 2014). Jeśli nie korzystacie jeszcze z Android Studio, to zacznijcie,
  2. Uprawniamy aplikację do dostępu do internetu przez dodanie w pliku AndroidManifest.xml następujących uprawnień
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  3. Na stronie Analytics tworzymy profil aplikacji i zapisujemy jej identyfikator w formacie UA-xxxxxxx-xx. Będzie nam potrzebny w następnym kroku.
  4. Jeśli jeszcze nie nadpisaliśmy klasy Application, robimy to teraz:

    We właściwości TRACKING_ID podajemy oczywiście identyfikator naszej aplikacji oraz informujemy Androida, że nadpisaliśmy klasę Application przez dodanie właściwości android:name sekcji application pliku AndroidManifest.xml.

    Dlaczego tracker definiujemy w klasie aplikacji? Aby mieć jego tylko jedną instancję. OK, dało by się to zrobić inaczej, ale tak też można.
  5. W Activities które chcemy śledzić dodajemy następujący kod

    Oczywiście, „PogodaApplication” zastępujemy nazwą klasy naszej aplikacji, a „ForecastActivity” nazwą jaka chcemy aby pojawiła się w Analyticsach

I to tyle. Jak widać, nie ma w tym żadnej filozofii. Tylko uwaga, dane nie pojawią się na stronie Google Analytics od razu. Google Play Services wysyła dane w paczkach co pewien czas, a nie w natychmiast jak strony internetowe. Należy więc trochę poczekać.

Ścieżka rowerowa z kostki

ścieżka rowerowa z kostki polbruk
W zasadzie nie mam nic przeciwko ścieżkom rowerowym z kostki cementowej. W zasadzie. Pod warunkiem, że ktoś pomyślał i zrobił to dobrze. Czyli z dobrej kostki położonej we właściwy sposób. Przykładem takiej ścieżki jest odcinek Pilchowo – Tanowo pod Szczecinem. Nie jest to ten sam komfort co na asfalcie, ale da się jechać.
Z drugiej strony skali jest odcinek Pilchowo – Głębokie i absolutnie fatalny fragment w samym Pilchowie. Nie dość, że kostka ma fazowane krawędzie, to liczba mijanek, przejazdów, przerw i braku właściwych oznaczeń woła o pomstę. Tak szczerze, nie mam pojęcia jak przez Pilchowo należy przejechać zgodnie z przepisami jadąc od strony Polic. Pewnie jakoś się da, tylko jak pozostanie tajemnicą architekta.

roboCar na filmach

Ostatni raz o projekcie roboCar pisałem ponad rok temu. Niestety, przez ten czas niewiele się zmieniło. Robocik porósł tylko kurzem, a plan dodania modułu Bluetooth i sterowania nim za pomocą smartfona nie wyszedł poza fazę ogólnej koncepcji. Szkoda, mogło wyjść z tego coś fajnego. A tak, robot tylko stoi i się kurzy.

roboCar robot arduino

Dziś w ramach chwili nadmiaru wolnego czasu doczepiłem do niego lepszą kamerę i wysłałem w podróż po mieszkaniu. Wyszło to tak:

Mało, masełko, Ekstra Ekstra

Cytując Wikipedię

Nazwa masło jest zastrzeżona dla produktów bez domieszek tłuszczów roślinnych o określonej zawartości tłuszczu mlecznego (80%-90% dla masła (nie więcej niż 16% wody i 2% suchej beztłuszczowej masy mleka), 60%-62% dla masła o zawartości 3/4 tłuszczu, 39%-41% dla masła półtłustego).

Do czego zmierzam? Do masła. Takie smarowidło na chleb robione z mleka. Z lat młodości pamiętam dwa rodzaje: masło ekstra i mało śmietankowe. Jedno w charakterystycznym niebiesko-czerwono-złotym opakowaniu i to drugie, zawinięte w papierek w kolorze masła. Czy jakoś tak. Lata mijały, opakowanie Masła Ekstra stało się opakowaniem właściwym, marką samą w sobie, wzorem do naśladowania. Wielu producentów, podobieństwo uderzające. Wygląd, w zależności od producenta, jakoś tak:

Masło Ekstra 82% tłuszczu

Cechy charakterystyczne:

  • kolory: złoty, czerwony i niebieski
  • 82% tłuszczu
  • napis: Masło Ekstra

Człowiek tylko rzuci okiem i już wie: to mało. Okazuje się, że nie zawsze, a pozory potrafią mylić.

Jakiś czas temu żona wysłała mnie do hipermarketu z misją: kupić masło, tylko koniecznie 82%. Kupiłem. Dwa razy sprawdziłem zawartość tłuszczu. Miało być 82% i było 82%. Niestety, okazało się, że niektórzy producenci dość swobodnie podchodzą do tematu identyfikacji wizualnej. Uczą się mimikry od najlepszych. W efekcie, kupiłem coś takiego:

Ekstra Ekstra 82% tłuszczu

Cechy charakterystyczne:

  • kolory: złoty, czerwony i niebieski
  • 82% tłuszczu
  • napis: Ekstra Ekstra

Co się nie zgadza? Brak słowa Masło. Słowo masło zniknęło. Zamiast niego, małą czcionką jest napisane „miks tłuszczowy”. A podobne do oryginału jak dwie krople wody. Rzut oka na etykietę wyjaśnia różnicę:

Miks tłuszczowy Ekstra Ekstra etykieta

Nawet aromatu maślanego nie poskąpili. I aromat jogurtowy dali. I „preparat karotenowy”. I całe 24,6% tłuszczu mlecznego. Wypas.

Morał z tej historii jest taki: czytaj trzy razy co jest napisane na opakowaniu, bo możesz mocno się zdziwić.

Smartwatch? Chyba jeszcze nie teraz

Apple Watch BlackW dniu wczorajszym Apple zaprezentował Watch. Kilka dni wcześniej Moto 360 weszła do oficjalnej sprzedaży. LG kusi G Watch R. Samsung namawia do Gear Live. Kolejni producenci wchodzą, lub chcą wejść, na wschodzący rynek smartwatchy. I tylko HTC opuszcza go po cichu anulując projekt własnego inteligentnego zegarka. I tak prawdę mówiąc, to mam wrażenie, że HTC ma rację. Z jednego powodu: obecna generacja smartwatchy to jeszcze nie to. Jeszcze nie teraz.

Pierwszy i chyba największy mankament tych urządzeń to bateria. Khem… Moto 360 którą trzeba doładować po południu? 1 dzień? 2 dni? Apple milczy na temat osiągnięć swojego zegarka w tej dziedzinie. Sprytne. Ładowarka bezprzewodowa. Fajnie. Tylko jak idę do pracy to muszę ją targać ze sobą? Wieczorem na imprezie u znajomych:

“Kochanie, która godzina? Chyba powinniśmy już jechać do domu.”

“Nie wiem, zegarek mi się rozładował, więc chyba rzeczywiście czas na nas.”

Czytaj dalej