Śledzenie zdarzeń w komponencie WebView za pomocą Google Analytics

1. Wprowadzenie

Ostatnia aktualizacja: 22.12.2021 r.

Co utworzysz

Z tego ćwiczenia w Codelabs dowiesz się, jak przekazywać zdarzenia ze strony internetowej w komponencie WebView do kodu natywnego, aby umożliwić GA4F ich śledzenie.

Wykorzystamy przykładową aplikację hybrydową na Androida, która wywołuje stronę internetową za pomocą komponentu WebView.

Czego się nauczysz

  • Jak zainicjować GA4F (Google Analytics dla Firebase) w aplikacji hybrydowej
  • Jak tworzyć niestandardowe zdarzenia i parametry na stronie internetowej
  • Jak przekazywać zdarzenia na stronie internetowej w komponencie WebView do kodu natywnego
  • Debugowanie
  • Jak importować zdarzenia i używać ich w kampaniach zachęcających do działania.

Czego potrzebujesz

  • Android Studio 3.6 lub nowszy
  • Konto Firebase

2. Przygotowanie

Pobierz kod

Dokumenty z przewodnikiem po Firebase znajdują się w GitHubie i zawierają przykładowy kod potrzebny na potrzeby tego projektu.

7074c0e83b5fd4b1.png

Aby rozpocząć, pobierz kod i otwórz go w ulubionym środowisku programistycznym. Wykorzystamy 2 katalogi : Android i internet. „Android” katalog jest przeznaczony dla aplikacji na Androida oraz katalogu „web” wskazuje stronę internetową, która będzie wywoływana przez aplikację za pomocą WebView.

3. Tworzenie i konfigurowanie projektu Firebase

Aby zacząć korzystać z Firebase, musisz utworzyć i skonfigurować projekt Firebase.

Tworzenie projektu Firebase

  1. Zaloguj się w Firebase.

W konsoli Firebase kliknij Dodaj projekt (lub Utwórz projekt) i nadaj projektowi Firebase nazwę Webview-test-codelab lub dowolną inną nazwę.

fd93054e27d6b386.png

  1. Klikaj opcje tworzenia projektów. Zaakceptuj warunki korzystania z Firebase, jeśli pojawi się taka prośba. Musisz włączyć Google Analytics w tym projekcie, ponieważ potrzebujesz zdarzeń Google Analytics do śledzenia zdarzeń związanych z działaniami i analizowania konwersji.

e58151a081f0628.png

Więcej informacji o projektach Firebase znajdziesz w artykule Omówienie projektów Firebase.

4. Konfiguracja Firebase na Androida

3e5b8f1b6ca538c4.png

Skonfiguruj Androida

  1. W konsoli Firebase w panelu nawigacyjnym po lewej stronie kliknij Przegląd projektu, a potem w sekcji „Rozpocznij od dodania Firebase do aplikacji” kliknij przycisk Android.

Okno dialogowe pojawi się na następnym ekranie.

3b7d3b33d81fe8ea.png

  1. Najważniejszą wartością jest nazwa pakietu na Androida, którą otrzymasz w następnym kroku.
  1. W katalogu aplikacji otwórz plik android/app/src/main/AndroidManifest.xml.
  2. W elemencie manifest znajdź wartość w postaci ciągu znaków atrybutu package. Ta wartość to nazwa pakietu na Androida (np. com.yourcompany.yourproject). Skopiuj tę wartość.
  3. W oknie Firebase wklej nazwę skopiowanego pakietu w polu Android package name.
  4. Nie jest nam potrzebny klucz SHA-1, chyba że planujesz użyć logowania przez Google lub linków dynamicznych Firebase (pamiętaj, że nie są one częścią tego ćwiczenia). Jeśli planujesz importować dane in_app_purchase z Google Play, trzeba będzie skonfigurować klucz później.
  5. Kliknij Zarejestruj aplikację.
  6. Przechodząc dalej w Firebase, postępuj zgodnie z instrukcjami, aby pobrać plik konfiguracyjny google-services.json.

52f08aa18c8d59d0.png

  1. Przejdź do katalogu aplikacji, a potem przenieś do katalogu android/app (pobrany właśnie plik) plik google-services.json.
  2. Z powrotem w konsoli Firebase pomiń pozostałe kroki i wróć na stronę główną konsoli Firebase.
  3. Na koniec potrzebujesz wtyczki do Gradle usług Google, aby odczytać plik google-services.json wygenerowany przez Firebase.
  4. W IDE lub edytorze otwórz android/app/build.gradle i dodaj ten wiersz jako ostatni wiersz w pliku:
apply plugin: 'com.google.gms.google-services'
  1. Otwórz android/build.gradle i w tagu buildscript dodaj nową zależność:
buildscript { 
   repositories {
      // ...
   }
   dependencies {
      // ...
      Classpath 'com.google.gms:google-services:4.3.3'
   }
}
  1. Jeśli aplikacja nadal działa, zamknij ją i skompiluj ponownie, aby umożliwić Gradle instalowanie zależności.

Aplikacja na Androida została skonfigurowana.

5. Tworzenie interfejsu internetowego Analytics w internecie i rejestrowanie zdarzeń niestandardowych

Aby śledzić zdarzenia w komponencie WebView za pomocą Google Analytics, musisz wstawić kod zarówno do witryny internetowej, jak i aplikacji na Androida.

W tej części zobaczmy, jaki kod należy umieścić w internecie. a0f31cdf21ea85d1.png

Najpierw utwórz plik JavaScript do użycia w pliku HTML. W przykładowym kodzie plik js o nazwie index.js Musisz utworzyć funkcję „logEvent” za wywołanie AnayticsWebInterface na Androida i messageHander w przypadku iOS, jak poniżej.

6d9fac050fb64f4e.png

Wywołaj tę funkcję, która pozwala śledzić zdarzenie, tak jak poniżej.

f40c1596678173ba.png

Po wywołaniu zdarzenia w komponencie WebView na Androidzie „window.AnalyticsWebInterface” zostanie wywołana i połączy się z aplikacją natywną.

6. Hostowanie katalogu internetowego dla pobierania adresu URL strony internetowej

Zanim wywołasz stronę w komponencie WebView w aplikacji, potrzebujesz jej adresu URL. Jest wiele metod hostowania stron internetowych, ale z tego ćwiczenia z programowania dowiesz się, jak wygodnie korzystać z usługi hostingu Firebase.

  • W terminalu wpisz katalog internetowy (np. cd web) i uruchom te polecenia:
  • npm install -g firebase-tools – spowoduje to zainstalowanie interfejsu wiersza poleceń Firebase.
  • firebase login
  • firebase init
  • Wybierz „Hosting”. gdy pojawi się pytanie, którą funkcję chcesz skonfigurować.
  • Wybierz projekt skonfigurowany dla aplikacji na Androida.
  • Zaakceptuj wartości domyślne we wszystkich pozostałych promptach.
  • firebase deploy --only hosting – wdróż w Hostingu Firebase.

e7d56dd78a4448e7.png

7. Tworzenie kodu interfejsu w aplikacji na Androida

Aby śledzić zdarzenia w komponencie WebView za pomocą Google Analytics, musisz wstawić kod zarówno w wersji internetowej, jak i na Androida. W tej części zobaczmy, jaki kod należy umieścić w aplikacji na Androida.

Utworzenie pliku „AnalyticsWebInterface.java” w celu utworzenia interfejsu AnalyticsWebInterface zajęcia. W tej klasie musisz w kodzie @JavascriptInterface połączyć funkcję logEvent w pliku js witryny jak poniżej.

6f069f438e4667ba.png

Następnie musisz dodać do Aktywności interfejs JavaScriptu, który wywołuje komponent WebView jak poniżej.

f2c6e5affd8c8993.png

Cały kod znajdziesz w przykładowym kodzie pobranym w sekcji „Konfigurowanie” krok po kroku.

8. Sprawdzanie i debugowanie zdarzeń

W przypadku zdarzeń debugowania możesz użyć poniższego kodu w terminalu Android Studio po podłączeniu urządzenia testowego lub uruchomieniu emulatora.

> adb shell setprop debug.firebase.analytics.app [nazwa pakietu aplikacji]

> adb shell setprop log.tag.FA VERBOSE

> adb shell setprop log.tag.FA-SVC VERBOSE

> adb logcat -v time -s FA FA-SVC

Jeśli kod działa prawidłowo, zobaczysz dziennik podobny do tego poniżej.

33c64f811e7e9a0f.png

Jeśli chcesz to sprawdzić w konsoli Firebase, możesz też użyć karty Czas rzeczywisty. Otwórz konsolę Firebase i kliknij kartę Czas rzeczywisty jak poniżej.

Następnie przefiltruj zdarzenie na platformie Androida za pomocą opcji „Dodaj porównanie” .

af6e8da348dbe775.png aa804eb02f0b7d3f.png

Jeśli kod został prawidłowo zaimplementowany, zobaczysz zdarzenia z aplikacji na Androida na karcie Czas rzeczywisty.

bde531c7a37c0851.png

Zarejestrowane zdarzenia pojawią się na karcie Zdarzenia w konsoli Firebase w ciągu kilku godzin. Wystarczy, że klikniesz kartę Zdarzenia w sekcji Analytics dostępnej w konsoli Firebase. Możesz też sprawdzić wartości w wydarzeniu event1, klikając je.

Oznacz event1 jako konwersję, przesuwając przełącznik Oznacz jako konwersję w prawo.

486010186b929deb.png

Jeśli zdarzenie znajduje się na karcie Konwersja, oznacza to, że zostało ono oznaczone jako konwersja. Google Ads będzie teraz mógł importować to zdarzenie z Firebase.

b72cf934a76e174b.png

Do debugowania użyj Firebase DebugView. Więcej informacji znajdziesz w artykule Zdarzenie debugowania.

9. Importowanie zdarzeń analitycznych do Google Ads

Po zakończeniu konfiguracji Firebase-Flutter możesz uruchomić kampanie promujące aplikacje ze zdarzeniami działania. Zacznij od połączenia Firebase z Google Ads. Dzięki połączeniu Firebase z Google Ads kampanie promujące aplikacje mogą importować zdarzenia Firebase. Ten proces pomaga też Google Ads ulepszać kampanie promujące aplikacje, ponieważ dostarcza więcej informacji o ich odbiorcach.

  1. Otwórz Ustawienia Firebase, klikając przycisk obok Przeglądu projektu.
  2. Na karcie Integracje zobaczysz Google Ads i przycisk Połącz. Kliknij kolejno Połącz i Dalej.

b711bf2e94fa0895.png

  1. Wybierz konto Google Ads.

To już koniec działania Firebase.

Przejdź do Google Ads.

  1. Zaloguj się i wybierz Narzędzia Ustawienia > Pomiary > Konwersje, aby importować zdarzenia niestandardowe jako konwersje.
  2. Aby dodać nowe działania powodujące konwersję, kliknij przycisk +.

73cec8d2e80eab03.png

  1. Wybierz Usługi w Google Analytics 4 (Firebase) i kliknij Dalej.

4b1d8f6a712b2ac6.png

  1. Możesz wyświetlić wszystkie zdarzenia Analytics, które są oznaczone jako konwersje. Znajdź zaimplementowane wcześniej zdarzenie event1.

e2bd5e1f7b9b73d9.png

  1. Sprawdź działanie, kliknij Importuj,a następnie kliknij Dalej.

ab35e341dff32e48.png

Po ustawieniu event1 jako działania powodującego konwersję możesz uruchomić kampanie zachęcające do działania kierowane na użytkowników, którzy prawdopodobnie będą uruchamiać zdarzenia event1 więcej niż 5 razy.

10. Uruchomienie kampanii zachęcających do działania w aplikacji z zaimportowanymi zdarzeniami

  1. Przejdź na kartę kampanii bieżącego konta i rozpocznij nową kampanię, klikając przycisk +. Kliknij kolejno [Nowa kampania] i Dalej.
  2. Uruchom kampanię promującą aplikację z opcją Instalacje aplikacji.

af98c44d1476558.png

  1. Znajdź aplikację, wpisując jej nazwę, nazwę pakietu lub wydawcę.
  2. W sekcji Określanie stawek wybierz z menu Działania w aplikacji.
  3. Na wyświetlonej liście odszukaj zdarzenie niestandardowe. Ustaw Docelowy koszt działania i podaj dodatkowe opcje.

ee2bf8eb80cddd7c.png

  1. Dokończ konfigurowanie ustawień kampanii.

11. Gratulacje

Gratulujemy! Udało Ci się zintegrować Firebase z Google Ads. Pomoże Ci to zwiększyć skuteczność kampanii za pomocą zdarzeń zaimportowanych z Firebase.

Wiesz już

  • Jak zainicjować GA4F (Google Analytics dla Firebase) w aplikacji hybrydowej
  • Jak tworzyć niestandardowe zdarzenia i parametry na stronie internetowej
  • Jak przekazywać zdarzenia na stronie internetowej w komponencie WebView do kodu natywnego
  • Debugowanie
  • Jak importować zdarzenia i używać ich w kampaniach zachęcających do działania.