Slik vokser du målgruppen din med Google App Invitasjoner

Hva du skal skape

Introduksjon

Et av de mest effektive markedsføringsverktøyene er definitivt ord til munn. Sosialt bevis er en veldig kraftig stimulans når det gjelder beslutningstaking. Mens folk lett ignorerer tradisjonell reklame, har få folk en tendens til å ignorere råd fra en klarert kilde, for eksempel en venn.

I 2011 gjennomførte Google og Ipsos OTX en undersøkelse som viste interessante resultater. Hvis anbefalinger suppleres med rabattkuponger som mottakerne kan løse inn, er sannsynligheten for at de vil laste ned appen eller vil begynne å bruke den igjen mye høyere. Dette er noe utviklere og apputgivere kanskje vil huske på.

Sannheten er at svært få mobilapputgivere og utviklere benytter et henvisningssystem som er basert på anbefalinger. Årsaken er nesten alltid teknisk. Å holde oversikt over rabattkoder, implementere dype koblinger i apper, og sette opp en backend er noen av hindringene utviklere må ta for å gjøre dette arbeidet. Som et resultat, de fleste ikke bry eller gi opp.

Heldigvis utviklet Google et system som overvinne disse hindringene, App inviterer. Med App Invites tilbyr Google et kraftig grensesnitt gjennom hvilket utviklere kan vokse sin mobilapps målgruppe ved å la eksisterende brukere invitere sine kontakter for å prøve appen.

App invitasjoner er inkludert i Google Play-tjenester og er også tilgjengelig på iOS. Den optimaliserer appinstallasjonsrenten ved å redusere friksjon og gi litt kontekst, for eksempel appens generelle informasjon og vurdering i app-butikken, i hvert trinn av brukerinnbydelsesstrømmen.

I denne veiledningen vil jeg vise deg hvordan du implementerer dette kraftige verktøyet i ditt eget Android-program.

1. Prosjektoppsett

Trinn 1: Opprett prosjektet 

Jeg vil bruke et veldig enkelt prosjekt for å vise deg hvordan du kan dele invitasjoner til appen din. Det første du må gjøre er å lage et nytt prosjekt. I Android Studio velger du Fil> Nytt> Nytt prosjekt. Gi navn på appen din og angi bedriftens webdomener for å la Android Studio definere pakkens navn på appen din.

Minimum SDK-versjonen som appen kan støtte, kan være så lav som Android Gingerbread (API-nivå 9). Dette betyr at du kan målrette mot nesten alle enheter som kjører Android, 99,97% ved skrivingstidspunktet. Vær imidlertid oppmerksom på at App invitere bare fungerer på enheter som inkluderer Googles Play-butikk, siden den er basert på Google Play-tjenester-plugin-modulen.

Generer et tomt Aktivitet og nev det MainActivity.java.

Trinn 2: Legg til Google Play-tjenester og støttebiblioteker

Med det nye prosjektet åpnet i Android Studio, åpner du Prosjekt fanen til venstre og utvide Gradle Scripts. Den inneholder to filer med samme navn, build.gradle. Den første filen er toppnivå build.gradle. Den andre filen er app-nivå build.gradle.

Åpne toppnivået build.gradle og legg til følgende CLASSPATH for Google Play-tjenester.

classpath 'com.google.gms: google-tjenester: 1.5.0-beta2' 

Åpne app-nivået build.gradle og legg til følgende kompilere avhengigheter til den.

kompilere 'com.android.support:support-v4:23.1.1' compile 'com.android.support:design:23.1.1' kompilere 'com.google.android.gms: spill-tjenester: 8.3.0'

For å aktivere Google Play-tjenester-plugin-modulen, legg til følgende linje nedenfor bruk plugin: 'com.android.application'.

bruk plugin: 'com.google.gms.google-tjenester'

Android Studio vil be deg om å synkronisere prosjektfilene. Før du gjør det åpner du imidlertid AndroidManifest.xml og legg til Google Play-tjenesteversjonen i applikasjon stikkord.

Lagre endringene og klikk Synkroniser nå. Vi er ikke ferdige ennå. Android Studio vil kaste en feil som forteller deg at pluginet for Google Play-tjenester krever en konfigurasjonsfil, google-services.json. La oss fikse det nå.

2. Legg til konfigurasjonsfil

Trinn 1: Besøk Google Developer Platform

Du trenger å besøke Google Developers nettsted for å aktivere Google-tjenester for appen din. Prosjektet blir deretter lagt til din personlige utviklerkonsoll, noe som betyr at du må autentiseres som en Google-bruker før du fortsetter.

Skriv inn navnet du valgte for appen din, og angi pakkenavnet sitt. Hvis du ikke husker appens pakkenavn, åpner du app-nivået build.gradle. Du finner det under defaultConfig> applicationId.

Fyll ut resten av skjemaet og klikk på knappen nederst merket Velg og konfigurere tjenester.

Trinn 2: Generer sertifikatfingeravtrykk

Den neste delen er litt vanskeligere. Google vil be deg om sertifikatfingeravtrykk. For å få sertifikatfingeravtrykk, må du åpne kommandolinjen og utføre følgende kommando.

keytool -exportcert -list -v \ -alias  -keystore 

Det er to mulige scenarier:

  • Du tester din app lokalt.
  • Du distribuerer APK på utviklerkonsollen for Google Play.

Hvis du tester din app lokalt, er nøkkelnavnet androiddebugekey og standardplasseringen er % USERPROFILE% \. Android \ debug.keystore på Windows og ~ / .Android / debug.keystore på Unix-systemer, for eksempel OS X og Linux. Dette ser ut som kommandoen ser ut til å teste lokalt.

keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore

De keytool verktøyet vil be deg om å skrive inn et passord. Standardpassordet for debug-nøkkelen er android. Dette vil gi SHA1-fingeravtrykk av feilsøkingsattestet ditt, som ser noe ut som dette.

Sertifikatfingeravtrykk: SHA1: DA: 39: A3: EE: 5E: 6B: 4B: 0D: 32: 55: BF: EF: 95: 60: 1H: 90: AF: D8: 07: 09.

Men hvis du trenger utgivelsesbevis fingeravtrykk, da må du angi sertifikatets navn, plassering og passord.

Trinn 3: Legg til konfigurasjonsfil

Etter at du har angitt sertifikatfingeravtrykk, kan du aktivere App Invites ved å klikke på Aktiver appinvitasjoner knappen nederst. Du bør nå kunne laste ned konfigurasjonsfilen ved å klikke Last ned google-services.json.

For å fullføre dette trinnet, kopier du den nedlastede filen til app / eller mobil/ katalog over prosjektet ditt.

3. Sende invitasjoner

Trinn 1: Definer layout

Når prosjektet er konfigurert, er vi klare til neste trinn. For lanseringen Aktivitet, Definer et enkelt oppsett som vist nedenfor. Den inneholder en knapp og en etikett.

   

Resultatet skal se slik ut.

I onCreate metoden Hoved aktivitet klasse, legg til en onCreateListener til knappen.

button = findViewById (R.id.invite); button.setOnClickListener (new View.OnClickListener () @Override public void onClick (Vis v) // gjør noe, vil du?);

Invitasjonen vil bli sendt som en Intent. Du kan spesifisere en melding som brukere kan tilpasse før du sender invitasjonene til vennene sine. Du kan også sette opp et anrop, et bakgrunnsbilde og en dyp lenke som appen din kan håndtere når invitasjonen er mottatt. Du kan selv definere minimum SDK-versjonen (setAndroidMinimumVersionCode) og et målprogram-ID for andre plattformer, for eksempel iOS (setOtherPlatformsTargetApplication).

Opprett Intent i kroppen av ved trykk metode.

Intent Intent = ny AppInviteInvitation.IntentBuilder (INVITATION_TITLE) .setMessage (INVITATION_MESSAGE) .setCallToActionText (INVITATION_CALL_TO_ACTION) .build (); startActivityForResult (hensikt, REQUEST_INVITE);

Legg til følgende strenger for å gjøre alt dette arbeidet.

privat statisk endelig streng INVITATION_TITLE = "Ringe dine venner", INVITATION_MESSAGE = "Hei! Vil du få 50% rabatt for denne fantastiske appen? :)", INVITATION_CALL_TO_ACTION = "Del";

Det er alt der er til det. Når Intent er startet, en egendefinert Aktivitet viser opp som lar brukeren velge hvordan de vil sende invitasjonen (e-post eller tekstmelding), meldingen til invitasjonen og mottakerne.

Hensikten er startet ved å ringe startActivityForResult. Det er mulig å hente resultatet av hensikten. Når brukeren har truffet send-knappen, blir de brakt tilbake til aktiviteten som startet hensikten. I det øyeblikket kan du gjøre hva som er nødvendig i onActivityResult, for eksempel gjemmer knappen eller sporing inviterer gjennom analytics.

@Override protected void onActivityResult (int requestCode, int resultCode, Intent data) super.onActivityResult (requestCode, resultCode, data); hvis (requestCode == REQUEST_INVITE) if (resultCode == RESULT_OK) // Du har sendt inn invitasjonen, // vi kan avvise knappen. button.setVisibility (View.GONE); String [] ids = AppInviteInvitation.getInvitationIds (resultCode, data); StringBuilder sb = ny StringBuilder (); sb.append ("Sent") .append (Integer.toString (ids.length)). append ("invitasjoner:"); for (String id: ids) sb.append ("["). append (id) .append ("]"); Log.d (getString (R.string.app_name), sb.toString ());  ellers // Sending mislyktes eller det ble kansellert ved hjelp av tilbakeknappen showMessage ("Beklager, jeg kunne ikke sende invitasjonene"); 

4. Deep Linking

Trinn 1: Send dyplenkdata

Når en bruker mottar invitasjonen og klikker på den medfølgende lenken, grener invitasjonsflyten avhengig av om appen allerede er installert på mottakerens smarttelefon. Hvis appen allerede er til stede, mottar den automatisk en Intent inneholder de valgfrie dyplink-dataene.

Men hvis mottakeren ikke har app installert installert, får de sjansen til å gjøre det. Når appen blir lansert, vil appen motta en Intent inneholder de dype linkdataene. På denne måten kan rabatten du ønsker å gi alltid være tilgjengelig for mottakeren. Dette overvinne problemene vi snakket om tidligere.

La oss utforske dypkobling mer detaljert. Sett den dype lenken til Intent vi opprettet i onCreate metode.

Intent Intent = ny AppInviteInvitation.IntentBuilder (INVITATION_TITLE) .setMessage (INVITATION_MESSAGE) .setDeepLink (Uri.parse ("tutsplus: //code.coupon/50")) .setCallToActionText (INVITATION_CALL_TO_ACTION) .build ();

Trinn 2: Intent Filtrering for egendefinerte nettadresser

Det første du må gjøre for å håndtere egendefinerte dype lenker, forteller appen din hvordan de blir laget og hvilke Aktivitet bør ta vare på dem. Legg til en ny Aktivitet til prosjektet ditt og nevne det DetailsActivity.

Åpen AndroidManifest.xml og legg til følgende utdrag til  stikkord.

     

Vi forteller systemet følgende. Hvis det påkaller handlingen UTSIKT på en URL som har skjemaet tutsplus og hvis vert er code.coupon, Appen din kan håndtere den ved hjelp av DetailsActivity klasse.

For å kunne motta og analysere den egendefinerte nettadressen må du først opprette en automatisk administrert GoogleApiClient med tilgang til app invitasjoner. Vi gjør dette i onCreate metode av Hoved aktivitet klasse.

GoogleApiClient googleApiClient = ny GoogleApiClient.Builder (dette) .addApi (AppInvite.API) .enableAutoManage (denne nye GoogleApiClient.OnConnectionFailedListener () @Overgå offentlig tomgang onConnectionFailed (ConnectionResult connectionResult) Log.d (getString (R.string.app_name ), "onConnectionFailed:" + connectionResult); showMessage ("Beklager, forbindelsen har mislyktes.");) .build ();

Trinn 3: Motta og analysere Deep Link

For å se etter invitasjoner og for å starte den dype linken Aktivitet, du kan bruke getInvitation metode, som ble introdusert i Google Play-tjenester 8.3. Legg til følgende kodestykke til onCreate metode av Hoved aktivitet klasse.

AppInvite.AppInviteApi.getInvitation (googleApiClient, dette, sant) .setResultCallback (nytt resultatCallback() @Overvrid offentlig ugyldig onResult (AppInviteInvitationResult resultat) );

Setter den siste parameteren til metoden til ekte forteller pluginet for å automatisk ringe aktiviteten som er ansvarlig for håndtering av den dype lenken, DetailsActivity klasse i vårt eksempel. Dette er grunnen til at kroppen til onResult Metoden er tom.

Åpen activity_details.xml og legg til to TextView objekter som vist nedenfor.

     

Deretter åpne DetailsActivity og tilsidesatte onStart metode. For å sjekke om Intent inneholder dype lenke data, du må stole på hasReferral metode. Nettleseparsing er veldig grei som du kan se nedenfor.

@Override protected void onStart () super.onStart (); Intent Intent = getIntent (); hvis (AppInviteReferral.hasReferral (intent)) // Trekk ut informasjonen fra Intent String deepLink = AppInviteReferral.getDeepLink (hensikt); Log.d (getString (R.string.app_name), "Found Referral:" + AppInviteReferral.getInvitationId (intensjon) + ":" + deepLink); String [] array = deepLink.split ("/"); hvis (array.length> 0) TextView tv = (TextView) findViewById (R.id.discount); tv.setText (String.format (tv.getText (). toString (), array [array.length-1])); 


Konklusjon

I denne artikkelen lærte du hvordan du implementerer Googles appinvitasjoner i appen din, ved hjelp av pluginet for Google Play-tjenester. Med dette verktøyet kan du øke publikum til appen din ved å tillate brukere å sende invitasjoner til deres Google-kontakter. Du bør nå kunne utvikle et henvisningssystem ved å bruke App Invites, slik at brukerne dine kan anbefale appen til vennene sine ved hjelp av personlige, kontekstuelle invitasjoner.