Publicat initial de Mihir Shah pe 29 martie 2017

Spoiler: Acesta este cel mai extins ghid pentru construirea unei aplicatii de intalnire pe concept, construirea de MVP, optimizarea, stabilitatea backend-ului, securitatea aplicatiei, implementarea chat-ului in timp real, algoritmul de potrivire a tinderului si moderarea continutului.

Vrei sa creezi o aplicatie similara cu Tinder pentru nisa de intalnire?

Probabil ati auzit multe despre aplicatiile de intalnire saturate si competitive, dar ..

Asta este complet subiectiv, iar intreruperile in timp valideaza adesea nesaturatia! Chiar mai mult, intalnirea de nisa este nesaturata.

In cuvintele lui Sean Rad, co-fondator Tinder ..

Nu este vorba doar de alunecarea spre stanga sau spre dreapta, ci despre filozofia care sta la baza.

Prea frumos ca sa fie adevarat? Sa vedem!

Unele aplicatii de intalnire de nisa care au avut succes masiv recent:

  • Twindog a obtinut aproape 100k de utilizatori in termen de 2 luni de la lansare
  • Bristlr, o aplicatie pentru Femei care cauta barbati cu barba
  • Liga, o aplicatie de intalnire pentru persoane prea populare
  • Dating pentru nevazatori, dezvoltat la RLSB

Acum, ideea ta nebuna de aplicatii de intalnire nu pare sa fie atat de nebuna, nu?

In mod special, astfel de aplicatii evolueaza din pasiune de sine, asa ca este sigur sa presupunem ca sunteti deja familiarizati cu anumite atribute ale nisei dvs. Puteti reuni rapid cateva idei, discuta si testa pentru a vedea daca aveti o piata pentru asta.

NOTA: Daca in cazul in care intentionati sa dezvoltati o clona, ar trebui sa intelegeti ca validarea pietei dvs. a fost deja facuta.

Ce veti invata:

  • Diferite moduri de a construi o aplicatie de intalnire?
  • Construirea unei aplicatii de intalnire MVP
  • Optimizarea aplicatiei pentru utilizare, performanta si securitate

Cum sa creezi o aplicatie de intalnire?

Iata afacerea, nu exista standarde de dezvoltare a aplicatiilor pentru startup-uri. De obicei, exista trei moduri de a construi o aplicatie:

  1. Utilizati un constructor de aplicatii
  2. Dezvoltati o aplicatie personalizata
  3. Personalizati un script Clone

Sa aruncam o privire la aceste optiuni

Constructor de aplicatii de intalnire

Exista multi constructori de aplicatii de intalnire care va permit sa trageti si sa fixati pentru a crea o interfata de utilizator, sa reglati backenduri si sa va jucati putin.

Cea mai buna parte a utilizarii acestor constructori de aplicatii este usurinta pe care o aduc:

Majoritatea acestor constructori WYSIWYG percep o taxa lunara pentru functionarea aplicatiei, ei gazduind si mentin backend-ul. Acestea furnizeaza elemente de interfata de utilizator pe care le puteti utiliza pentru a face aplicatia dvs.

Pentru a va ajuta la crearea de aplicatii, majoritatea acestor constructori de aplicatii ofera documentatie. De asemenea, ofera asistenta la apel daca lucrurile se complica. Dar sufera de unele probleme serioase:

  • Sunt limitate in ceea ce priveste personalizarea, caracteristicile inovatoare (pentru Tinder a fost glisat)
  • In unele cazuri, codul care alimenteaza aplicatia nu poate fi exportat si devine inaccesibil odata ce opriti platile lunare
  • Aproape imposibil de optimizat experienta utilizatorului; un nucleu de astfel de aplicatii de intalnire
  • Limitat in ceea ce priveste ceea ce ofera pentru schimbarile rapide in tehnologie

In timp ce in viitor ne putem astepta sa avem construitori de aplicatii fiabile, dar chiar acum, acestea sunt slabe alegeri pentru a construi o aplicatie de intalnire.

Dezvoltati aplicatii de intalnire personalizate

Aplicatiile personalizate pot fi native sau multipla platforma.

Ei necesita o baza de date pentru a stoca datele lor si un backend pentru a functiona. Cand sunt construite nativ, aceste aplicatii ruleaza mai eficient. Iata un studiu comparativ al dezvoltarii platformei native vs cross platform, pe care l-am scris acum ceva timp.

Dezvoltarea de aplicatii in acest fel favorizeaza, de asemenea, dezvoltarea de produse iterative. Daca doriti, puteti sa pivotati intregul produs. Dar…

Dezvoltarea de aplicatii personalizate aduce costuri suplimentare in tabel. In afara de asta, nu exista dezavantaje pentru ca aplicatia dvs. sa fie dezvoltata in acest fel. Daca credeti cu adevarat in ideea dvs., accesati Cum sa faceti o aplicatie de intalnire folosind dezvoltare personalizata.

Dating (Tinder) script de clonare a aplicatiei

Practic, scripturile clonate sunt replica codului sursa a aplicatiilor populare existente existente pe pietele online. Cu aceasta optiune, cautati pe internet un cod deja existent disponibil in aplicatia de intalnire dorita.

In sfarsit gasesti o duzina de scripturi de clone Tinder acolo. Dupa cumpararea unui script de clona, veti angaja un freelancer pentru a personaliza si a va ajuta sa incarcati aplicatia in magazinele de aplicatii relevante.

Aceste scripturi costa, de obicei, intre 100-700 USD si costurile de personalizare pe care le-ar putea percepe un dezvoltator. Pana acum atat de bine, nu?

Nu chiar! 

Apple se va prabusi mai repede sau mai tarziu pe astfel de extrageri!

Exista si alte dezavantaje ale abordarii:

  • In primul rand, orice personalizator extrem de minor poate fi facut de orice dezvoltator cu usurinta. Dar, in cazul in care exista chiar si un pic de complexitate , costul personalizarii creste drastic.
  • In cel mai rau caz, dezvoltatorul poate sa esueze sau sa refuze deloc sa lucreze la cod.
  • Dezvoltatorii experimentati, de regula, refuza sa personalizeze astfel de coduri. Si recomandam sa scrieti codul de la zero.
  • Mai multe sanse sunt ca codul sa nu aiba o documentatie adecvata , comentarii care sa-l ajute pe dezvoltator

Dar scalabilitatea?

Scalabilitatea este ceva care a ucis multe startup-uri care au trecut in topul magazinelor de aplicatii din trecut. Adesea, aceste coduri sunt slab scrise si nu se vor scala deloc.

Avand in vedere ca exista o piata pentru aplicatia dvs., trebuie sa inovati cel putin 10% cu produsul dvs. Un script clona nu este ceva care te ajuta sa faci asta.

Merita sa stim aici ca majoritatea persoanelor care folosesc astfel de scripturi clon sunt, in esenta, marketeri negriciosi. Majoritatea comerciantilor de blackhat nu sunt determinate de dorinta de a servi utilizatorii . Mai degraba intentioneaza sa faca spam si sa monetizeze rapid. Pastrarea utilizatorilor este destul de scazuta in astfel de cazuri.

In cele din urma, fie ca utilizati un cod sursa pentru aplicatia Dating, builders de aplicatii sau dezvoltare personalizata pentru a va crea aplicatia, trebuie sa va cufundati in procesul de construire a unei aplicatii de intalnire cu succes.

Poate parea coplesitor. Nu-ti face griji …

In sectiunea de mai jos va vom arata o posibila abordare pentru a construi MVP si pentru a optimiza caracteristicile aplicatiei. Nu numai ca, veti putea, de asemenea, sa intelegeti in mod corespunzator integrarile si functiile critice ale aplicatiilor.

Cum se face o aplicatie de intalnire – MVP

Crearea unei astfel de aplicatii MVP ar necesita sa aveti abilitati de dezvoltare iOS, Android si backend. Dezvoltarea iOS se face in principal folosind Swift si Obiectiv C, in timp ce pentru Android ai nevoie de cineva cu experienta Java.

Pentru backend, puteti avea Javascript, PHP sau orice alta limba pe care o preferati. Alegerea este complet subiectiva. Cea mai buna modalitate de a merge mai departe este urmand o abordare minima viabila a produsului. Ar trebui sa fii foarte atent la modul in care iti decizi succesul minim.

Coan fondatorul Tinder, Sean Rad, a recunoscut acest lucru in cadrul discutiei sale de la Google I / O 2014:

Am subestimat drastic ce a fost MVP … totul urma sa se prabuseasca timp de 24 de ore, deoarece aceasta arhitectura are gatul sau si nu va trece peste asta.

Acest lucru s-a intamplat cand Tinder a fost pe punctul de a trece de la 20k utilizatori la 500k utilizatori peste noapte. Si a fost extrem de stresant pentru Sean. Deci, este foarte important sa vina cu un MVP definit corect.

O abordare a MVP a fost ilustrata de Arum Kang din Cafea se intalneste cu Bagel in videoclipul de mai jos:

Urmatoarele lucruri trebuie sa fie notate cu atentie din discutia ei:

  1. Puteti construi MVP-ul dvs. fara un cofondator tehnic
  2. Devine mai usor sa gasesti un cofondator tehnic odata ce creezi un MVP

Acum ca ati definit corect succesul minim (MVP), sunteti gata sa treceti la urmatoarea sectiune.

Cel mai frecvent, am vazut urmatoarele functii in aplicatiile de intalnire:

  • Glisati gesturile
  • Potrivirea utilizatorilor
  • Moderarea continutului
  • Chat in timp real
  • Locatie geografica

Scopul de aici ar trebui sa fie crearea de caracteristici pentru utilizare, performanta si securitate.

Optimizati-va aplicatia de intalnire

Construirea gesturilor de glisare

Construirea gesturilor de tip swipe nu este foarte dificila si orice dezvoltator bun poate face acest lucru. Desi, trebuie sa aveti grija in timpul implementarii gesturilor de glisare. Este posibil ca implementarea dvs. sa nu fie optimizata pentru publicul tinta.

Urmatoarele efecte afecteaza drastic usurinta utilizatorului pentru tranzitiile de glisare:

  • Distanta fata de mijloc necesara pentru o actiune
  • Cat de mult va agrava cardul la glisare, cat ar trebui sa se roteasca
  • Cat de mult ar trebui sa se micsoreze cardul la glisare
  • Unghiul de rotatie si rezistenta acestuia

Animatia de mai jos ilustreaza frumos modul in care modificarile minore influenteaza experienta acestor tranzitii glisante.

Aflati ce functioneaza cel mai bine pentru publicul tinta si optimizati gesturile glisante.

Creeaza backend pentru scalabilitate

Multi solicita adesea cea mai usoara modalitate de a avea o aplicatie scalabila si deseori repetam ​​- cel mai simplu nu este cel mai bun mod de a construi o aplicatie scalabila.

Pentru un MVP, o baza de date MySQL + MongoDB impreuna cu Node.js functioneaza cel mai bine pentru astfel de aplicatii.

Unii recomanda MongoDB autonom pentru astfel de aplicatii, ceea ce nu este cel mai bun mod. Cele mai multe astfel de recomandari apar din miturile care inconjoara MongoDB, consultati videoclipul de mai jos pentru a afla despre miturile din jurul MongoDB.

Tinder in sine a folosit MongoDB si s-a confruntat cu multe probleme. A ajuns intr-un punct in care in cele din urma au fost fortati sa-si mute focalizarea de la produs la scalarea serviciului.

Proiectarea unei baze de date pe MongoDB este un pic dificil. Iti solicita sa planifici in prealabil ce caracteristici vrei sa implementezi si ce informatii ai avea de extras.

Pentru a rezuma, toate datele nestructurate ale aplicatiei dvs. ar trebui sa mearga la MongoDB, iar cea structurata va fi stocata in baza de date MySQL.

Node.js si servire statica

Node.js este excelent pentru sarcini variabile … dar nu functioneaza bine cand vine vorba de continut static. Utilizarea unui mecanism de cache elimina problema. Vei citi mai multe despre asta mai tarziu in postarea de pe blog.

Sa revenim la scalabilitate.

Scalabilitatea tehnologiei trebuie sa se afle in stadiul central al foii de parcurs a produsului dvs. imediat.

Chris Lalonde, (care a redus Ebay la milioane de utilizatori), a vorbit urmatoarele in contextul scalabilitatii pentru startup-uri:

Stiu o duzina de startup-uri care nu au reusit din propriul succes. Aceste probleme vor fi doar mai mari.

Graficul de mai jos ilustreaza bine importanta scalabilitatii din perspectiva ROI

Linia verde din acest grafic pare mult prea fantezista pentru a fi adevarata; mai des, nu, nu este.

Pentru cele mai multe start-up-uri, calea reala arata ca in graficul de mai jos:

Sa facem scalabilitatea chiar si un pas mai departe si sa optimizam coada serverului . Coada serverului este practic un model al modului in care aplicatia dvs. va trata si prelucra solicitarile.

Asadar, in timp ce construim modelul de server pentru o aplicatie de intalnire, va recomandam mai degraba decat sa mergeti pentru un N servere + N cozi sau un singur server + coada unica, preferam serverele Singure coada + N.

Acest „N” ar depinde de traficul dumneavoastra, o parte din proiectarea sistemului.

Acum, va puteti aseza cu echipa dvs. de produse si dezvoltare pentru a identifica:

  • Ce se va intampla imediat dupa lansarea aplicatiei (frecventa mesajelor, numarul de solicitari etc.)?
  • Ce model poate suporta cele mai mici cerinte?
  • Care sunt riscurile implicate?
  • Si cel mai important, Cum puteti trece la un alt aranjament, daca este necesar?

Inainte de a continua, discutati cu dezvoltatorii dvs. daca un singur server + N coada rezolva de fapt toate problemele dvs.

In sectiunea urmatoare, va va ajuta sa optimizati aplicatia de intalnire pentru o performanta mult mai buna atunci cand vine vorba de node.js care serveste fisiere statice.

Caching-ul API pentru a face node.js mai rapid

Asa cum v-am spus mai devreme, node.js nu este cel mai eficient cadru pentru a servi continut static (de ex. Imagini). O metoda de memorie in cache ar aduce o imbunatatire a performantei uriasa pentru node.js. Orice solicitare cu memorie in cache pare sa fi fost procesata instantaneu unui utilizator.

Din simplitate, ganditi-va la Caching ca la ceva care stocheaza temporar informatii, astfel incat acestea sa fie usor de recuperat atunci cand un utilizator o solicita din nou.

Luati imaginea de mai jos ca referinta, fara Caching (in acest caz Nginx), aplicatia dvs. ar mentine deschise conexiunile de priza mai mult decat cele necesare fara niciun motiv. Liniile albastre indica solicitari HTTP, liniile rosii indica conexiuni ale soclului.

Caching-ul reduce drastic numarul de apeluri pe care aplicatia trebuie sa le efectueze in baza de date principala. Cu propriile lor coborasuri, exista trei moduri de a implementa memoria de cache in aplicatia dvs.:

  • Conectare directa a cache-ului
  • Un strat de memorie in cache API
  • Memorie cache locala

Sau, toate le pot servi in scopuri diferite in aplicatia dvs. Pentru un MVP, asta va fi o excesiva.

Realizarea unei aplicatii de intalnire in siguranta

Aplicatiile de intalnire sunt adesea vulnerabile. Si, exista tactici simple prin care informatiile private ale unei persoane pot fi extrase pentru a induce rau.

In timp ce construiti un MVP, imposibilitatea unei startup-uri de a cheltui sute de mii de dolari este de inteles. Acestea fiind spuse, ar trebui sa aveti grija de exploatarile comune usor de remediat .

Un exploat bine cunoscut este Trilalterarea.

Cum functioneaza Trilalterarea?

Aplicatiile de intalnire impartasesc adesea informatii despre locatie in aplicatia utilizatorului.

Cu toate acestea, utilizatorul ajunge sa vada „3 mile distanta” sau „5 mile distanta” in interfata de utilizare a aplicatiei:

Dar, daca jucati putin cu backend-ul, veti gasi distante ale utilizatorului sub forma „3.01156” sau „5.223254”.

Pentru a obtine o locatie exacta a unui utilizator, tot ce ai nevoie aici este sa creezi doar trei profiluri diferite, cu 3 locatii arbitrare in aceste conturi.

Vei obtine apoi 3 distante, sa zicem „3.01156”, „3.10022” si „3.00011”. Oricine poate continua cu Trilaterarea pentru a obtine o locatie aproximativa buna a utilizatorului tinta.

In timp ce Tinder obisnuia sa furnizeze aceste informatii, nu mai au. Dar, vedem ca multe aplicatii continua sa faca asta, compromitand securitatea utilizatorului. De cele mai multe ori, antreprenorii din spatele unor astfel de aplicatii nici nu stiu ca este atat de usor sa obtii exact locatia.

Expunerea informatiilor utilizatorului poate fi fatala pentru utilizatorii aplicatiei. Grindr, o aplicatie pentru intalniri gay, de asemenea, a distribuit informatii la fel ca Tinder. Autoritatile egiptene au exploatat aceste informatii pentru a obtine locatia exacta a persoanelor gay si le-au executat .

Pentru a evita acest lucru, pur si simplu nu furnizati informatii precise despre locatie pentru UI-ul dvs. mobil.

O alta modalitate prin care hackerii au acces la datele utilizatorului este prin decompilarea aplicatiei.

Decompletarea unei aplicatii de intalnire

Este extrem de usor sa decompilati aplicatia. Dupa ce codul dvs. a fost decompilat, atacatorii pot:

  • Sursati toate codurile de identitate ale backend-ului si codul de autentificare al unei terte parti, pe care le pot utiliza pentru a obtine acces la serverul aplicatiei.
  • Vedeti mesajele de depanare daca nu sunt dezactivate de dezvoltatorii de aplicatii. Acest lucru permite atacatorilor sa acceseze fluxul potential de informatii sensibile.

Pentru a face munca unui atacator un pic mai dificila, trebuie sa:

  • Obfusca codul sursa. Nu ar trebui sa fie in text simplu.
  • Asigurati-va ca niciun certificat de autentificare nu este codat cu cheie tare in codul sursa.

Criptare si hashes criptografice

Fiecare comunicare pe care aplicatia dvs. o face cu serverul ar trebui sa fie criptata. Aici va fi suficienta o criptare criptografica bazata pe PGP.

Nu recomandam hash-uri criptografice, deoarece este foarte usor sa cumparati sau sa descarcati o lista de hase pentru toate numerele de telefon.

Masurile de securitate enumerate aici sunt extrem de usor si rentabile de implementat, ceea ce face cea mai buna tehnologie de securitate pentru o aplicatie de intalnire MVP.

Implementare chat in timp real

Cand utilizatorii dvs. se potrivesc, vor schimba mesaje inainte de a se intalni.

Acum, trebuie sa stiti ca exista o diferenta imensa intre o chat simpla si o implementare a chat-ului in timp real . Prima cere utilizatorilor sa reimprospateze aplicatia pentru a primi mesaje noi, in timp ce ulterior, chat-ul primeste actualizari automat.

O aplicatie de chat simpla (HTTP) ar putea:

  • Deseuri resurse inutile
  • Ofera performante slabe si experienta utilizatorului
  • Nu exista nici o asigurare ca mesajele vor fi livrate la timp
  • Nu vor scala corect si in cele din urma nu vor reusi

Chat-ul in timp real este prezent in fiecare aplicatie de chat celebra pe care am vazut-o pana acum.

Cum sa implementati chat-ul in timp real in aplicatia dvs. de intalnire?

Ei bine, puteti face asta prin:

  • Programarea soclurilor
  • Integrare server XMPP
  • Utilizarea SDK-urilor terte parti precum WeChat

Fiecare are propriul merit si demerit. Ultima este utilizata mai ales daca exista o restrictie bugetara.

Programare prin soclu?

Implementarea unei functii de chat de la zero nu este cea mai preferata solutie pentru start-up-uri.

filme porno violata http://amr-mcis.mobi/__media__/js/netsoltrademark.php?d=adult66.net/
filme porno sex in grup http://intermonetary.net/__media__/js/netsoltrademark.php?d=adult66.net/
porno big ass http://officialbatmancostume.com/__media__/js/netsoltrademark.php?d=adult66.net/
filme porno pe bani http://ind-e-app.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/amatori
moldovence porno http://southcoastrail.net/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/anal
matrimoniale porno http://coinmarketinsider.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/asiatice
porno forced http://drmel.org/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/beeg
porno pamela anderson http://goodwoodmods.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/blonde
porno la tara http://camouflageconcrete.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/brazzers
porno cu ejaculari http://thankgodimfired.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/brunete
porno mame http://protoaid.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/chaturbate
male porno http://indiadatabase.com/__media__/js/netsoltrademark.php?d=adult66.net/tanara-minora-violata-in-propriul-dormitor-de-doi-necunoscuti
filme porno cu eleve gratis http://michigansmarketplace.com/__media__/js/netsoltrademark.php?d=adult66.net/doua-tarfe-lesbiene-cu-tatuaje-fac-o-partida-de-sex-de-neuitat
retro porno http://stsits.com/__media__/js/netsoltrademark.php?d=adult66.net/amatoare-de-sex-are-orgasm-in-timp-ce-se-masturbeaza
filme porno tub http://agstarroot.net/__media__/js/netsoltrademark.php?d=adult66.net/tanara-de-16-ani-prinsa-de-frate-in-timp-ce-se-masturbeaza-cu-vibratorul-in-pat
simona sensual porno http://dulcimerhammers.com/__media__/js/netsoltrademark.php?d=adult66.net/o-bruneta-focoasa-e-fututa-animalic-pe-la-spate-chiar-in-patul-ei
filme porno cu mame rusoaice http://costaricahemp.com/__media__/js/netsoltrademark.php?d=adult66.net/doi-amatori-draguti-fac-sex-pe-canapea-si-au-orgasm
download porno http://longfencecomplaints.com/__media__/js/netsoltrademark.php?d=adult66.net/creola-de-18-ani-este-fututa-in-punctul-g-pana-are-orgasm
porno sua http://spritenites.com/__media__/js/netsoltrademark.php?d=adult66.net/negresa-originala-suge-pula-si-apoi-e-fututa-pe-la-spate
filme porno cu aletta ocean http://gemvault.org/__media__/js/netsoltrademark.php?d=adult66.net/blonda-beata-face-sex-oral-unui-stripper-pe-scena

Este nevoie de prea mult timp si efort pentru a-l construi.

Exista un motiv pentru care Layer percepe 1.500 USD pe luna . Un mod mai bun este sa mergi fie cu Firebase, fie cu OpenFire. Ambele furnizeaza protocoale XMPP pentru functionalitatea chat-ului. Ambele sunt optiuni bune si adesea dau rezultate egale.

Cu toate acestea, exista cateva diferente:

  • Firebase este platit; si va avea grija de viteza mare si scalabilitate
  • Openfire, pe de alta parte, este gratuit, dar vei fi responsabil pentru viteza si scalabilitate

Daca nu exista restrictii bugetare, ar trebui sa mergeti pentru Firebase, altfel puteti ramane cu Openfire.

MIT: Multi sustin ca numarul maxim de utilizatori simultan pe care Openfire il poate gestiona este de 4.000. De fapt…

Sisteme ca Unix limiteaza numarul de solicitari deschise pe care le poate avea Openfire. De obicei este setat ca implicit la 4.000. Puteti personaliza si creste usor.

Aceasta configuratie poate gestiona cu usurinta pana la 50.000 de utilizatori activi in acelasi timp. Alte avantaje ale utilizarii XMPP:

  • Mai rezistent la cenzura
  • Experienta Muti-dispozitiv, sincronizare a mesajelor

Layer este o alta optiune buna pentru a construi functionalitatea chat-ului in aplicatia ta.

Utilizeaza blocuri de constructie preambalate pentru infrastructura de chat, spre deosebire de solutiile de chat personalizate. Aceasta reduce drastic timpul necesar construirii functionalitatii chatului:

Stratul este extrem de scump si doar un procent mic de startup-uri si-ar putea permite utilizarea acestuia. Acestia sustin ca este o solutie unica pentru chat in aplicatiile de intalnire si furnizeaza totul, de la GIF-uri, stickere, muzica sau orice alt mediu bogat.

Dar de multe ori am vazut cazuri de utilizare unice in care stratul se scurteaza. De exemplu, nu exista nicio functie predefinita „ Ultima vedere ” in Layer si necesita un dezvoltator sa personalizeze implementarea Layer pentru a o implementa.

O alta parte interesanta a dezvoltarii unei aplicatii de tip dating Tinder este algoritmul de potrivire.

Cum functioneaza algoritmul Tinder?

Pe o nota deprimanta, nimeni, cu exceptia catorva, nu stie ce se intampla exact in spatele algoritmului Tinder. Dar, la scara macro, este o combinatie de invatare automata inspirata de dinamica sistemului real din lume pentru a oferi cele mai multe profiluri contextuale utilizatorilor sai.

Acest lucru s-a dovedit extrem de eficient atunci cand vine vorba de potrivirea exacta a utilizatorilor. Crearea unui algoritm adecvat de invatare a masinilor inseamna costuri generale pentru startup-uri. Adesea creste costul total al proprietatii de 4-5 ori.

Deci, ce ar trebui sa faca o pornire?

Ei bine, daca nu aveti un tip de invatare in masina in echipa dvs., puteti oricand sa va observati nisa si sa aflati cum interactioneaza si cum stimuleaza relatiile. Iata cateva atribute generale pe care ar trebui sa incercati sa le mapati:

  • Gradele de conexiune – Modul in care gradele de conexiune (1, 2 si 3) afecteaza succesul realizarii potrivirii. Retineti ca, ar putea exista doua tipuri diferite atunci cand vine vorba de grade de conectare: 1. Din ecosistemul dvs. de intalnire 2. De pe Facebook.
  • Influenta similitudinii / disimilarii – Aici ar fi evaluat in principal modul de a adauga greutati la interese similare sau diferite pentru a face procesul de eficientizare a meciului.
  • Finalizarea profilului – Un profil de intalnire incomplet spune multe despre un utilizator. Puteti analiza diverse campuri din profilul de intalnire al utilizatorului pentru a ajusta algoritmul dvs. De exemplu, puteti adauga greutate la ecuatia de intalnire daca utilizatorul are o imagine de profil, a adaugat detalii despre lucrari, numarul de caractere folosite pentru a se descrie singur, sau daca a adaugat sau nu detalii personale etc.
  • Sunt activate notificarile Push? – Aplicatiile sociale au o rata de opt-in de notificare push iOS de 30–45%. Aceasta partinire a propunerilor de valoare sensibile la timp serveste ca un parametru important in algoritmul de intalnire. Un utilizator care opteaza ar putea intelege intuitiv ca notificarile push vor juca un rol important in functionalitatea aplicatiei de intalnire. seriozitate fata de ecosistemul de intalnire.
  • Parametri in legatura cu nisa – Acesti parametri sunt extrem de specifici nisei tale. De exemplu, daca construiti o intalnire profesionala, poate doriti sa adaugati o anumita greutate numarului de studii profesionale pe care a obtinut-o o persoana.

Prin observare, testare si iteratii, puteti gasi cu usurinta o formula matematica care poate oferi o precizie de pana la 90% pentru MVP.

Algoritmul de potrivire a tinderii: ecuatia de dragoste

Formula de clasare a unui utilizator pe o scara de 100 ar putea arata astfel:

Puncte = H1 (min (gradul I, x1) / x1) + H2 (Grad pe Facebook) + H3 + H4 (min (gradul 2, x4) / x4) + … + Hn (yn)
Hi este coeficientul variabilelor independente xi si yi.

Pe masura ce aplicatia maturizeaza si capata mai multi utilizatori, diversitatea si complexitatea interactiunilor face dificila potrivirea utilizatorilor folosind o formula matematica exacta. Cand se va intampla acest lucru, va fi momentul potrivit pentru a migra catre invatarea masinii catre utilizatorii potriviti.

Imbunatatirea calitatii utilizatorilor

Multe aplicatii de intalnire sufera de profiluri false, care devalorizeaza deseori ecosistemul de intalniri si ii alunga pe utilizatori. Problema este atat de grava, incat exista multe ghiduri pe internet pentru a detecta profiluri false de intalnire.

La nivel foarte de baza, ati putea solicita utilizatorilor sa se inscrie pe Facebook si sa isi verifice identitatea din datele Facebook. Acum, cat credeti ca va dura pentru a crea un profil Facebook fals?

Probabil un minut (si mai putin!).

O solutie usoara: puteti prelua datele utilizatorului de pe Facebook, puteti pune un prag la numarul de utilizatori, informatii despre profil, like-uri, etc., pe care trebuie sa le aiba un utilizator valid.

Acest prag poate reduce cu usurinta profilurile false de pe Facebook. Un alt mod bun de a imbunatati calitatea utilizatorului vine din moderarea continutului.

Moderarea continutului in aplicatiile de intalnire

Aplicatiile de intalnire sunt deseori inundate cu tot felul de spam si continut inadecvat pe care ti-l poti imagina.

In plus, deseori exista cazuri de bullying si hartuire pe astfel de aplicatii. Si nu ar trebui sa fie abordat intamplator.

Poti:

  • Oferiti utilizatorilor o modalitate de a raporta continut inadecvat sau hartuire de orice fel.
  • Puteti adauga un prag, de exemplu un prag (de cate ori a fost raportat un continut / profil) dupa care continutul / profilul este sters / suspendat
  • Fa ambele

La primirea steagurilor, un admin poate modera manual si intreprinde actiuni justificate.

Prelucrarea platilor

Achizitiile facute pe aplicatii de intalnire se incadreaza, in general, in categoria bunurilor digitale. Prin urmare, utilizarea oricarei Gateway de plata este interzisa.

Pentru a procesa achizitiile din aplicatie in aplicatia dvs., trebuie sa integrati portofelul Apple si Google in aplicatia dvs.

De ce sa construiti o aplicatie de intalnire in acest fel?

Aplicatiile de intalnire rareori fac suficienta monetizare in avans pentru ca dezvoltatorii sa supravietuiasca in primele zile. Si momentul in care numarul de utilizatori incepe sa creasca, creste nevoia unei infrastructuri de aplicatii fiabile, precum si a costurilor operationale pentru a o rula.

Si, vine un moment in care nu mai este fezabil, iar startup-urile trebuie sa caute deseori finantari. Viitorii dvs. investitori nu vor distra aplicatiile construite pe baza constructorilor de aplicatii si a scripturilor de clone, ar putea considera ca este o actiune care nu este atat de serioasa.

La urma urmei, daca credeti ca ar trebui sa investeasca in startup-ul dvs., de ce nu ati investi in el? Dreapta.

Etichete

Abonati-va pentru a obtine cotidianul dvs. de povesti de top tech!