Unul dintre cele mai eficiente instrumente de marketing este cu siguranță cuvânt. Dovada socială este un stimulent foarte puternic atunci când vine vorba de luarea deciziilor. În timp ce oamenii ignoră cu ușurință publicitatea tradițională, puțini oameni tind să ignore sfaturile de la o sursă de încredere, cum ar fi un prieten.
În 2011, Google și Ipsos OTX au realizat un studiu care a relevat rezultate interesante. Dacă recomandările sunt completate de cupoanele de reducere pe care destinatarii le pot valorifica, probabilitatea ca aceștia să descarce aplicația sau vor începe să o folosească din nou sunt mult mai mari. Acesta este un lucru pe care dezvoltatorii și editorii de aplicații ar dori să-l păstreze în minte.
Adevărul este că foarte puțini editori și dezvoltatori de aplicații mobile utilizează un sistem de referire care se bazează pe recomandări. Motivul este aproape întotdeauna tehnic. Urmărirea codurilor de discount, implementarea unei corelații profunde în cadrul aplicațiilor și crearea unui backend sunt unele dintre obstacolele pe care dezvoltatorii trebuie să le ia pentru a face acest lucru. Ca urmare, majoritatea oamenilor nu se obosesc sau nu renunță.
Din fericire, Google a dezvoltat un sistem care să depășească aceste obstacole, App Invites. Cu Invitații pentru aplicații, Google oferă o interfață puternică prin care dezvoltatorii își pot dezvolta audiența aplicației mobile, permițând utilizatorilor existenți să-și invite persoanele de contact pentru a încerca aplicația.
App Invites este inclusă în serviciile Google Play și este, de asemenea, disponibilă în iOS. Optimizează ratele de instalare a aplicației, reducând frecarea și oferind un anumit context, cum ar fi informațiile generale ale aplicației și evaluarea acesteia pe magazinul de aplicații, la fiecare pas al fluxului de invitație al utilizatorului.
În acest tutorial, vă voi arăta cum să implementați acest instrument puternic în propria aplicație Android.
Voi folosi un proiect foarte simplu pentru a vă arăta cum să distribuiți invitații pentru aplicația dvs. Primul lucru pe care trebuie să-l faceți este să creați un nou proiect. În Android Studio, alegeți Fișier> Nou> Proiect nou. Denumiți aplicația și setați domeniul web al companiei dvs. pentru a permite Android Studio să definească numele pachetului aplicației dvs..
Versiunea SDK minimă pe care o poate sprijini aplicația poate fi la fel de mică ca Android Gingerbread (API nivel 9). Aceasta înseamnă că puteți viza aproape fiecare dispozitiv care rulează Android, 99,97% la momentul scrisului. Cu toate acestea, rețineți că aplicațiile pentru invitații de aplicații funcționează numai pe dispozitivele care includ magazinul Google Play, deoarece acestea se bazează pe pluginul pentru servicii Google Play.
Generați un gol Activitate
și numește-o MainActivity.java.
Cu noul proiect deschis în Android Studio, deschideți Proiect din partea stângă și extindeți-o Scripturi de grad. Acesta conține două fișiere cu același nume, build.gradle. Primul fișier este la nivel de nivel superior. Al doilea fișier este aplicație-nivel de construcție.
Deschideți nivelul de sus build.gradle și adăugați următoarele CLASSPATH
pentru serviciile Google Play.
classpath 'com.google.gms: google-services: 1.5.0-beta2'
Deschideți nivelul aplicației build.gradle și adăugați următoarele dependențe de compilare.
compile 'com.android.support:support-v4:23.1.1' compile 'com.android.support:design:23.1.1' compile 'com.google.android.gms: play-services: 8.3.0'
Pentru a activa pluginul pentru servicii Google Play, adăugați următoarea linie aplicați plugin-ul: 'com.android.application'
.
aplicați plugin-ul: 'com.google.gms.google-services'
Android Studio vă va cere să sincronizați fișierele proiectului. Înainte de a face, totuși, deschis AndroidManifest.xml și adăugați versiunea serviciilor Google Play în cadrul cerere
etichetă.
Salvați modificările și dați clic pe Sincronizați acum. Încă nu am terminat. Android Studio va arunca o eroare care vă spune că pluginul pentru servicii Google Play necesită un fișier de configurare, google-services.json. Să rezolvăm asta acum.
Trebuie să vizitați site-ul web Google Developers pentru a activa serviciile Google pentru aplicația dvs. Proiectul este apoi adăugat la consola personală a dezvoltatorului dvs., ceea ce înseamnă că trebuie să fiți autentificat ca utilizator Google înainte de a continua.
Introduceți numele pe care l-ați ales pentru aplicația dvs. și specificați numele pachetului. Dacă nu vă amintiți numele pachetului aplicației, deschideți nivelul aplicației build.gradle. O puteți găsi sub defaultConfig> applicationId.
Completați restul formularului și faceți clic pe butonul din partea de jos etichetat Alegeți și configurați servicii.
Următoarea parte este puțin mai complicată. Google vă va solicita amprenta certificatului. Pentru a obține amprenta certificatului, trebuie să deschideți linia de comandă și să executați următoarea comandă.
keytool -exportcert -list -v \ -alias-keystore
Există două scenarii posibile:
Dacă testați aplicația la nivel local, numele cheii este androiddebugekey
și locația implicită este % USERPROFILE% \. Android \ debug.keystore
pe Windows și Windows ~ / .Android / debug.keystore
pe sistemele Unix, cum ar fi OS X și Linux. Aceasta este ceea ce arată comanda pentru testarea la nivel local.
keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ / .android / debug.keystore
keytool vă va cere să introduceți o parolă. Parola implicită pentru depozitul de chei pentru depanare este Android. Acest lucru va da amprenta SHA1 a certificatului dvs. de depanare, care arată cam așa.
Certificat de amprentă: SHA1: DA: 39: A3: EE: 5E: 6B: 4B: 0D: 32: 55: BF: EF: 95: 60: 1H: 90: AF: D8: 07: 09.
Cu toate acestea, dacă aveți nevoie de certificat de eliberare amprentă digitală, atunci trebuie să specificați numele, locația și parola certificatului.
După ce ați introdus amprenta certificatului, puteți activa invitațiile la aplicații făcând clic pe Activați invitațiile la aplicații butonul din partea de jos. Acum ar trebui să puteți descărca fișierul de configurare făcând clic pe Descărcați google-services.json.
Pentru a finaliza acest pas, copiați fișierul descărcat în app / sau mobil/ director al proiectului dvs..
Cu proiectul configurat, suntem pregătiți pentru următorul pas. Pentru lansator Activitate
, definiți un aspect simplu, cum este cel prezentat mai jos. Acesta conține un buton și o etichetă.
Rezultatul ar trebui să arate așa.
În onCreate
metoda Activitate principala
clasă, adăugați un onCreateListener
la buton.
butonul = findViewById (R.id.invite); button.setOnClickListener (noul View.OnClickListener () @Override public void onClick (V) // face ceva, vrei?);
Invitația va fi trimisă ca un mesaj scop
. Puteți specifica un mesaj pe care utilizatorii îl pot particulariza înainte de a trimite invitații prietenilor lor. De asemenea, puteți seta o chemare la acțiune, o imagine de fundal și o legătură profundă pe care aplicația dvs. o poate gestiona odată ce invitația este primită. Puteți defini chiar și versiunea SDK minimă (setAndroidMinimumVersionCode
) și un ID de destinație pentru alte platforme, cum ar fi iOS (setOtherPlatformsTargetApplication
).
Creați scop
în corpul lui onClick
metodă.
Intenție intenție = nou AppInviteInvitation.IntentBuilder (INVITATION_TITLE) .setMessage (INVITATION_MESSAGE) .setCallToActionText (INVITATION_CALL_TO_ACTION) .build (); startActivityForResult (intenție, REQUEST_INVITE);
Adăugați următoarele șiruri de caractere pentru a face toate acestea să funcționeze.
static final static INVITATION_TITLE = "Apelați-vă prietenii", INVITATION_MESSAGE = "Hei! Doriți să obțineți o reducere de 50% pentru această aplicație minunată?", INVITATION_CALL_TO_ACTION = "Partajare";
Cam despre asta e. Cand scop
este pornit, un obicei Activitate
se afișează care permite utilizatorului să aleagă modul în care doresc să trimită invitația (e-mail sau mesaj text), mesajul invitației și destinatarii.
Intenția începe prin apelarea startActivityForResult
. Este posibil să se aducă rezultatul intenției. Odată ce utilizatorul a lovit butonul de trimitere, acesta este readus la activitatea care a inițiat intenția. În acel moment, puteți face tot ce este necesar onActivityResult
, cum ar fi ascunderea butonului sau invitațiile de urmărire prin analiză.
@Override protejat void onActivityResult (int requestCode, int resultCode, date intenție) super.onActivityResult (requestCode, resultCode, data); if (requestCode == REQUEST_INVITE) if (resultCode == RESULT_OK) // Ați trimis cu succes invitația, // putem respinge butonul. button.setVisibility (View.GONE); String [] ids = AppInviteInvitation.getInvitationIds (rezultatCode, date); StringBuilder sb = nou StringBuilder (); sb.append ("Trimise") .append (Integer.toString (ids.length)) adăugați ("invitații:"); pentru (id șir: ids) sb.append ("["). append (id) .append ("]"; Log.d (getString (R.string.app_name), sb.toString ()); altceva // Trimiterea a eșuat sau a fost anulată folosind butonul din spate showMessage ("Ne pare rău, nu am putut trimite invitațiile");
Când un utilizator primește invitația și dă clic pe linkul inclus, fluxul de invitații se clasifică în funcție de dacă aplicația este deja instalată pe telefonul smartphone al destinatarului. Dacă aplicația este deja prezentă, va primi automat un mesaj scop
conținând datele opționale pentru legături profunde.
Cu toate acestea, în cazul în care destinatarul nu are aplicația instalată instalată, li se oferă posibilitatea să facă acest lucru. Când aplicația este lansată pentru prima dată, aplicația va primi un mesaj scop
conținând datele legăturii profunde. În acest fel, reducerea pe care ați dori să o furnizați va fi întotdeauna disponibilă destinatarului. Acest lucru depășește problemele despre care am vorbit mai devreme.
Să explorăm legătura profundă cu mai multe detalii. Setați linia profundă a scop
am creat în onCreate
metodă.
Intenția intenției = noul AppInviteInvitation.IntentBuilder (INVITATION_TITLE) .setMessage (INVITATION_MESSAGE) .setDeepLink (Uri.parse ("tutsplus: //code.coupon/50")) .setCallToActionText (INVITATION_CALL_TO_ACTION) .build ();
Primul lucru pe care trebuie să-l faceți pentru a gestiona legăturile personalizate profunde este să spuneți aplicației dvs. cum sunt făcute și care Activitate
ar trebui să aibă grijă de ei. Adăugați un mesaj nou Activitate
la proiectul dvs. și numiți-o DetailsActivity.
Deschis AndroidManifest.xml și adăugați fragmentul următor la
etichetă.
Spunem sistemului următoarele: Dacă invocă acțiunea VEDERE pe o adresă URL a cărei schemă este tutsplus și a cărui gazdă este code.coupon, aplicația dvs. o poate gestiona utilizând DetailsActivity
clasă.
Pentru a primi și a analiza adresa URL personalizată, trebuie mai întâi să creați o gestionare automată GoogleApiClient
cu acces la invitațiile la aplicații. Noi facem asta în onCreate
metodă a Activitate principala
clasă.
GoogleApiClient googleApiClient = nou GoogleApiClient.Builder (acest) .addApi (AppInvite.API) .enableAutoManage (acest nou GoogleApiClient.OnConnectionFailedListener () @Override public void onConnectionFailed (ConnectionResult connectionResult) Log.d (getString (R.string.app_name ), "onConnectionFailed:" + connectionResult); showMessage ("Ne pare rău, conexiunea nu a reușit.");) .build ();
Pentru a verifica invitațiile și pentru a lansa legătura profundă Activitate
, puteți utiliza getInvitation
, care a fost introdus în serviciile Google Play 8.3. Adăugați următorul fragment de cod în secțiunea onCreate
metodă a Activitate principala
clasă.
AppInvite.AppInviteApi.getInvitation (googleApiClient, acest lucru, adevărat) .setResultCallback (noul ResultCallback() @Override public void onResult (rezultatul AppInviteInvitationResult) );
Setează ultimul parametru al metodei Adevărat
spune pluginul pentru a apela automat activitatea responsabilă de manipularea linkului profund, DetailsActivity
clasă în exemplul nostru. Acesta este motivul pentru care organismul onResult
metoda este goală.
Deschis activity_details.xml și adăugați două TextView
obiecte arătate mai jos.
În continuare, deschideți-vă DetailsActivity
și suprascrie onStart
metodă. Pentru a verifica dacă scop
conține date de legătură profundă, trebuie să vă bazați pe hasReferral
metodă. Parsarea adresei URL este foarte simplă, după cum puteți vedea mai jos.
@Override protejate void onStart () super.onStart (); Intenția intenției = getIntent (); dacă (AppInviteReferral.hasReferral (intent)) // extrageți informațiile din Intent String deepLink = AppInviteReferral.getDeepLink (intent); Log.d (getString (R.string.app_name), "Referință găsită:" + AppInviteReferral.getInvitationId (intent) + ":" + deepLink); String [] array = deepLink.split ("/"); dacă (array.length> 0) TextView tv = (TextView) findViewById (R.id.discount); tv.setText (String.format (tv.getText (). toString (), array [array.length-1]));
În acest articol, ați învățat cum să implementați invitațiile de aplicații Google în aplicația dvs., utilizând pluginul pentru servicii Google Play. Acest instrument vă permite să creșteți audiența aplicației, permițând utilizatorilor să trimită invitații la contactele lor Google. Acum ar trebui să puteți dezvolta un sistem de referire prin utilizarea aplicațiilor de pe aplicație, permițând utilizatorilor să vă recomande aplicația prietenilor lor utilizând invitații personalizate, contextuale.