Facebook sīki izklāsta, kā tas izveidoja atrašanās vietas API

  • Aug 28, 2023

Facebook ir paskaidrojis, kā astoņi inženieri strādāja pusotru gadu, veidojot jaunas atrašanās vietas funkcijas, kas padara atrašanās vietas marķēšanu universālu sociālajā tīklā.

facebooklocationapi.jpg

Šīs nedēļas sākumā Facebookstatusa atjaunināšanas funkcijas ir pārnestas uz lietotnēm. Izstrādātājiem tagad ir iespēja ļaut lietotājiem pievienot draugus, atrašanās vietu un kopīgot fotoattēlus tieši no lietotnēm. Sociālo tīklu gigants šodien izklāstīja informāciju par atrašanās vietas API paplašināšanu. Uzņēmums saka, ka pēdējo pusotru gadu ir pavadījis, padarot atrašanās vietas marķēšanu universālu, lai jūsu reģistrēšanās var tikt parādīta laika skalā, un jūsu lietotnes var mijiedarboties ar to, kur esat bijis un kur vēlaties iet tālāk. Astoņi Facebook inženieri izveidoja jaunās atrašanās vietas funkcijas un laika skalas karti, strādājot ar laika skalas, vietu, mobilo, meklēšanas un atzīmēšanas komandām.

2011. gada augustā Facebook nogalināja savu produktu Vietas, bet arī ieviesa jaunas atrašanās vietas funkcijas

. Uzņēmums apgalvo, ka koncentrējās uz to, lai padarītu jūsu atrašanās vietas kopīgošanu pēc iespējas vienkāršāku neatkarīgi no tā, kādus atjauninājumus publicējāt. Lai to izdarītu, Facebook mainīja atrašanās vietas jēdzienu no noteikta veida informācijas, ko pārraidāt, izmantojot viedtālruni, uz metadatiem, ko varat pievienot jebkuram Facebook vienumam no jebkuras ierīces. Tas ietver iespēju meklēt vietas jūsu pašreizējās atrašanās vietas tuvumā.

Pirmkārt, Facebook lūdza atļauju izmantot GPS API, lai iegūtu jūsu pašreizējo atrašanās vietu. Ja tas tika piešķirts, Facebook sadalīja zemeslodi daudzos mazos daudzstūros, un visas pasaules "vietas" tika saglabātas atmiņā un indeksētas atbilstoši to daudzstūriem. Diemžēl šī infrastruktūra liedza jums iekļaut atrašanās vietu savā Facebook profilā. Pēc tam, kad Facebook sāka ļaut jums pievienot atrašanās vietu jebkuram vietnē kopīgotajam saturam, vietu meklēšana bija daudz laika grūtāk apstrādāt, jo, iespējams, jūs varētu meklēt jebkuru vietu pasaulē neatkarīgi no pašreizējās situācijas atrašanās vieta.

Lai tiktu galā ar šo milzīgo datu kopu, Facebook katrai vietai piešķīra četrus dažādus pieaugoša izmēra poligonus. Tādējādi visas pasaules "vietas" tika indeksētas ar katru no šiem daudzstūriem un arī ar pirmajiem trīs burtiem katram vārdam vietas nosaukumā. Universālās meklēšanas infrastruktūras attīstīšana ļāva Facebook nodrošināt lietotājiem iespēju meklējiet vietas jebkurā ierīcē (ne tikai viedtālruņos), uzlabojot meklēšanas kvalitāti ar atrašanās vietu, ja tāda ir pieejams.

Pēc vaicājuma vietas, kas atbilst pirmajiem trim burtiem, tiek ienestas un krustotas ar vietu sarakstu visos četros daudzstūros, kuros ir jūsu pašreizējā atrašanās vieta. Atkarībā no lietošanas gadījuma rezultāti var būt novirzīti uz vietām tuvāk jums vai nodrošināt pilnīgu globālu meklēšanu. Tā kā šajā jaunajā sistēmā kandidātu vietu skaits ievērojami palielinās, Facebook saglabā lielu funkciju kopumu, ko uzlabot rangu, tostarp reģistrēšanās un vietas saņemtās atzīmes Patīk, kā arī uzņēmuma aprēķini par atvēršanas/slēgšanas laiku vieta. Visbeidzot, Facebook izmanto modeļus, lai atlasītu visatbilstošākās vietas, pamatojoties uz šīm funkcijām.

Kad Facebook izveidoja laika skalu, laika skalas karte (attēls augšā) bija neatņemama: tā ļauj redzēt katru vietu, kurā esat reģistrējies, kā arī fotoattēlus un statusus, ko augšupielādējāt šajās vietās. Atšķirībā no vairuma Facebook lapu, laika skalas karte prasa ielādēt katru lietotāja izveidoto saturu, norādot atrašanās vietu, nevis tikai pirmos x hronoloģiskos vienumus. Lai pārvaldītu šo datu slodzi, Facebook izveidoja infrastruktūru, lai nodrošinātu datu ienešanu vairākiem serveriem. Katrā lapas ielādes reizē viens serveris ienes visu satura daļu ID, ko var parādīt pašreizējam lietotājam, un pēc tam pārtrauc sadalīt šos datus mazākos gabalos, un katrs gabals tiek nosūtīts ar pieprasījumu citam serverim, lai tas faktiski izgūtu datus un nodrošinātu privātumu. pārbaudes. Šo serveru rezultāti tiek apvienoti, lai izveidotu laika skalas kartes displeju.

Lūk, kas Facebook bija sakāms par atrašanās vietas tapu apkopošanas algoritmiem, kas man šķiet aizraujošākā daļa:

Vēl viens interesants izaicinājums bija loģikas veidošana piespraudes apkopošanai kartē, jo mēs to vēlējāmies izvēlēties optimālu apkopošanas algoritmu, vienlaikus nodrošinot, ka tiek parādīts pēc iespējas vairāk atšķirīgu tapu. Viena no mūsu pirmajām, optimistiskākajām iespējām bija apvienot jebkurus divus punktus, kas pārklājās, taču tas izkropļotu tapu secību. Vēl viena mūsu izpētītā iespēja bija vienmēr apkopot tapas, kas atrodas vistuvāk viena otrai, lai risinājums būtu deterministisks, taču tas izrādījās pārāk lēns. Tā vietā mūsu komandas inženieris Džons Makkords uzrakstīja algoritmu, lai deterministiski uzzīmētu šīs tapas. Jebkurā brīdī divas tapas tika apkopotas tikai tad, ja tās bija viena otras tuvākā kaimiņiene. Tas tika salīdzināts ar visām pārējām tapām, lai atrastu citu tapu, kas apmierināja šo īpašību. Ja tie tika atrasti, abas tapas tika apkopotas vienā tapā. Šis process tika sekots līdz brīdim, kad nepalika pārklāšanās tapas.

Visbeidzot, Facebook runāja par atrašanās vietas ieteikumiem. Uzņēmums izveidoja sistēmas, kas atkārto visus lietotāja augšupielādētos albumus un meklē nosaukuma un atrašanās vietas lauki tekstam, kas varētu apzīmēt vietu, kur albums varēja atrasties paņemts. Komanda arī izveidoja īpašu plūsmu, kas ļauj nemanāmi atzīmēt esošos fotoattēlus ar atrašanās vietu un nekavējoties pievienot tos savai kartei.

Tagad lietotņu izstrādātāju ziņā ir izmantot Facebook piedāvātās priekšrocības. Nepaies ilgs laiks, kad sociālais tīkls automātiski sniegs ieteikumus par jaunām vietām, ko pārbaudīt, pamatojoties uz to, kur bijuši jūsu draugi.

Skatīt arī:

  • Facebook nodrošina statusa atjaunināšanas funkcijas lietotnēm
  • Facebook tagad ļauj jums pievienot parakstus un atrast fotoattēlus to augšupielādes laikā
  • Gowalla apstiprina: Facebook iegūst uz atrašanās vietu balstītu sociālo tīklu
  • Facebook iegādājās Gowalla par 3 miljoniem dolāru (baumas)
  • Kura ir Facebook populārākā lidosta?
  • Facebook konkurss: Apkārt pasaulei ar 80 klikšķiem