„IOS“ gilus susiejimas: URL schema ir universaliosios nuorodos

Šiais laikais viskas yra susiję. Pasaulyje, kuriame dažnai dalijamės nuorodomis, kaip kad mes darome šiandien, jūsų programa negali būti naudojama. Gilus susiejimas yra idėja, kad ne tik turėtumėte spustelėjamą saitą, kad galėtumėte atidaryti savo programą, bet ir išmaniąją, kuri taip pat pateks į norimą šaltinį. Pagerinkite savo vartotojo patirtį įgyvendindami šias naudingas nuorodas.

Yra 2 būdai, kaip įgyvendinti gilųjį susiejimą IOS: URL schema ir universaliosios nuorodos. Nors URL schemos yra gerai žinomas gilaus susiejimo būdas, visuotinės nuorodos yra naujas būdas, kurį „Apple“ įdiegė, kad lengvai sujungtų jūsų tinklalapį ir programą ta pačia nuoroda.

Čia yra palyginimai, iš kurių galite rinktis, tačiau aš paaiškinsiu abu dalykus:

URL schema

Visuotinės nuorodos

Atkreipkite dėmesį čia, jei nė viena iš šių parinkčių nenukreips jūsų į „App Store“, jei programa nebus įdiegta. Įdiegus programą, „IOS“ užmezgs ryšį tarp šių URL ir programos, remdamasi programos metaduomenimis. Jei programa neįdiegta, metaduomenys yra čia, taigi ryšys niekada nebus sukurtas. Vėliau turėsime tai išspręsti.

URL schemos

Pradėkime nuo URL schemų. URL schemas lengva įgyvendinti. Jums tereikia pasakyti programai, kurią schemą norėtumėte naudoti. Norėdami tai padaryti, atidarykite „Xcode“, apsilankykite „Projekto nustatymai“ -> Informacija ir skiltyje „URL tipai“ pridėkite naują URL schemą. Pridėkite kažką panašaus į „com.myApp“ ir viskas. Dabar įdiekite programą, atidarykite programos užrašus ir įveskite com.myApp ir paspauskite Enter.

Palaukite ... nieko nevyksta. Jei norite, kad IOS atpažintų tai kaip nuorodą, turite prisitaikyti prie URL formato. Tai yra schema: // šaltinis. Taigi einame į priekį ir įveskite com.myApp: // main. Dabar, kai paspaudžiame „Enter“, galime pamatyti, kad „IOS“ aptiko nuorodą, o kai ją spustelėsime, iššokantis popierius paprašys leidimo atidaryti „MyApp“ iš „Notes“.

O ką daryti, jei norime peradresuoti vartotoją programos viduje? Jei vartotojas paliečia com.myApp: // profilį, jis turėtų parodyti profilį arba com.myApp: // reset_password, nukreipkite jį į slaptažodžio nustatymo iš naujo ekraną. Jei norime į šį URL kartą sureaguoti programoje, turime „AppDelegate“ įdiegti vieną metodą

Tokiu būdu com.myApp: // profile? User = “JuanFra” duos:

url.scheme = „com.myApp“
url.host = „profilis“
parametrai = [„vartotojas“: „JuanFra“]

Tai viskas „URLSchemes“. Lengva tiesa? Atminkite, kad šis URL neveiks, jei programa nebus įdiegta, todėl „IOS“ bandys atidaryti nuorodą „Safari“, kuri akivaizdžiai nuves į niekur, palikdama vartotojui tuščią baltą ekraną painiavą dėl to, kas ką tik nutiko. . Tam turime antrą variantą.

Visuotinės nuorodos

Universalios nuorodos yra šiek tiek sudėtingesnės. Iš esmės norime, kad „IOS“ susietų tinklalapio URL su mūsų programa. Tačiau tai nėra taip paprasta. Pavaizduokite šią situaciją. Mūsų mylima programa „Redd1t“ yra visais būdais, formomis ir formomis tokia pati, kaip populiariame socialiniame tinkle „Reddit“. „Redd1t“ metaduomenyse nurodo kaskart, kai vartotojas paspaudžia reddit.com, kad nukreiptų jį į savo programą. Matote problemą čia? „IOS“ reikia būdo, kaip patvirtinti, kad iš tikrųjų „Redd1t“ yra www.reddit.com savininkas, bet kaip? Na, klauskite, žinoma, https://www.reddit.com! „Reddit.com“ turės pateikti šaltinį, nurodantį, kuri yra jo „IOS“ programa. Ir tai daroma tokiu būdu: „IOS“ pateiks užklausą https://www.reddit.com/apple-app-site-association ir tikisi JSON. JSON turėtų būti toks:

{
    „Applinks“: {
        „Programos“: [],
        „Detalės“: [
            {
                „AppID“: „T5TQ36Q2SQ.com.reddit.production“,
                „Keliai“: [„*“],
            }
        ]
    }
}

Padalinkime tai sekundę.

Prašymai nurodo, kad tai iš tikrųjų yra „Universal Link“ deklaracija.

Programos turėtų būti paliekamos kaip tuščias rinkinys („Apple“ citata: „Programų raktas obuolių ir programų bei svetainių susiejimo faile turi būti, o jo vertė turi būti tuščia masyvo). Tai greičiausiai todėl, kad šie JSON tipai naudojami ir kitiems tikslams, išskyrus universaliuosius ryšius, tačiau mes į tai neatsižvelgsime.

Tuomet išsamioje informacijoje bus jūsų programų masyvas ir kiekvieno pogrupio žemėlapiai su atitinkama programa.

Prie kiekvienos programos turėtumėte pridėti lauką, vadinamą „appID“, gautą susiejant jūsų komandos ID ir programos paketą. Pvz., Jei jūsų „TeamID“ yra 123456, o jūsų „AppID“ yra „com.myApp“, tada rezultatas yra „123456.com.myApp“.

Kelių lauke - styginių masyvas, vaizduojantis kelią, kuris atitinka šią programą. Pvz., Jei norite, kad „myApp.com/store“ atidarytų kitokią programą nei „myApp.com/maps“, čia galite pareikšti, kad * yra bet kurios eilutės pakaitos simbolis, o? yra bet kurio simbolio pakaitos ženklas. Kadangi turime tik vieną programą, bet kuris pogrupis atves čia, taigi *. Jei norite pašalinti pogrupį, tiesiog pradžioje pridėkite NE

[„/ Wwdc / news /“, „NOT / videos / wwdc / 2010 / *“, „/ videos / wwdc / 201? / *“]

Sistema įvertins kelią tvarka ir sustos radusi NE, todėl rinkdamiesi užsakymą atsižvelkite į tai.

Tiesą sakant, jei pateksime į https://www.reddit.com/apple-app-site-association, mes galime pamatyti atsakymą. Atminkite, kad nuoroda neturi baigtis .json, o užklausa turi grąžinti antraštės turinio tipą: application / json.

Jei kyla problemų nustatant savo „programėlių-programų-svetainių“ asociaciją, mūsų draugai, esantys „Branch.io“, padės jums su puikiu jų patvirtinimo elementu: https://branch.io/resources/aasa-validator/

Kai tai bus padaryta, dabar prie programos turime pridėti teisingus metaduomenis. Pirmiausia atidarykite „Xcode“, eikite į Projekto nustatymai -> galimybes. Slinkite žemyn iki Susiję domenai ir įjunkite. Įjungę URL pridėsime bet kurį URL, kuriame įgyvendinamas mūsų programėlių-programų ir svetainių susiejimo šaltinis, prieš tai pateikdami programų nuorodas. Domenų skiltyje pridėkite programų nuorodas: myApp.com. Kai tai bus padaryta, eik į priekį ir išbandyk savo programą.

Jei einate į „Mano programą“ su safariu, įdiegę programą, turėtumėte pamatyti nedidelę juostą, nurodančią, kad tą nuorodą galite atidaryti programos viduje. Jei spustelėsite programą, ji bus paleista.

Jei eisite į užrašus ir užsirašysite www.myApp.com, užrašai atpažins tai kaip nuorodą ir leis jums atidaryti. Jei spustelėsite tada, ji atidarys jūsų programą tiesiogiai, net nepaleidžiant safari. Tai atsitiks tik tuo atveju, jei vartotojas palies nuorodą, o ne tada, kai apsilankys tinklalapyje.

Bet dabar tarkime, kad norime nukreipti vartotoją į norimą ekrano bazę URL parametruose. Tada „AppDelegate“ turime įdiegti šį metodą.

Tai, ką mums leidžia universalios nuorodos, turi ne tik unikalus tinklalapio URL, „IOS“ programa ir galbūt net „Android“ programa. Negana to, „Universal“ nuorodos leidžia mums sukurti atsarginį tinklalapį, jei vartotojas neturi įdiegtos programos. Jei vartotojui siųstumėte el. Laišką su nuoroda www.myApp.com/app/profile, ten galėtumėte priglobti statinį tinklalapį, nurodantį vartotojui eiti į „App Store“ ar net tiesiog automatiškai jį nukreipti, nes jei vartotojas turi programą, nuoroda ją atidarys, o jei ne, ji pateks į tinklalapį.

Suvyniokite daiktus

Atsižvelgiant į visa tai, gilus susiejimas yra esminė šių dienų programų funkcija, ypač jei siunčiate pranešimus el. Paštu savo vartotojams. Naudotojai kiekvieną dieną greičiau sunaudoja turinį, o laikas, per kurį jie patenka į jūsų programą ir pereina į norimą vietą, yra laikas, kurį jūs einate švaistyti. Taigi, ko jūs laukiate?