Hämtningstid är ett nytt prestandaattribut i Android Performance Tuner. Det kan hjälpa dig att identifiera prestandaproblem som påverkar hämtningstiden i spelet och även visa på möjligheter att förbättra prestandan. Detta kan bidra till ökad kundlojalitet och kundnöjdhet.
Mätvärdena för hämtningstidens inverkan hjälper dig att identifiera de viktigaste prestandaproblemen. Problemen är indelade i kategorier så att du enklare ska kunna vidta åtgärder. Det finns information på såväl enhetsmodellnivå som spelannoteringsnivå så att du kan hitta det effektivaste angreppssättet.
Integrering
Android Performance Tuner kan integreras med Hämtningstider på två sätt beroende på konfiguration: standardintegrering eller integrering med Unity-plugin. Anvisningarna på webbplatsen för Android-utvecklare hjälper dig med integreringen.
När integreringen är klar går du igenom checklistan nedan innan du laddar upp AAB-arkiv på Play Console och börjar samla in data om hämtningstid.
Checklista efter integreringen- Läs igenom appens integritetspolicy och uppdatera den vid behov.
- Ange kvalitetsparametrar och samtliga kvalitetsnivåer för appen. Du kan ta hjälp av följande dokumentation:
- Registrera hämtningstiden med hjälp av inläsningsannoteringar. Du kan ta hjälp av följande dokumentation:
- Kör valideringsverktyget och kontrollera i övervakningsappen att förväntad data returneras.
- Kör spelet i felsökningsläge och validera utdata med logcat eller Tuning Fork Monitor-appen.
- Kontrollera att du och andra berörda spelutvecklare har tillgång till Android-diagnos på Play Console.
- Innan du publicerar spelet externt publicerar du det i en intern testkanal och kontrollerar att data samlas in och visas korrekt på sidan Hämtningstid (Kvalitet > Android-diagnos > Resultat > Hämtningstid).
Hämtningstid: grundläggande begrepp
Det är viktigt att du definierar och sätter dig in i vissa allmänna begrepp som har med hämtningstid att göra så att du kan använda sidan Hämtningstid (Kvalitet > Android-diagnos > Resultat > Hämtningstid) på ett effektivt sätt.
Att definiera hämtningstid
Hämtningstid kan betyda olika saker för olika utvecklare, och olika utvecklare och företag har olika måttstock för vad som är bra hämtningstid. Det är viktigt att tänka igenom och definiera vad hämtningstid betyder i ditt spel.
Hämtningstiden kan vara den tid då användaren ser en tom skärm efter att ha tryckt på en appikon eller tiden det tar innan en interaktiv meny visas. Det kan vara tiden från att appen startar till att spelet börjar, eller något helt annat.
Vi är medvetna om att alla utvecklare och företag har sin egen måttstock för vad som är en bra hämtningstid, och med Android Performance Tuner kan du definiera vad du menar med hämtningstid på ett flexibelt sätt. För den som inte redan har sin definition av hämtningstid klar rekommenderar vi att du börjar med tiden från att en process skapas till att användaren kan interagera (till exempel när en meny visas), eller tiden från att en process skapas till att spelet börjar.
Typer av hämtningstid
Det finns många olika typer av inläsning beroende på situationen (från den första inläsningen till inläsning mellan nivåer). Allmänt sett använder vi samma definitioner som i Android-diagnos. Det finns även andra definitioner som är inriktade på spelutveckling:
- Inläsning vid kallstart: Med kallstart menas att appen startar från noll, utan att någon process för den redan körs. Ett exempel på det är när en användare startar appen första gången efter att ha startat om enheten. Kallstarten utgör den största utmaningen vad gäller att minimera starttiden, eftersom systemet och appen då har mer att göra än i andra fall när spelet startas.
- Första inläsningen: Första inläsningen är ett specialfall av kallstart när appen startas för första gången någonsin på en enhet. Då kan ytterligare saker behöva göras, som att ladda ned filer från ett NFI (nätverk för innehållsleverans), kompilera shaders eller extrahera filer från APK. Första inläsningen kan ta betydligt längre tid än en kallstart som görs senare.
- Inläsning vid varmstart och hetstart: Varmstart och hetstart är när appen redan har en process igång och ska flyttas till förgrunden, men data eller ett tillstånd måste läsas in på nytt eller återskapas till mer eller mindre stor del.
- Inläsning mellan nivåer: Inläsning mellan nivåer är när ett spel går från en nivå, en karta eller en scen till en annan och mer innehåll kan behöva läsas in.
Avhopp och datatömning
Till skillnad från bildfrekvens, där det går att få en god bild av vad som är en ”bra” bildfrekvens utifrån användarundersökningar och telefonens prestanda, går det inte att lika entydigt säga vad som är en bra hämtningstid. Det går inte att säga att en viss hämtningstid alltid är bra eller alltid dålig. Därför tar vi med data om sessionsavhopp, så att hämtningstiden ska gå att sätta i ett sammanhang och du enklare ska kunna avgöra vad du bör fokusera på.
En låg avhoppsfrekvens betyder inte nödvändigtvis att användarna är nöjda. En användare kan tycka att inläsningen går för långsamt utan att för den skull stänga av spelet. Hög avbrottsfrekvens under inläsningen är däremot ett negativt tecken som tyder på att hämtningstiden är för lång. Om användarna stänger av spelet minskar speltiden och intäkterna.
Eftersom så många mätvärden är kopplade till avhopp, bakgrundskörning och förgrundskörning rekommenderar vi att du gör integreringen så att annotering och datatömning sker när appen övergår från ett tillstånd till ett annat. På så sätt registrerar du övergivna sessioner i stället för att bara lägga fokus på sessioner som slutligen fullföljs.
Vanliga användningsfall för data om hämtningstid
Data om hämtningstid i Android Performance Tuner kan användas på många olika sätt beroende på företagets behov. Det här är några vanliga användningsfall:
- fastställa den längsta godtagbara hämtningstiden
- jämföra den nuvarande hämtningstiden med målvärdet
- identifiera flaskhalsar med oväntat lång hämtningstid.
Du hittar anvisningar för de olika användningsfallen i de utökningsbara avsnitten nedan.
Fastställa en godtagbar hämtningstidFörutsättningar
Innan du kan följa anvisningarna nedan måste du göra följande:
- Integrera Android Performance Tuner i spelet (läs mer på webbplatsen för Android-utvecklare)
- Läsa igenom avsnittet Hämtningstid: grundläggande begrepp ovan.
- Integrera Hämtningstid i spelet och lägga särskild vikt vid registreringshändelserna för start och stopp (läs mer på webbplatsen för Android-utvecklare)
- Publicera appen (vi rekommenderar att du publicerar den i en intern testkanal först) och börja samla in data (ingen data visas på sidan Hämtningstid förrän ett lägsta gränsvärde har uppnåtts)
När tillräckligt med data om spelet har samlats in kan du avgöra hur lång den längsta godtagbara hämtningstiden är så här:
- Öppna sidan Hämtningstid på Play Console (Kvalitet > Android-diagnos > Resultat > Hämtningstid).
- Välj AAB-arkiv eller APK-fil och tidsram med hjälp av filtren.
- Titta på diagrammet Inläsningshändelsers resultat efter inläsningstyp för samtliga inläsningstyper eller för den inläsningstyp du är intresserad av.
- Tittta efter en punkt i diagrammet där avhoppsfrekvensen blir oacceptabelt hög. Det kan vara en tydlig inflexionspunkt eller en punkt där avbrotten på grund av hämtningstid kommer i konflikt med verksamhetsmålen (till exempel vid 10 %). Denna brytpunkt är den längsta hämtningstid som ses som godtagbar av de flesta användare innan de avbryter, och du bör se till att de flesta inläsningarna går snabbare än så.
Förutsättningar
Innan du kan följa anvisningarna nedan måste du göra följande:
- Integrera Android Performance Tuner i spelet (läs mer på webbplatsen för Android-utvecklare)
- Läsa igenom avsnittet Hämtningstid: grundläggande begrepp ovan.
- Integrera Hämtningstid i spelet och lägga särskild vikt vid registreringshändelserna för start och stopp (läs mer på webbplatsen för Android-utvecklare)
- Publicera appen (vi rekommenderar att du publicerar den i en intern testkanal först) och börja samla in data (ingen data visas på sidan Hämtningstid förrän ett lägsta gränsvärde har uppnåtts)
När tillräckligt med data om spelet har samlats in kan du jämföra hämtningstiden med dina mål så här:
- Öppna sidan Hämtningstid på Play Console (Kvalitet > Android-diagnos > Resultat > Hämtningstid).
- Välj AAB-arkiv eller APK-fil och tidsram med hjälp av filtren.
- Om du inte redan har gjort det ställer du in målhämtningstiden på det värde du har fastställt som godtagbar hämtningstid.
- I sammanfattningen högst upp på sidan får du en bild av det övergripande resultatet och vad du bör fokusera på.
-
Titta på diagrammet för varje inläsningstyp och ta ställning till om tillräckligt stor andel av inläsningshändelserna slutförs i tid. Observera att den blå linjen bara går upp till 95 % (eftersom det kan finnas en svans med mycket långa sessioner). Om du märker att mindre än 90 % av inläsningshändelserna slutförs i tid bör du se vad du kan göra för att förbättra hämtningstiderna (mer om detta nedan).
Förutsättningar
Innan du kan följa anvisningarna nedan måste du göra följande:
- Integrera Android Performance Tuner i spelet (läs mer på webbplatsen för Android-utvecklare)
- Läsa igenom avsnittet Hämtningstid: grundläggande begrepp ovan.
- Integrera Hämtningstid i spelet och lägga särskild vikt vid registreringshändelserna för start och stopp (läs mer på webbplatsen för Android-utvecklare)
- Publicera appen (vi rekommenderar att du publicerar den i en intern testkanal först) och börja samla in data (ingen data visas på sidan Hämtningstid förrän ett lägsta gränsvärde har uppnåtts)
- Bestämma vilken typ av inläsning du vill fokusera på och sätta upp en hypotes för vad som kan leda till lång hämtningstid. Det kan till exempel bero på
- låg prestanda på vissa populära enheter
- att vissa nivåer eller kartor tar längre tid att läsa in än andra
- stora NFI-nedladdningar
När tillräckligt med data har samlats in identifierar du flaskhalsarna där inläsningen tar särskilt lång tid så här:
- Öppna sidan Hämtningstid på Play Console (Kvalitet > Android-diagnos > Resultat > Hämtningstid).
- Välj AAB-arkiv eller APK-fil och tidsram med hjälp av filtren.
- Välj inläsningstyp.
- Titta i uppdelningen efter Enhetsmodell om det finns problem som gäller en viss enhet. I så fall undersöker du med hjälp av en profilerare om det går att göra inläsningen effektivare.
- Titta i uppdelningen efter annotering om det finns problem som berör något av de annoterade områdena. I så fall kan lösningen vara specifik för spelet och du kan behöva ändra något i en viss nivå eller på en viss karta eller i spelets gameplay.