Cum să deschideți o aplicație Android din browser
Deschiderea unei aplicații instalate dintr-un browser este deseori denumită „deep linking”, iar cu acest ghid veți învăța cum să faceți deep link în aplicația Android pentru dumneavoastră. Ne vom concentra exclusiv pe modul de declanșare a deschiderii unei aplicații de pe o pagină de site web, mai degrabă decât de pe urma unui clic pe un link din interiorul altor aplicații. Pentru o privire mai detaliată asupra tuturor diferitelor standarde de deep linking necesare pentru o acoperire completă a Android, vă rugăm să consultați seria noastră Android deep linking: Partea 1, Partea 2, Partea 3 și Partea 4.
Android este, de departe, una dintre cele mai fragmentate platforme pe care dezvoltatorii au trebuit să le gestioneze vreodată, din cauza deciziei Google de a forța producătorii de dispozitive să fie responsabili de portarea sistemului de operare, ceea ce necesită compatibilitate retroactivă și suport pentru o multitudine de dispozitive. În acest ecosistem, noi, dezvoltatorii de aplicații, suntem lăsați să adunăm piesele. Deep linking pe Android nu este, din păcate, diferit – de-a lungul anilor, am văzut o multitudine de cerințe tehnice care trebuie utilizate în funcție de circumstanțe și de contextul utilizatorului.
Rețineți că Branch va implementa toată această complexitate pentru dvs., va găzdui legăturile profunde și chiar vă va oferi o analiză robustă în spatele clicurilor, deschiderilor de aplicații și evenimentelor din pâlnia descendentă. Vă puteți juca gratuit cu legăturile Branch, înregistrându-vă aici. Vă recomandăm să folosiți instrumentele noastre în loc să încercați să le reconstruiți de la zero, deoarece le oferim pe toate gratuit.
Vizualizare generală a modificărilor
Există două locuri în care vor trebui făcute modificări pentru a vă deschide cu succes aplicația Android: site-ul dvs. web și aplicația Android. Puteți găsi detalii despre fiecare modificare în secțiunile corespunzătoare de mai jos.
Aducerea suportului pentru schemele URI în aplicația dumneavoastră
O schemă URI poate fi orice șir de caractere fără caractere speciale, cum ar fi http, pinterest, fb sau myapp. Odată înregistrat, dacă adăugați :// la sfârșit (de exemplu, pinterest://) și faceți clic pe acest link, se va deschide aplicația Pinterest. Dacă aplicația Pinterest nu este instalată, veți vedea o eroare de tip „Page Not Found”.
Este simplu să vă configurați aplicația pentru o schemă URI. Pentru a începe, trebuie să alegeți o Activitate din cadrul aplicației dvs. pe care doriți să o deschideți atunci când schema URI este declanșată și să înregistrați un filtru de intenție pentru aceasta. Adăugați următorul cod în cadrul etichetei <activity /> din manifestul dvs. care corespunde activității pe care doriți să o deschideți.
<intent-filter><data android:scheme="your_uri_scheme" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /></intent-filter>
Puteți schimba your_uri_scheme în schema URI pe care o doriți. În mod ideal, doriți ca aceasta să fie unică. Dacă se suprapune cu schema URI a unei alte aplicații, utilizatorul va vedea un selector Android atunci când face clic pe link. Vedeți acest lucru adesea atunci când aveți mai multe browsere instalate, deoarece toate se înregistrează pentru URI http.
În continuare, veți dori să confirmați că aplicația dvs. a fost deschisă din schema URI. Pentru a gestiona legătura profundă în aplicație, trebuie pur și simplu să preluați șirul de date de intenție din activitatea care a fost deschisă prin clic. Mai jos este un exemplu:
Uri data = this.getIntent().getData();if (data != null && data.isHierarchical()) {String uri = this.getIntent().getDataString();Log.i("MyApp", "Deep link clicked " + uri);}
De aici, va trebui să faceți analiza șirurilor de caractere pentru a citi valorile anexate schemei URI care vor fi foarte specifice cazului dvs. de utilizare și implementării.
Adăugarea de Javascript pe site-ul dvs. pentru a vă deschide aplicația
Acum că aplicația dvs. Android este pregătită să fie declanșată de la o schemă URI, următoarea parte este simplă. Trebuie doar să adăugați niște Javascript pe site-ul dvs. web care va declanșa automat deschiderea aplicației dvs. Funcția de mai jos, triggerAppOpen, va încerca să deschidă schema URI a aplicației dvs. odată ce înlocuiți your_uri_scheme cu cea pe care ați adăugat-o în manifestul de mai sus.
var fallbackToStore = function() { window.location.replace('market://details?id=com.myapp.package');};var openApp = function() { window.location.replace('your_uri_scheme://');};var triggerAppOpen = function() { openApp(); setTimeout(fallbackToStore, 250);};
Ați putea apela triggerAppOpen în window.onload dacă doriți să o faceți la încărcarea paginii, sau ați putea să o faceți la onclick-ul unui link undeva pe site-ul dvs. Oricare dintre ele funcționează și veți obține rezultatele dorite.
Android este incredibil de complicat și există cazuri limită peste tot. Veți crede că totul merge bine până când veți avea acel utilizator care se va plânge că link-urile sale nu funcționează pe Facebook în timp ce rulează Android 4.4.4.4. Acesta este motivul pentru care ar trebui să folosiți un instrument precum Branch – pentru a vă salva acest coșmar și a vă asigura că link-urile dvs. funcționează peste tot. Nu uitați să solicitați o demonstrație Branch dacă sunteți interesat să aflați mai multe.