Meerdere instant-app-functies toevoegen aan uw app

In deze driedelige serie hebben we Android-instant-apps verkend, een nieuwe functie die een geheel nieuwe manier biedt om gebruikers te bereiken die uw app momenteel niet op hun apparaat hebben geïnstalleerd. Het werkt door uw app vindbaar en toegankelijk te maken vanaf elke locatie die URL's ondersteunt, inclusief e-mails, zoekresultaten van Google, berichten op social media-platforms, YouTube-opmerkingen en forums..

In het eerste bericht hebben we gekeken naar wat instant-apps zijn, hoe ze werken en de belangrijkste voordelen die ze beide Android-ontwikkelaars te bieden hebben en Android app-gebruikers. We hebben zelfs praktische ervaring opgedaan met instant-apps door de projectcreatie-wizard van Android Studio te gebruiken om snel en eenvoudig een project te genereren dat vooraf was geconfigureerd om Android-instant-apps te ondersteunen.

In het tweede bericht heb ik de downloadbare MyLocation-voorbeeldapp gebruikt om te laten zien hoe je een bestaand Android-project zou updaten om de instant-apps-functie te ondersteunen. Als je vanaf het begin mee hebt gevolgd, heb je op dit punt het MyLocation-project met succes opnieuw geconfigureerd om een ​​enkele functiemodule op te nemen die kan worden uitgevoerd op elk Android Virtual Device (AVD) zonder je moet de volledige MyLocation-app installeren. 

MyLocation bestaat momenteel echter alleen uit een module met een enkele basisfunctie en als het gaat om real-life Android-projecten, wilt u vaak meerdere functies aanbieden in instant-app-vorm. In dit laatste deel laat ik je zien hoe je meerdere featuremodules kunt toevoegen aan je Android-projecten door je door het proces te leiden van het toevoegen van een tweede functiemodule aan MyLocation en deze module vervolgens toe te wijzen aan een andere URL.

Om er zeker van te zijn dat u het maximale uit instant-apps haalt, rondt u deze serie af door enkele praktische tips voor instant-apps te bekijken.

 Een instant-app met meerdere functies maken

Als u de tweede aflevering hebt voltooid, moet uw versie van het MyLocation-project momenteel worden onderverdeeld in de volgende modules:  

  • MyLocation-app. De installeerbare app-module van het project, ook bekend als de APK-module. 
  • MyLocation-base. De basismeldingsmodule, die alle gemeenschappelijke code en bronnen bevat die in alle modules van het project worden gebruikt. Deze module bevat een MapsActivity die onafhankelijk van de installeerbare app kan worden uitgevoerd en wordt gestart op het apparaat van de gebruiker wanneer deze toegang probeert te krijgen tot de www.example.com/maps URL.
  • MyLocation-instantapp. De instant-app-module, die verantwoordelijk is voor het transformeren van elk van de featuremodules van uw project in een Instant App APK. 

Als dit niet is hoe uw versie van MyLocation er momenteel uitziet, kunt u deze versie downloaden van GitHub. 

Voordat we beginnen met het toevoegen van een tweede functiemodule aan MyLocation, zijn er een paar dingen waar je op moet letten. 

Ten eerste was het op het moment van schrijven alleen mogelijk om instant-apps te ontwikkelen met behulp van de preview van Android Studio 3.0 en Canary builds. Wanneer u werkt met builds voor vroege toegang, moet u voorbereid zijn op het tegenkomen van bugs, ontbrekende functionaliteit en ander over het algemeen vreemd gedrag dat (hopelijk!) Al voor de stabiele release zal worden aangepakt. Het lijkt echter te werken met meerdere instant-app-functiemodules vooral temperamentvol in de build van Canary Studio 3.0 Canary.

Om het risico op problemen te verkleinen, moet je controleren of je de nieuwste versie van Canary hebt geïnstalleerd voordat je een module met een tweede functie aan het MyLocation-project toevoegt. Echter, als uw project doet ineens beginnen met het gooien van fouten of weigeren om te compileren, dan aan het eind van dit artikel vindt u een sectie Problemen oplossen die oplossingen en mogelijke oplossingen voor alle problemen die u waarschijnlijk tegenkomt bij het toevoegen van extra functie modules aan uw project.. 

Houd er ook rekening mee dat we in deze zelfstudie een aanvullende functiemodule gaan maken, deze module toewijzen aan een unieke URL en de module vervolgens testen op een Android Virtual Device (AVD). Dit is al een hele weg te behandelen, dus om ervoor te zorgen dat deze post niet te lang wordt, gaan we een module maken die eenvoudig een gebruikersinterface weergeeft en geen echte functionaliteit bevat. Er is echter geen reden waarom u deze module niet zou kunnen uitbreiden met uw eigen code en bronnen, als u een meer authentieke instant-apps-ervaring wilde. 

Maak uw functie-module

De eerste stap om van MyLocation een instant-app met meerdere functies te maken, is door onze featuremodule te maken: 

  • Open het MyLocation-project in Android Studio. 
  • kiezen Nieuw> Nieuwe module ... van de Android Studio-werkbalk.
  • kiezen Feature Module, en klik volgende.
  • In de Module naam veld, enter MyLocation-richtingen.
  • Controleer dat de minimumSDK is dezelfde waarde die u elders in uw project hebt gebruikt en klik vervolgens op volgende.

Mogelijk implementeren we geen echte functionaliteit in onze module mylocation-directions, maar we hebben nog steeds een visuele bevestiging nodig dat deze module correct is geladen, dus selecteer de sjabloon van uw keuze (ik kies voor Basisactiviteit) en klik vervolgens op volgende. Ik ga deze kenmerkmodule toewijzen aan www.example.com/directions, dus begin met invoeren example.com in de Instant-app URL-host veld. Open de Instant-app URL-routetype dropdown en selecteer een van beide PadpathPrefix, of pathPattern. Omdat ik wil dat deze module reageert op www.example.com/directions enkel en alleen, Ik ga selecteren Pad

In de Instant-app URL-route, invoeren /routebeschrijving. Dit geeft ons onze volledige URL: example.com/directions. Verander de Activiteit naam naar DirectionsActivity. Zorg ervoor dat de Lay-outnaam ingesteld op activity_directions, en klik vervolgens op Af hebben.

Je afhankelijkheden declareren 

Zoals jij mei merkte al op dat een project dat de instant-apps-functie ondersteunt onvermijdelijk uit meerdere modules zal bestaan. Als deze modules samen gaan werken om meerdere verschillende Instant App APK's te maken, plus uw "normale" installeerbare APK, dan moeten ze op de hoogte zijn van elkaar, wat betekent dat u de nodige afhankelijkheden aan elke module moet toevoegen build.gradle het dossier.

Wanneer u een featiemodule maakt via de Nieuw> Nieuwe module ... menu, Android Studio genereert een paar van deze afhankelijkheden voor u, maar genereert ze niet allemaal. En om zaken nog ingewikkelder te maken, moet u verschillende uitdrukkingen gebruiken, afhankelijk van het type module (s) waarmee u werkt.

Om u een overzicht te geven, moet u elke keer dat u een feature-module maakt, uw project laten weten dat:

  • Deze functiemodule is afhankelijk van de basismodule van uw project, met behulp van de implementatieproject uitdrukking. 
  • De basismogelijkhedenmodule van uw project is afhankelijk van deze functiemodule, met behulp van de functie project uitdrukking.
  • De instant-appmodule van uw project is afhankelijk van deze functiemodule, met behulp van de implementatieproject uitdrukking. 

In dit gedeelte gaan we naar elk van deze afhankelijkheden, dus laten we beginnen met het doornemen van de afhankelijkheden die Android Studio nuttig automatisch voor u genereert.  

implementatieproject (': mylocation-base')

De basismeldingsmodule van uw project bevat alle gemeenschappelijke code en bronnen die in uw project worden gebruikt, dus eventuele extra functiemodules die u maakt, zullen dat ook zijn allemaal afhankelijk van deze module met enkelvoudige basisfunctie. 

Als u uw feature-modules opent (MyLocation-richtingen) build.gradle bestand, dan ziet u dat Android Studio de basismeldingsmodule (MyLocation-base) als een afhankelijkheid:

afhankelijkheden ... implementatieproject (': mylocation-base')

Het maakt niet uit hoeveel aanvullende featuremodules u maakt, allemaal build.gradle bestanden bevatten dezelfde verklaring: implementatieproject (': mylocation-base').

functieproject (": mylocatierichtingen")

Uw basismodule moet ook rekening houden met al uw aanvullende kenmerkmodules.

Als u uw MyLocation-base module build.gradle bestand, dan zult u zien dat Android Studio opnieuw het werk voor u heeft gedaan en heeft verklaard MyLocation-richtingen als een afhankelijkheid:

dependencies ... feature project (": mylocation-directions")

Eventueel toegevoegde extra modules worden automatisch aan deze sectie toegevoegd, bijvoorbeeld:

dependencies ... feature project (": mylocation-directions") feature project (": mylocation-share") feature project (": mylocation-search")

Wat Android Studio niet toevoegt ... .

Er zijn een paar afhankelijkheden die Android Studio momenteel niet automatisch genereert, dus u moet ze handmatig toevoegen.

implementatieproject (': mylocation-directions')

Instant-apps zijn zelfstandige componenten die onafhankelijk van de installeerbare app kunnen functioneren. In de context van onze MyLocation-app, betekent dit dat MyLocation-richtingen kan zonder functioneren MyLocation-app. Het tegenovergestelde is echter niet waar: MyLocation-app kan niet functioneren zonder MyLocation-richtingen

De installeerbare APK moet bevatten allemaal van de modules van uw project, inclusief al uw modules voor instant-app-functies. Daarom moeten we de APK-module (MyLocation-app) een heads-up over onze nieuwe feature-module (MyLocation-richtingen). 

Open de MyLocation-app build.gradle bestand en wijs het naar de MyLocation-richtingen module:

afhankelijkheden implementatieproject (': mylocation-base') // Voeg de volgende regel toe // implementatieproject (': mylocation-directions')

U moet deze stap herhalen voor elke functiemodule die u maakt, dus als u functiemodules blijft toevoegen, dan is de MyLocation-app build.gradle bestand kan er als volgt uitzien:

afhankelijkheden implementatieproject (': mylocation-base') implementatieproject (': mylocation-directions') implementatieproject (": mylocation-share") implementatieproject (": mylocation-search")

De instant-app-module is verantwoordelijk voor het transformeren van elk van de featuremodules van uw project naar een APK voor instant-apps, dus deze moet hiervan op de hoogte zijn elk functie-module die u maakt. 

Open je MyLocation-instantapp module build.gradle bestand en verklaren MyLocation-base als een afhankelijkheid met behulp van de implementatieproject uitdrukking:

afhankelijkheden implementatieproject (': mylocation-base') implementatieproject (': mylocation-directions')

En een extra afhankelijkheid

Hoewel we het hebben over projectafhankelijkheden, is er één belangrijke afhankelijkheid die we nog moeten toevoegen. 

Een project dat instant-apps ondersteunt, hoeft dit alleen te declareren Applicatie ID attribuut eenmaal, in de APK (app) -module. Echter, om zeker te zijn van deze single Applicatie ID kenmerk wordt correct verspreid over al uw kenmerkmodules, u moet de APK-module toevoegen als een afhankelijkheid van de basismeldingsmodule. 

Open je MyLocation-base module build.gradle bestand en voeg toe MyLocation-app als een afhankelijkheid, met behulp van de applicatie project uitdrukking:

afhankelijkheden ... // Voeg de volgende regel toe // toepassingsproject (": mijnlocatie-app")

In tegenstelling tot alle andere afhankelijkheden die we hebben besproken, hoeft u slechts eenmaal per project een afhankelijkheid van de APK-module aan te geven, en niet telkens wanneer u een featiemodule maakt. 

Verwijder ongewenste bestanden en bronnen

Hoewel deze stap niet verplicht is, bevat onze featuremodule momenteel enkele onnodige bestanden en mappen, dus laten we de beste werkwijzen volgen en onze stroomlijnen MyLocation-richtingen module:

  • Schakel over naar Android Studio's project uitzicht.
  • Open de MyLocation-richtingen module. 
  • Verwijder de src / androidTest directory.
  • Verwijder de src / test directory. 

Voltooi het toewijzen van uw URL

Toen we deze kenmerkmodule maakten, hebben we wat informatie ingevoerd over de URL waaraan we deze module uiteindelijk willen toewijzen. De wizard voor het maken van modules van Android Studio kan echter geen volledige URL-toewijzing maken, dus u moet de. Openen App Links Assistant en voltooi dit proces handmatig:

  • kiezen Hulpmiddelen> Assistent app-links van de Android Studio-werkbalk.
  • Klik op de Open URL Mapping Editor knop. 
  • Selecteer de. In de tabel die verschijnt DirectionsActivity rij en klik vervolgens op het pictogram met het potloodje. 
  • Selecteer de http Radio knop.
  • Zorg ervoor dat Pad is geselecteerd in het vervolgkeuzemenu en voer vervolgens in /routebeschrijving in het bijbehorende tekstveld. 
  • Zorg ervoor dat DirectionsActivity is geselecteerd in de Activiteit vervolgkeuzelijst en klik vervolgens op OK
  • Terug in de App Links Assistant paneel, klik op de Selecteer Activiteit knop.
  • Selecteer als u hierom wordt gevraagd DirectionsActivity en klik vervolgens op Voeg code in.

U hebt nu twee functiemodules die zijn toegewezen aan verschillende URL's. 

Test je MyLocation-richtingen module

Momenteel is onze run-configuratie zo ingesteld dat de gebruiker tikt op de koppeling www.example.com/maps, die wordt gestart MapsActivity, en bij uitbreiding onze MyLocation-base module. Als we echter onze aanvullende functiemodule willen testen, moeten we de gebruiker simuleren door te tikken op www.example.com/directions, waarmee we onze DirectionsActivity. Dit vereist dat we onze runtime-configuratie bijwerken: 

  • Start de AVD die u hebt gebruikt om uw mylocation-project te testen en zorg ervoor dat u bent ingelogd op een Google-account. Als u niet bent aangemeld bij een account, opent u het opstartprogramma van de AVD, selecteert u de Google app en voer vervolgens uw Gmail-adres en wachtwoord in.
  • Controleer nogmaals of de app MyLocation niet op dit apparaat is geïnstalleerd. Als dit het geval is, maak je de installatie ongedaan door het naar het apparaat te slepen Uninstall icoon.
  • Schakel terug naar het hoofdvenster van Android Studio en selecteer Uitvoeren> Configuraties bewerken ...
  • Selecteer in het menu aan de linkerkant MyLocation-instantapp.
  • In de URL veld, voert u de URL in die u wilt testen, wat in dit geval http://www.example.com/directions is.
  • Klik Van toepassing zijn, gevolgd door OK.
  • Klik op de werkbalk van Android Studio op Rennen…
  • kiezen MyLocation-instantapp.
  • Kies uw doelapparaat en klik vervolgens op OK.

Jouw DirectionsActivity zou nu op uw AVD moeten verschijnen. Gefeliciteerd, je hebt zojuist een instant-app met meerdere voorzieningen gebouwd! 

Probleemoplossen

Worstelen met bugs en ander vreemd gedrag is allemaal onderdeel van het plezier van het werken met early access builds van Android Studio. 

Als je Android Studio wordt gebouwd doet ga je gang en kun je niets fout zien met je project, dan is het mogelijk dat de fout bij Android Studio zelf ligt. 

In deze sectie deel ik enkele oplossingen voor alle meest voorkomende Android Studio-fouten en -irrites die je kunt tegenkomen bij het maken van een instant-app met meerdere functies.. 

En voor het geval u een probleem tegenkomt dat hier niet wordt vermeld, deel ik ook een lijst met algemene oplossingen die u kunnen helpen om de problemen die u momenteel met Android Studio ondervindt, glad te strijken.. 

Instant App Deployment mislukt op API-niveaus 24 en 25

De eerste keer dat u probeert uw instant-app te testen op een AVD waarop Nougat wordt uitgevoerd, is het mogelijk dat de app niet kan worden geïmplementeerd. Als dit gebeurt, dan: 

  • kiezen Uitvoeren> Run mylocation-instantapp van de Android Studio-werkbalk.
  • Voordat Android Studio een kans heeft om uw app te implementeren, selecteert u Uitvoeren> Stoppen.
  • kiezen Uitvoeren> Run mylocation-instantapp nogmaals, maar laat deze keer de operatie voltooien. Uw instant-app moet nu probleemloos worden geïmplementeerd.  

Betrouwbaarheidsprobleem met Instant App Provisioning Cache

Als je de Betrouwbaarheidsprobleem met instant app-provisioningcache foutmelding bij het uitproberen van uw app, dan betekent dit dat u uw cache moet wissen: 

  • kiezen Uitvoeren> Configuraties bewerken ... van de Android Studio-werkbalk.
  • kiezen MyLocation-instantapp uit het linker menu.
  • kiezen Instant app-voorziening (naar de onderkant van dit venster).
  • Klik op het potloodpictogram.
  • kiezen Ingehaalde cache voor apparaten.
  • Klik OK, gevolgd door Van toepassing zijn en OK nog een keer. 

AAPT2-problemen

Als Android Studio klaagt over aan AAPT2 gerelateerde problemen (zoals het weergeven van een AAPT2-koppeling mislukt foutbericht) kunt u deze problemen meestal oplossen door AAPT uit te schakelen.

Om AAPT uit te schakelen, open je de Gradle van je project scripts / gradle.properties bestand en voeg de volgende tekst toe: 

android.enableAapt2 = false 

Fout: (85) kenmerk 'android: splitName' niet gevonden

Dit is gemakkelijk het meest frustrerende en het vreemdste probleem dat je kunt tegenkomen bij het ontwikkelen van instant-apps. 

In sommige builds van Android Studio 3.0, met behulp van de - tekens in uw modulenamen kunnen plotseling een probleem worden zodra u meer functiemodules aan uw project toevoegt. Deze fout is bijzonder vreemd, omdat de - karaktereigenschappen in veel van de instant-app-voorbeelden van Google, waaronder de instant-app-codelabs. 

Als Android Studio wel begint te klagen over de android: splitName kenmerk en controleer vervolgens of u de nieuwste versie van Android Studio 3.0 gebruikt. U kunt dit probleem mogelijk ook oplossen door uw project op te schonen en vervolgens opnieuw op te bouwen.

Als het probleem zich blijft voordoen, moet u mogelijk als laatste redmiddel enige tijd besteden aan het doorlopen van elk van uw modules en het verwijderen van de - karakter.  

En als al het andere faalt:

  • Reinig en herbouw uw project. kiezen Bouw> Clean Project van de Android Studio-werkbalk, gevolgd door Schoon> Project opnieuw opbouwen.
  • Probeer een andere AVD. Als er een fout optreedt wanneer u uw instant-app probeert te distribueren naar een AVD, moet u testen of dit probleem aanhoudt wanneer u een AVD gebruikt die andere specificaties heeft. Bij het verlaten van een AVD zonder op zijn minst te verifiëren waarom je project weigert te draaien op dit apparaat is niet iets dat je wilt meenemen naar je productie-apps, je kunt over het algemeen wegkomen met een beetje buigen van de regels wanneer je aan het experimenteren bent met een nieuwe functie op een vroege toegangversie van Android Studio. In het bijzonder kunt u meer succes hebben bij het testen van uw instant-app op een AVD met Android O, in vergelijking met AVD's waarop een eerdere versie van Android wordt uitgevoerd. 
  • Controleer of je een update niet hebt gemist. Op het moment van schrijven wordt door het Android Studio-team wekelijks een nieuwe versie van Canary uitgebracht. Het is dus altijd de moeite waard om te controleren of je de nieuwste versie van Android Studio hebt geïnstalleerd. In theorie moet elke nieuwe release alle problemen verhelpen die in de vorige build zijn ontdekt, dus als je de nieuwste versie niet gebruikt, is het mogelijk dat het probleem dat je ervaart al is opgelost in een recentere versie. 

Uw instant-app distribueren

Zodra u klaar bent met het testen van uw instant-app-project, zijn de volgende stappen het uitvoeren van een aantal alfa- en bètatests en vervolgens bent u klaar om uw app publiek te ontketenen! 

Je kunt al deze taken uitvoeren via de Google Play Console en als je ooit een "gewone" installeerbare app hebt uitgebracht, moet dit proces heel vertrouwd aanvoelen: 

  • Navigeer naar de Play Console.
  • Upload uw applicatie, als u dat nog niet heeft gedaan.
  • Open het zijmenu van de Play Console en selecteer Alle toepassingen.
  • Selecteer de toepassing die u wilt testen of publiceren. 
  • kiezen Android Instant-apps uit het linker menu. 


U kunt vervolgens kiezen uit de volgende tracktypen, afhankelijk van of u uw app wilt testen of publiceren: 

  • Instant-app pre-release. Deze sectie bevat alle instellingen die u nodig hebt om pre-release-kandidaten naar uw testers te sturen. Houd er rekening mee dat u voor het gebruik van deze instellingen ten minste één lijst met testers moet hebben gemaakt; als u deze stap nog niet hebt voltooid, kunt u een lijst maken door te selecteren Instellingen> Testers beheren> Lijst maken in het zijmenu van de Play Console. 
  • Onmiddellijke app-ontwikkeling. In dit gedeelte kunt u uw toepassing op uw testers implementeren. Nogmaals, u moet ten minste één lijst met testers hebben gemaakt om de instellingen in deze sectie te kunnen gebruiken.  
  • Instant app-productie. Zodra u tevreden bent met uw app, bevat deze sectie alles wat u nodig hebt om uw toepassing voor te bereiden, te beoordelen en te publiceren in de Google Play Store. 

Probleemoplossen

Wanneer u een project probeert te publiceren met directe app-ondersteuning, is het mogelijk dat u de volgende foutmelding krijgt: 

Jouw site 'www.example.com"Is niet via het Digital Assets Link-protocol gekoppeld aan uw app.

Als dit gebeurt, controleer dan of:

  • Uw Digital Asset Links-bestand (assetlinks.json) is publiekelijk beschikbaar en wordt niet beschermd door enige vorm van authenticatie, intern IP of firewall. 
  • Alle URL's die zijn toegewezen aan uw featuremodules zijn extern toegankelijk. Als uw app URL's gebruikt die alleen intern beschikbaar zijn, kunt u uw app niet uploaden naar de Google Play Console. 
  • Het domein dat u gebruikt, is nog niet aan een andere toepassing gekoppeld, omdat momenteel meerdere instant-apps niet hetzelfde domein kunnen gebruiken. 
  • Uw server heeft een geldig SSL-certificaat van een openbare of vertrouwde certificeringsinstantie. 

Beste praktijken

Instant-apps zijn een geheel nieuwe manier om Android-apps te gebruiken, dus het is geen verrassing dat ze hun eigen best practices hebben.

In deze sectie gaan we ervoor zorgen dat u het maximale uit deze nieuwe functie haalt, door enkele praktische tips voor instant-apps te bekijken. 

Bied zoveel mogelijk functionaliteit voordat u de gebruiker vraagt ​​om in te loggen

Het is niet zo ongewoon dat installeerbare apps de gebruiker vragen om een ​​account te maken op het allereerste scherm. Als de gebruiker zich al heeft toegewijd om een ​​app te installeren, zijn ze waarschijnlijk niet bang voor die app die vraagt ​​om hun e-mailadres!

Instant-apps zijn echter een helemaal ander verhaal, omdat een gebruiker een Instant-app-module kan lanceren zonder het te weten iets over de gerelateerde applicatie. Stel je voor dat een vriend je een link heeft gestuurd met geen uitleg, en als je op die koppeling tikt, wordt er een instant-app gestart. U hebt geen idee wat deze app te bieden heeft of heeft gemaakt, maar vraagt ​​meteen om uw e-mailadres - hoe waarschijnlijk bent u om deze informatie over te dragen?

Als uw instant-app een inlogervaring bevat, moet u proberen dit inlogdialoogvenster zo lang mogelijk te vertragen. Als u de gebruiker meer tijd geeft om de inhoud en functionaliteit van uw app te ervaren, neemt de kans toe dat deze een account maken wanneer daarom wordt gevraagd. 

Zelfs als uw installeerbare app draait rond de gebruiker die een account aanmaakt, moet je toch proberen om je instant-appmodules te ontwerpen, zodat gebruikers de taak kunnen voltooien die hen heeft gevraagd om deze module te starten, voordat je hen vraagt ​​een account aan te maken.

Overweeg je toegangspunten

De meeste installeerbare apps hebben maar een paar toegangspunten: deze zijn meestal beperkt tot de eerste activiteit die de gebruiker te zien krijgt wanneer ze uw app starten en alle activiteiten die kunnen worden gestart met impliciete of expliciete intenties. 

Instant-apps hebben ver meer toegangspunten, omdat elke kenmerkmodule ten minste één ingangspunt moet hebben en mogelijk meerdere toegangspunten kan hebben.

Wanneer u directe app-ondersteuning toevoegt aan uw app, is een van de belangrijkste beslissingen die u moet nemen, welke activiteit (of activiteiten) het beste toegangspunt voor elke module zou zijn. U moet uw toegangspunten zorgvuldig selecteren, aangezien elk toegangspunt bij voorkeur:

  1. Sta de gebruiker toe om de taak te voltooien die hen ertoe aanzet om deze module in de eerste plaats te starten.
  2. Maak de best mogelijke eerste indruk bij gebruikers die uw app voor het eerst ervaren.
  3. Geef alle context die de gebruiker nodig heeft om te begrijpen wat uw app te bieden heeft, voor het geval iemand deze module start met geen achtergrondinformatie over uw app. 

Zorg voor een naadloze ervaring voor gebruikers die migreren van instant naar installeerbaar 

De gebruikersinterface, navigatie, functionaliteit en algehele look en feel van uw app moeten constant zijn voor al uw instant-appmodules en uw installeerbare APK. Als je iemand een apparaat hebt overhandigd waarvan je app al actief is, moeten ze niet kunnen vertellen of ze kijken naar het instant-exemplaar of de installeerbare vorm van je app. 

Daarnaast moet elke gebruiker van een instant-app die de sprong wagen en uw app installeert, precies kunnen oppikken waar ze gebleven waren. U kunt bijvoorbeeld de opgeslagen app-status van uw instant-app naar uw installeerbare app overbrengen met behulp van cookies of lokale opslag. 

Maak kleine, lichtgewicht modules

Aangezien instant-apps op aanvraag worden geladen, heeft de grootte van het binaire bestand van de instant-app een enorme invloed op hoe gemakkelijk gebruikers toegang hebben tot uw app.  

Het Android-team heeft een limiet van 4 MB opgelegd aan elk instant-app-onderdeel (dat is de grootte van de featiemodule plus de basismogelijkhedenmodule van uw project), maar u moet proberen uw modules zo mogelijk nog lichter te maken. 

Als u moeite heeft om een ​​bepaalde module te stroomlijnen, kijk dan kritisch naar wat u in die module hebt opgenomen, omdat het mogelijk kan zijn om een ​​enkele module in meerdere kleinere, op zichzelf staande modules te herwerken.. 

Gebruik Instant-apps nooit als een advertentie voor uw installeerbare app

Hoewel je nooit een instant-app moet ontwerpen die alleen maar verkeer naar je installeerbare app stuurt, zijn er twee soorten installatieaanwijzingen die je kunt gebruiken kan gebruik in uw instant-apps: 

  • impliciete installatieprompts
  • expliciete installatieaanwijzingen

Impliciete installatieprompts zijn UI-elementen waarmee de gebruiker communiceert in de verwachting een bepaalde functie te activeren, maar alleen om een ​​installatierprompt te zien.

Deze benadering doet denken aan het runtime-toestemmingsmodel van Android, omdat je hierdoor installatieaanwijzingen in de juiste context kunt plaatsen. Verkrijg de juiste context, en je zou het nooit moeten uitleggen waarom je geeft een specifieke installatie prompt weer. Bijvoorbeeld als de gebruiker een installatieprompt tegenkomt nadat hij op a heeft getikt Deel deze route met anderen knop, dan is het bericht duidelijk: als u toegang wilt tot deze functionaliteit, dan moet u de app installeren. 

Gewoon niet laten meeslepen, tot het punt waarop uw instant-app zich als een advertentie voor uw installeerbare app begint te voelen. Uw gebruikers raken snel gefrustreerd als uw app ze voortdurend plaagt met functionaliteit waartoe ze geen toegang hebben, dus beperk uzelf tot een maximum van drie impliciete installatieaanwijzingen per instant-appmodule. Je moet ook goed overwegen waar u plaatst deze installatieprompts om te voorkomen dat de gebruiker meerdere prompts snel na elkaar tegenkomt. 

uitdrukkelijk installatieaanwijzingen zijn gebruikersinterface-elementen die duidelijk een installatiedialoog zullen weergeven wanneer de gebruiker met hen communiceert, bijvoorbeeld een knop met "app installeren" die op de voorkant is aangebracht. 

Alle expliciete installatieprompts zouden het Material Design "get app" -pictogram moeten gebruiken, en als u een ondersteunende tekst opneemt, kies dan zorgvuldig uw woorden om de indruk te wekken dat uw instant-app op een of andere manier een incomplete of kleinere versie van uw "echte" is app - dus vermijd dingen als waardeer nu op of installeer de volledige applicatie

Overweeg de statistieken die u wilt bijhouden

Traditioneel gezien is het bekijken van het totale aantal installaties een van de meest effectieve manieren om het succes van een app te meten. Echter, wanneer u toevoegen directe app-ondersteuning voor een project, u verwijderen de noodzaak voor gebruikers om die app te installeren, wat vereist dat je heroverweegt hoe je de prestaties van deze app meet.

In plaats van het tellen van installaties, wilt u mogelijk statistieken meten die betrekking hebben op niveaus van gebruikersbetrokkenheid, zoals hoeveel tijd gebruikers investeren in uw app, het totale aantal taken dat zij uitvoeren of hoeveel gebruikers herhaalbezoeken aan uw instant-app betalen modules. 

<