Webhook - integrare independentă a serviciilor de la terți. Ce date sunt stocate în istoricul browserului? Motive pentru consumul crescut de resurse

Nu este un secret că ce o cantitate mare Datele pe care le ai despre clienții tăi, cu atât mai multe oportunități ai de a construi comunicări mai personalizate cu clientul, ceea ce afectează direct conversia, loialitatea și profitul.

Cu toate acestea, odată cu creșterea rapidă a cantității de date, există dificultăți tot mai mari în gestionarea eficientă a acestora. Un magazin online modern cooperează cu un numar mare parteneri de marketing, etichete și servicii pentru care munca eficientaîntr-un fel sau altul este necesar să transmiteți diverse date despre proprii utilizatori.

La rândul său, fiecare astfel de partener are anumite cunoștințe unice despre client, care ar fi utile și magazinului online. Cu toate acestea, recuperarea acestor date nu este uneori atât de ușoară. În plus, odată ce încetați să lucrați cu partenerul dvs., acesta poate fi pierdut pentru totdeauna.

Fiecare serviciu terță parte deține o bucată din „puzzle”, cunoscând unele informații despre utilizator. Cu toate acestea, magazinul nu are un profil de utilizator unificat și holistic.

Mai jos este un exemplu de date pe care le poate avea fiecare dintre sistemele terțe. Toate aceste date sunt adesea izolate și magazinul online nu știe cum să le obțină:

Devine din ce în ce mai clar că este nevoie de implementare și standardizare a procesului de transfer a datelor utilizatorului de la un magazin online la un partener (la etichete terțe) și înapoi. Problema este că toate sistemele afiliate au propria lor structură de date, le colectează și le transmit în moduri diferite.

Acest lucru duce la faptul că datele din partea clientului nu sunt organizate în niciun fel. Nu există ordine, integritate sau coerență. Nu există niciun control asupra modului în care și de către cine sunt colectate și utilizate datele.

Încercarea de a înțelege acest haos de date elimină o cantitate mare timp și bani, ceea ce nu corespunde deloc unei culturi rapide și flexibile bazate pe date. Angajații magazinelor online trebuie să petreacă timp pe lucruri de rutină și integrări nesfârșite, în loc să lucreze la sarcini strategice care afectează direct profiturile. Acest lucru încetinește semnificativ viteza și eficiența organizației în ansamblu.

Prin urmare, cele mai inovatoare companii și-au dat seama că înainte de a desfășura orice activitate de marketing, este necesar să se rezolve problema organizării datelor o dată pentru totdeauna.

Proiectul http://digitaldata.readme.io, lansat acum câteva zile, este conceput pentru a rezolva această problemă!

Ce este Digital Data Layer?

Astăzi, orice site web modern are zeci de servicii terțilorși etichete. Fiecare dintre ei performează sarcini diferiteși utilizează datele în format propriu. Astfel, procesul de integrare a unor astfel de servicii devine complex și ineficient. Codul site-ului devine murdar și viteza de încărcare scade. Lucrurile devin și mai complicate atunci când devine necesar să se transfere date între sisteme și etichete terțe.

Standardul a fost creat pentru a rezolva această problemă. Date digitale Strat. Acest set deschis reguli care definesc standarde de interacțiune și transfer de date între site și sisteme terțe.

Strat de date digitale (DDL)- asta este global obiect JavaScript, care conține toate variabilele dinamice care reflectă starea curentă a paginii și a sesiunii utilizator. Toate variabilele din DDL pot fi utilizate în sistemele de management al etichetelor, cum ar fi Google Tag Manager, precum și alți furnizori și scripturi instalate pe site.

De exemplu, DDL-ul poate conține informații despre produsele care sunt vizualizate (id, preț etc.), informații despre utilizator (nume, e-mail, dacă acest utilizator este nou sau revine, dacă este sau nu abonat la newsletter), sau informații despre produsele care tocmai au fost achiziționate pe un site de comerț electronic.

Beneficiile utilizării

CURAȚIA CODULUI

Dacă te uiți în codul Managerului de etichete Google, vei vedea ce haos se întâmplă acolo. Datele nu sunt organizate. Nu există ordine, integritate sau coerență. Nu există niciun control asupra modului în care și de către cine sunt colectate și utilizate datele.

Fiecare serviciu terț își impune propriul format pentru transmiterea acelorași date. Codul site-ului dvs. se transformă într-un depozit de apeluri către etichete terță parte, ceea ce duce la dificultăți în înțelegerea a ceea ce se întâmplă pe site.

Cu Digital Data Layer, codul devine unificat și organizat. Aceleași date sunt folosite de mai multe ori și pur și simplu convertite în diferite formate.

SEGMENTARE AVANSATĂ

Prezența unui Strat de date digitale implementat deschide oportunități pentru segmentare avansată. De exemplu, DDL vă permite să vizați campanii de marketing pe baza anumitor criterii:

  • Vizează utilizatorii cu LTV > 100.000 de ruble.
  • care sunt pentru luna trecuta Nu am deschis niciun e-mail din lista de corespondență.

DDL vă permite, de asemenea, să vizați utilizatorii folosind date istorice și date furnizate de scripturi și etichete terțe.

ANALITĂ

Pe fiecare pagină în care este implementat Digital Data Layer - sisteme analitice a avea ocazia de a colecta informațiile care se află în el. Acest lucru deschide oportunități suplimentare pentru analiză și înțelegerea modului în care diverse variabile afectează conversia.

Dar, mai important, deținerea acestor date ajută la determinarea probleme potentiale Pe net. Ipotezele bazate pe date pot fi apoi dezvoltate pentru a le aborda.

GESTIONAREA SERVICIILOR ȘI Etichetelor terțelor părți

Fiecare site web se confruntă foarte des cu necesitatea de a instala și configura noi etichete (scripturi de la furnizori terți). Este ușor de observat că majoritatea etichetelor necesită aceleași date, de exemplu:

  • Comanda ID
  • Pretul comenzii
  • Lista bunurilor achizitionate
  • numele produsului
  • ID produs
  • Tipul paginii

Odată ce integrați Digital Data Layer, veți putea instala noi etichete fără a fi nevoie să faceți modificări codului site-ului. Toate acestea pot fi făcute direct în sistemul dvs. de management al etichetelor.

TRANSFERUL DE DATE ÎNTRE SERVICIILE TERȚILOR

Doriți să afișați redirecționarea numai pentru utilizatorii care nu vă deschid campania de e-mail? Anterior, o astfel de integrare putea dura luni de zile. Acum trebuie doar să încărcați date din ESP despre deschiderea literelor în Stratul de date digitale, ceea ce va permite sistemului de retargeting să construiască segmentul dorit.

MIGRARE RAPIDĂ ȘI NEdureroasă

Doriți să înlocuiți complet oricare sistem terță parte la altul sau să efectueze un test între ei?

Acum migrarea nu vă va dura mai mult de 5 minute. În acest caz, nu vor fi necesare modificări ale site-ului, deoarece toată comunicarea se realizează acum printr-un strat de date standardizat.

BENEFICIE PENTRU TOATE ECHIPĂ

Integrarea Digital Data Layer va fi o investiție de neprețuit în viitorul site-ului dvs., deoarece... în esență, este fundamentul marketingului bazat pe date.

UNDE SA ÎNCEP?

Documentația detaliată și exemple de utilizare a DDL pot fi găsite pe site-ul web ddmanager.ru.

Implementarea DDL durează de obicei între 2 și 5 zile. Odată finalizate, orice noi integrări ale serviciilor terților se vor face de 8-10 ori mai rapid (de multe ori chiar și fără implicarea specialiștilor IT).

Manager de date digitale conţine mult funcții utile pentru lucrul cu evenimente și modificări din DDL. Documentație tehnică mai detaliată poate fi găsită pe site-ul web al proiectului - http://digitaldata.readme.io/docs/working-with-events

În plus, Digital Data Manager vă permite să adăugați integrări personalizate, cu care puteți utiliza date DDL și le puteți transfera Google Analytics, GTM, Driveback, Retail Rocket, Criteo și orice alt sistem terță parte.

Permiteți-mi să încep cu faptul că am fost odată forțat să mă ocup de serviciile Web pe cont propriu. Apoi, cumva, încetul cu încetul, am reușit să stăpânesc această chestiune și să înțeleg ce și unde să apăs pentru ca totul să funcționeze. Din fericire, configurația cu care a trebuit să lucrăm era deja umplută A fost posibil să o privesc folosind serviciile Web și să o facem prin analogie, iar pe Internet am putut găsi suficiente articole pe această temă. Și așa, folosind exemple (pentru mine este Cel mai bun mod studiu), am stăpânit această chestiune și acum nu mă mai sperie.

ASA DE. Sarcina principală a oricărei integrări, fie că este vorba despre CD, servicii Web sau servicii HTTP, este să transferați ceva de undeva, să faceți ceva cu el și să returnați un răspuns. Acesta este formatul în care vom lua în considerare noua tehnologie.

În arborele de metadate, serviciile HTTP sunt situate în ramura General:

Adăugat serviciu HTTP nou la fel ca orice alt obiect de metadate. Numele și sinonimul după cum doriți. Numai „Adresa URL rădăcină” este importantă aici - acesta este, de fapt, identificatorul Serviciul HTTP în această bază de date, de ex. exact ceea ce scrieți în această proprietate este ceea ce veți trece unui dezvoltator terț(sau pentru tine) ca link către serviciu.

Nu știu dacă se poate scrie aici în chirilic, dar pentru a nu fi de râs în lumea progresistă, scrie în latină).

Proprietatea Template în sine este importantă aici:

Folosind un șablon, vă puteți referi ulterior la datele care v-au fost transferate. ASA DE: toate datele pe care doriți să le primiți din exterior pot fi împărțite în 2 blocuri - obligatoriu și opțional.

Date/parametri necesariîl împingem în șablon, astfel dacă persoana care accesează serviciul nu le completează, atunci serviciul va genera a priori o eroare, iar la dezvoltarea textului modulului de gestionare, veți fi sigur că aceste date sunt acolo. Cum se face acest lucru: în linia Model în paranteze „()”, alternând cu semnul „/”, scriem numele variabilelor. De exemplu, ne trebuie neapărat un articol - apoi scriem /(articul). Dacă trebuie să obținem articolul, numele și numele de utilizator, șirul șablonului va arăta astfel: /(articul) /(nume)/(utilizator), etc. Fiecare dintre acești parametri din textul modulului de gestionare poate fi obținut astfel: Request.ParametersURL["<имя параметра>"]. Dacă nu există cele necesare, atunci șablonul arată astfel: /*.

Date opționale, pe care dorim să le primim prin intermediul serviciului, NU sunt descrise în șablon. Când construiți o legătură pentru a accesa un serviciu, acestea sunt descrise la sfârșitul linkului după semnul „?”, separate prin caracterul „&” și au structura<имя параметра>=<значение параметра>. În textul modulului de gestionare, acestea pot fi accesate cu următorul construct: Request.RequestParameters.Get("<имя параметра>"). DAR: este important să ne amintim că, deoarece nu sunt necesare, este posibil să nu existe; prin urmare, verificăm valoarea pentru Nedefinit.

În continuare adăugăm noua metoda pentru șablonul nostru. Proprietatea metodei HTTP este importantă aici. Sunt un număr foarte mare, DAR nu vom intra în toate detaliile. Pentru a implementa oricare dintre sarcinile dvs. aveți nevoie doar de 2: OBȚINEȘi POST.

Cum să alegi: Dacă ceea ce am descris în cele două paragrafe anterioare este suficient pentru munca ta, de ex. Puteți obține toate datele de care aveți nevoie folosind parametrii obligatorii și opționali ai cererii în sine, apoi luăm GET. În acest caz, în orice browser, dacă intri corect în bara de adrese, vei vedea rezultatul serviciului tău HTTP - PROFIT! Dacă dintr-o dată serviciul dvs. necesită date în mai multe formă complexă(xml de exemplu, sau altceva), ceea ce nu poate fi introdus într-o simplă bară de adrese, apoi luăm POST. În dezavantaj, o verificare atât de ușoară prin bara de adrese a browserului, ca și în cazul GET, nu va funcționa, dar pe Internet puteți găsi cu ușurință câteva site-uri unde puteți verifica servicii folosind metoda POST (de exemplu, site-ul https:/ /www.hurl.it) . Dacă metoda este selectată POST, apoi cererea în plus Adresa URL (adrese) apare un corp în care puteți introduce orice, iar în handlerul de metodă accesați-l prin constructul Request.GetBodyAsString(). Orice șablon poate avea atât o metodă GET, cât și o metodă POST. Ei vor avea handleri corespunzător diferiți, iar 1C, în funcție de modul în care a fost trimisă cererea, va alege o metodă sau alta.

Un handler de serviciu HTTP este o funcție care returnează întotdeauna o valoare de tip HTTPServiceResponse, care este construită de constructorul New HTTPServiceResponse(<КодСостояния>). <КодСостояния>- acesta este un număr, pentru a nu fi nevoit să vă faceți griji cu privire la alegerea ce să scriem, scriem: 200 - dacă totul este bine și returnați o valoare logică, 400 - dacă există o eroare și returnați o descriere a erorii . U de acest tip Există diverse metode(o puteți citi în asistentul de sintaxă, totul este scris clar acolo). Din nou, puteți returna oricând tot ce aveți nevoie ca șir - metoda SetBodyFromString(). (unu mic truc: dacă returnați html și doriți ca browserul să-l afișeze frumos pe ecran atunci când introduceți adresa serviciului dvs. în bara de adrese, în proprietatea Headers de răspuns scrieți: Answer.Headers.Insert("Content-Type","text /html; charset=utf- 8") - astfel indicați că acesta nu este doar un set de caractere, ci HTML și trebuie afișat în consecință)

După ce ați făcut totul, serviciul HTTP trebuie publicat. Acest lucru se face pe un computer cu un server web instalat (nu voi scrie despre setări, sunt multe articole) prin meniu:

Administrare - Publicare pe un server web.

Există o filă Servicii HTTP. Bifați casetele și faceți clic pe „Publicați”

Asa de, am primit un serviciu HTTP gata făcut. CUM să-l contactezi? Dacă folosim metoda GET, atunci în bara de adresa browser scrie: http://<имя веб сервера>/<имя базы>/hs/<корневой URL>/<обязательный параметр1>/<обязательный параметр2> <имя не обязательного параметра 1>=<значение не обязательного параметра 1>&<имя не обязательного параметра 2> =<значение не обязательного параметра 2> .

Și în sfârșit, încă o dată în imagini))):

La începutul lunii decembrie a avut loc lansarea mult așteptată a versiunii desktop client de mail Spark pentru macOS. Această aplicație este populară pe iPhone și iPad datorită designului său atractiv, a tuturor funcționalităților necesare (dar nu redundante) și cantitate mare opțiuni populare de tip de fixare scrisori importante, inbox inteligent, chitanțe citite și așa mai departe. Compania Apple a adăugat rapid Spark pentru macOS la listă cele mai bune aplicații an in Aplicația Mac Magazin, care a sporit doar popularitatea acestui client de e-mail. Personal, folosesc Spark pe iPhone, iPad Pro, iar de la începutul testării beta a versiunii desktop, a abandonat AirMail „greu” pe Mac. Cu toate acestea, clientul de e-mail gratuit cu interfață ușor de utilizatși încă are o funcționalitate excelentă roci subacvatice. Dezvoltatorul Vladimir Shabanov de pe Facebook a atras atenția utilizatorilor asupra politicii de confidențialitate a Spark.

De ce sunt periculoase cele neoficiale gratuite aplicații de e-mail ca Spark? Deoarece au acces la toate scrisorile tale în afara laptopului, iPhone-ului și Gmail pe serverul lor - și atunci când este piratat, majoritatea conturilor tale din magazine, rețele sociale, sisteme de plată, întâlniri, rezervări, steam și dropbox-uri vor fi, de asemenea, piratate. . Iar companiile care dezvoltă aceste aplicații nu au niciun stimulent să investească în securitate, deoarece nu vă taxează pentru aplicație.

Pentru a nu copia prea mult text mare cu fundal, sfaturi și concluzii, vă recomandăm citiți despre Spark în publicația lui Vladimir Shabanov. Și la iG, ne-am întrebat: care este situația reală cu colectarea și stocarea datelor utilizatorilor atunci când se utilizează clienți de e-mail terți? Pentru a face acest lucru, am analizat secțiunile „Politica de confidențialitate”, care sunt nepopulare printre majoritatea utilizatorilor și am selectat de acolo principalele fapte pe care trebuie să le cunoașteți atunci când utilizați clienți de e-mail terți pe Mac. Scurt despre care vorbim că aproape toate aplicațiile trimit date despre utilizatori, inclusiv adrese, către serverele dezvoltatorilor E-mail, în unele cazuri, parole, texte de e-mail, liste de contacte, date din calendar și diverse date anonimizate. Și unele aplicații chiar colectează informații despre dispozitiv, numere de telefon, locație sau copiază complet toate datele disponibile în contul de e-mail pe server. De asemenea, le-am întrebat pe Yandex și Mail.ru cu privire la colectarea datelor și scrisorilor utilizatorilor atunci când lucrăm cu conturi de servicii terțe și despre mecanismul de trimitere a notificărilor push despre noile scrisori, dar reprezentanții companiei nu au putut răspunde prompt la solicitarea editorului.

Desigur, fiecare dezvoltator susține asta informații despre utilizator stocate pe servere de încredere, cum ar fi Amazon Web Servicii și toți iau câteva măsuri suplimentare de protecție. Cu toate acestea, este necesar să spunem că nu vorbim de securitate sută la sută? În timp ce cele mai mari și mai de încredere companii de internet scurg uneori date despre utilizatori, bazarea pe protecția startup-urilor mici ar fi nechibzuită. Pe de o parte, puteți elimina toate amenințările sub pretextul că nu există date secrete în e-mailul dvs., dar nu uitați că chiar și în cea mai plictisitoare cutie poștală există o mulțime de lucruri interesante pentru atacatori. În prezent, adresa de e-mail servește ca un identificator cheie la care sunt legate conturile sistemului de plată, retele sociale, diverse site-uri și servicii, iar în unele cazuri parola de e-mail se potrivește cu alte conturi, ceea ce crește posibilele daune cauzate de hacking. Mai simplu spus, nu poți fi neglijent atunci când alegi un client de e-mail și când îl folosești software terță parte Este imperativ să înțelegeți exact ce date le transmiteți dezvoltatorilor.

Scânteie


1. Pe lângă impersonal informatii statistice Când utilizați aplicația, vi se poate cere să furnizați câteva informații personale.
2. Prima adresă de e-mail adăugată este folosită ca nume de utilizator. Vă poate trimite e-mailuri cu informații despre funcții noi, actualizări, anunțuri și solicitări de a oferi feedback cu privire la utilizarea dvs.
3. Serverele Spark sunt folosite doar pentru a trimite notificări push și, în unele cazuri, pentru a trimite e-mailuri.
4. Conturile sunt adăugate folosind autentificarea OAuth, dacă este posibil. În caz contrar, adresele și parolele sunt stocate pe un server cloud Amazon Servicii Web.
5. În plus față de politicile de securitate Amazon Web Services, Spark utilizează o serie de măsuri pentru a împiedica terții să acceseze date, precum și Protocolul HTTPSși criptarea asimetrică a datelor contului.
6. Spark încarcă subiectul și o parte din e-mail pe server pentru a trimite notificarea push și șterge aceste date imediat după livrarea notificării. Mesajele sunt stocate criptat pe server.


1. Clientul de corespondență poate solicita transferul voluntar de date precum numele, adresa de e-mail, numărul de telefon și cardul bancar.
2. Polymail colectează și stochează date despre scenariile de utilizare ale aplicației și funcțiile acesteia, precum și dispozitive mobile pe care rulează, inclusiv: sistem de operare, model de smartphone sau tabletă, identificatori unici dispozitive, informații comunicatii mobile si numarul de telefon.
3. Când folosesc Polymail, dezvoltatorii pot colecta informații despre locația utilizatorului, adresele IP, date GPS, precum și informații de la alți senzori ai dispozitivului mobil.
4. Polymail colectează și stochează informații despre contactele utilizatorilor cu care faceți schimb de scrisori. Aceste date sunt folosite pentru a îmbunătăți serviciul.
5. Polymail colectează și stochează informații despre e-mailurile trimise (subiect și atașamente) pentru a oferi funcționalitate de confirmare de citire.
6. Pentru a îmbunătăți serviciul Polymail, indexăm litere: data la care a fost primit mesajul, folderele și numele expeditorului.
7. Cookie-urile și alți identificatori anonimi sunt colectați și stocați de Polymail și partenerii săi.


1. Poștal Client de poștă aeriană nu colectează și nu stochează e-mailuri pe serverele cloud. Când utilizați opțiuni precum Amânați sincronizarea, toate datele necesare sunt sincronizate direct între dispozitive.
2. Airmail colectează și stochează date precum cookie-uri, informații anonime despre scenariile de utilizare a aplicațiilor și adrese de e-mail.
3. Cookie-urile sunt colectate și utilizate doar în scopul identificării utilizatorului pentru a salva setările și pentru a oferi serviciile solicitate de utilizator.
4. În unele cazuri, accesul la datele colectate și stocate pe servere poate fi oferit anumitor angajați asociați cu activitatea Airmail: administratori, specialiști în vânzări, marketeri, avocați.
5. Datele utilizatorului sunt colectate pentru operarea Airmail, precum și în următoarele scopuri: interacțiunea cu rețelele și platformele sociale terțe, gestionarea contactelor și trimiterea de mesaje, analize, remarketing, behavioral targeting, în scopuri comerciale, pentru procesarea plăților, interacțiune cu serviciul suport tehnicși feedback.


1. Dacă contul nu acceptă autentificarea OAuth, datele de conectare și parola sunt stocate pe serverul cloud AWS.
2. Pornit servere cloud e-mailurile sunt descărcate pentru a trimite notificări push.
3. E-mailurile sunt descărcate în ultimele 14 zile pe dispozitivele mobile și 60 de zile pe Mac.
4. Newton primește și stochează informații de la partenerii noștri despre utilizatorii care vă trimit e-mail.
5. Pentru a utiliza caracteristica Citire marcaj, Newton colectează și stochează date despre e-mailurile trimise.
6. Newton promite că nu va vinde sau transfera către terți. Informații personale, și utilizează, de asemenea, protocolul HTTPS și instrumente suplimentare protecție la transmiterea datelor către serverele AWS.


1. Utilizarea clientului de e-mail Canary nu oferă acces la datele personale ale utilizatorilor și nu le transferă pe serverele cloud.


1. La crearea unui cont, Nylas N1 colectează și stochează date personale, cum ar fi adresa de e-mail, numele și prenumele, care pot fi folosite pentru identificare.
2. Când utilizați aplicația, Nylas N1 colectează și stochează date contși parolele asociate.
3. Introducând informațiile contului dvs. de e-mail, sunteți de acord să acordați Nylas N1 dreptul de a face o copie a întregului conținut cutie poștală, calendar și lista de contacte.
4. Nylas N1 folosește, de asemenea, instrumente automate de colectare a datelor, cum ar fi Cookie-uri și Web Beacons.


1. Mail, calendare, fișiere, contacte, setări și alte date din acesta vor fi sincronizate automat cu dispozitivul prin intermediul unui server cloud.
2. Outlook stochează date pe serverele Microsoft pentru asistență caracteristici suplimentare, ca cautare rapida, filtrarea personalizată a e-mailurilor mai puțin importante și adăugarea de atașamente de la furnizorii de stocare conectați.


1. Pe site-ul oficial al aplicației, informațiile din secțiunea „Politica de confidențialitate” se aplică numai funcționării site-ului Unibox în sine. Nu există informații despre colectarea și stocarea datelor personale și anonimizate atunci când utilizați clientul de e-mail Unibox.

De la versiunea 1.6 în Android există un „serviciu caracteristici speciale" Nu este greu de ghicit în ce scop a fost creat, dar noi, ca oameni care luptă pentru posibilități nelimitate, suntem interesați de acest serviciu dintr-un unghi ușor diferit. Astăzi vom scrie un program care ne va permite să monitorizăm intrarea în alte aplicații!

De ce ai nevoie de un serviciu de accesibilitate?

Vă permite să extindeți interfața aplicații regulate pentru a ajuta utilizatorii cu dizabilități sau cei care pot fi temporar în imposibilitatea de a interacționa complet cu dispozitivul. De exemplu, utilizatorii care conduc o mașină, îngrijesc un copil mic sau participă la o petrecere foarte zgomotoasă pot necesita suplimentar sau interfețe alternative părere.

Android are serviciu standard capacitati speciale - Răspunde. Dacă este necesar, dezvoltatorii pot implementa propriile lor. Este posibil să se scrie astfel de servicii din timpuri imemoriale (Android 1.6, API level 4), iar cu Android 4.0 (API level 14) au primit îmbunătățiri semnificative. Prin „biblioteca de suport”, aceste îmbunătățiri sunt implementate și pentru dispozitivele cu versiuni API mai mici de 14.

Acest serviciu vă permite să vizualizați o descriere a tuturor ferestrelor, aplicațiilor care rulează și să primiți datele introduse de utilizator (cu excepția parolelor introduse; sunteți de acord că autentificarea și mesaje text este de asemenea suficientă în multe cazuri).

În acest articol vă voi spune cum să implementați un serviciu pentru interceptarea intrărilor de la tastatură cât mai simplu posibil.

Pentru a face acest lucru, trebuie să creați un moștenitor Serviciul de accesibilitate. În metoda de conectare onServiceConnected trebuie să setăm un filtru de evenimente (class AccesibilityServiceInfo) pe care serviciul îl va asculta. Și în metodă onAccessibilityEvent procesează aceste evenimente.
În manifestul aplicației, trebuie să adăugați următoarele rânduri pentru a descrie serviciul:

Dacă totul este făcut corect, atunci în jurnal puteți vedea ceva de genul:

OnAccessibilityEvent: TYPE_VIEW_TEXT_CHANGED site web android.widget.EditText com.android.chrome 113326642

Clasă AccesibilityServiceInfo vă permite să setați filtre pentru anumite aplicații (cine a spus „bănci mobile” sau „clienți de rețele sociale”?). Putem face capturi de ecran în funcție de evenimentul de care avem nevoie.
Acest lucru se face destul de simplu pe un dispozitiv rootat, iar dacă nu există root, atunci trebuie să căutați biblioteci terțe pentru a obține capturi de ecran de la serviciu.
Exemplu de cod pentru obținerea unei capturi de ecran de la serviciu pe un dispozitiv rootat:

Continuarea este disponibilă numai pentru abonați

Opțiunea 1. Abonați-vă la Hacker pentru a citi toate materialele de pe site

Abonamentul vă va permite să citiți TOATE materialele plătite de pe site în perioada specificată. Acceptăm plăți cu carduri bancare, monedă electronică și transferuri din conturile operatorului de telefonie mobilă.

Găzduire statistici de utilizare a resurselor

Fiecare serviciu de găzduire virtuală RU-CENTER păstrează evidența utilizării următoarelor resurse:

  1. RAM- dimensiunea memoriei alocate pentru rularea software-ului pe gazduire, stabilita in megabyti in conformitate cu planul tarifar.
  2. Timp CPU- timpul în secunde pe care procesorul serverului l-a petrecut executând o sarcină, de exemplu, un script pentru site-ul web. Valoarea limitei de 50% a timpului procesorului din planul tarifar înseamnă că, pe o perioadă de 1 minut, scriptul poate folosi complet 1 nucleu de procesor timp de 30 de secunde. Limita de 200% înseamnă că pentru o perioadă de 1 minut este permisă utilizarea a 2 nuclee de procesor, adică 120 de secunde de timp de procesor.
  3. Numărul de operații pe disc- numărul de operațiuni I/O efectuate de sistemul de stocare pe minut.
  4. Citire HDD- viteza de citire a informațiilor de pe discul serverului, megaocteți pe minut.
  5. înregistrare HDD- viteza de înregistrare a informațiilor pe discul serverului, megaocteți pe minut.

Informațiile despre utilizarea resurselor sunt postate în secțiune ResurseStatistici .

Când faceți clic pe diagramă, accesați informații detaliate despre utilizarea unei anumite resurse:

Când treceți cursorul peste un punct din grafic, veți vedea consumul de resurse în acel moment.

Motive pentru consumul crescut de resurse

În cazul în care limitele tarifare stabilite sunt depășite, se trimite o notificare la adresa de e-mail de contact a contractului despre necesitatea de a analiza situația și de a lua măsuri pentru reducerea încărcăturii pe găzduire.

Principalele motive pentru consumul crescut de resurse:

  1. Folosind un CMS care necesită mult resurse, de exemplu 1C-Bitrix. Alege.
  2. Trafic mare pe site. În acest caz, vă recomandăm să treceți la sau.
  3. Scripturi neoptimizate pe site- scripturi al căror algoritm de execuție este ineficient. De exemplu: calculul datelor cunoscute, metode de calcul neoptimale, cicluri inutile etc.
  4. Interogări neoptimizate de baze de date MySQL. Pot apărea probleme din cauza indecșilor formați incorect, a volumelor mari de date selectate, a imbricarii de interogări mari etc.
  5. Activitatea robotului de căutare. Roboții pot încetini un site dacă există mulți dintre ei și se accesează cu crawlere simultan pentru a-și actualiza baza de date de căutare.
  6. Cod rău intenționat pe site. Încărcarea pe server poate fi cauzată de scripturi rău intenționate care rulează pe găzduire.

Modalități de reducere a consumului de resurse

1. Dezactivați modulele de server web Apache neutilizate și extensiile de module PHP

În mod implicit, modulele Apache sunt activate pe găzduire: auth_module, cgi, realip_module, rewrite_module, autoindex_module, env_module, expires_module

Verificați dacă aveți următoarele module Apache activate și dezactivați-le: Pentru ca majoritatea site-urilor să ruleze PHPȘi MySQL nu sunt solicitate. Puteți face acest lucru în secțiune
Control server webGestionarea modulelor PHP gazduirea panourilor de control. Pentru a vizualiza lista de module, faceți clic pe link Gestionați extensiile.

  • FastCGI- necesar dacă instalați independent orice software pe găzduire care funcționează ca server FastCGI.
  • gzip_module- necesar dacă configurați compresia gzip. Pe lângă activarea modulului, sunt necesare setări suplimentare de compresie în fișier .htaccess. Dezactivați modulul dacă nu utilizați această funcționalitate.
  • mime_magic_module- permite serverului web să determine tipurile de fișiere mime; pentru majoritatea site-urilor, un mime_module standard este suficient.
  • Perl- aka mod_perl, necesar pentru funcționarea scripturilor Perl scrise special pentru mod_perl. Pentru a rula scripturi Perl, în cele mai multe cazuri, este folosit modulul CGI(vezi articolul)
  • proxy_module- necesar dacă intenționați să configurați proxy-ul cererilor folosind serverul web apache.
  • bandwidth_module, usertrack_module, speling_module, limitipconn_module- aceste module consumă o cantitate mică de memorie, dar majoritatea site-urilor nu au nevoie de funcționalitatea lor, așa că pot fi și dezactivate.

Extensiile de module PHP sunt gestionate în secțiunea panoului de control de găzduire Control server webGestionarea modulelor PHPîn conformitate cu instrucțiunile.

  • Accelerator, APC- date cache în RAM, deci necesită o cantitate mare din ele. Pe găzduirea virtuală, nu există suficientă memorie RAM pentru ca aceste module să funcționeze eficient.
  • mysql, mysqli, pdo_mysql- module pentru lucrul cu baza de date MySQL, de obicei site-ul necesită unul dintre ele, dezactivați-le pe cele neutilizate.
  • imagick, g.d.- module pentru lucrul cu grafica, dacă site-ul poate funcționa cu biblioteca gd, este mai bine să o utilizați, deoarece consumă mult mai puțină memorie.
  • imap- vă permite să lucrați cu servere de e-mail folosind protocolul imap; majoritatea site-urilor nu necesită această funcție.
  • dba, sqlite, pgsql, pdo_sqlite, pdo_pgsql- module pentru lucrul cu SGBD-ul corespunzător. Majoritatea site-urilor funcționează folosind SGBD-ul MySQL; aceste module pot fi dezactivate.

Dacă nu sunteți sigur dacă un anumit modul este necesar pentru ca site-ul să funcționeze, puteți analiza impactul unui anumit modul asupra funcționării site-ului, dezactivându-le unul câte unul și verificând funcționarea corectă a site-urilor.

2. Analizați fișierele jurnal ale site-ului

La găzduire, următoarele fișiere jurnal se află în directorul /var/log/:

  • /var/log/your_domain.access.log – jurnalul cererilor către site,
  • /var/log/your_domain.error.log – jurnal de erori.

Le puteți vizualiza atunci când vă conectați la găzduire prin . Puteți descărca fișiere jurnal utilizând managerul de fișiere al panoului de control. Veți putea vedea ce solicitări au fost făcute site-ului în momentele de consum mare de memorie.

Indexarea site-ului de către roboții de căutare, mai ales mai mulți în același timp, un salt în trafic - toate acestea determină o creștere a consumului de memorie. Unele motoare de căutare vă permit să limitați intensitatea solicitărilor roboților lor pe unitatea de timp. Informații despre aceste setări pot fi găsite în documentația acestor motoare de căutare.

3. Verificați funcționarea scripturilor de site cu servere terțe

Dacă site-ul dvs. primește date de la servicii terțe, încetinirea sau indisponibilitatea acestora poate afecta performanța site-ului dvs. Cu cât serviciul terță parte răspunde mai lent, cu atât procesele petrec mai mult în RAM Apache.

4. Analizați funcționarea scripturilor de site și a interogărilor la baza de date MySQL

Optimizarea scriptului ar trebui să aibă ca scop minimizarea utilizării RAM și timpul necesar pentru a executa scriptul. Datele din memoria cache care sunt rar actualizate.

Vă recomandăm să vă consultați cu dezvoltatorii site-ului cu privire la optimizarea interogărilor SQL. Cu cât interogările sunt executate mai rapid de serverul bazei de date, cu atât serverul web va primi mai repede datele necesare, va genera un răspuns către client și va elibera memorie.

Pentru a vizualiza interogările bazei de date care apar la accesarea site-ului și timpul de execuție a acestora, puteți utiliza interfața, tab Procesele.

Optimizarea interogărilor bazei de date ar trebui redusă la următoarele rezultate:

  • toate interogările folosesc indecși pentru a selecta datele,
  • Utilizarea fișierelor temporare și a operațiunilor de sortare a fișierelor a fost redusă la minimum.

Toate aceste date pentru fiecare dintre cereri pot fi obținute folosind comanda EXPLICA conform documentației MySQL.

5. Analizați aspectul site-ului

Vă recomandăm să optimizați aspectul site-ului prin reducerea numărului de elemente încărcate. Cu cât sunt mai puține solicitări către server, cu atât timpul total de procesare a cererilor și numărul de procese de server web care rulează sunt mai mici și, prin urmare, cu atât consumul de memorie este mai mic.

6. Verificați site-ul pentru coduri rău intenționate

Cele mai multe site-uri construite pe baza CMS popular, au anumite vulnerabilități de securitate. Dezvoltatorii lansează în mod regulat actualizări pentru a elimina vulnerabilitățile, dar nu este întotdeauna posibil să se protejeze împotriva hackingului. Acest lucru se datorează faptului că hacking-ul are loc cel mai adesea prin pluginuri terțe sau teme modificate.

Verificați disponibilitatea găzduirii dvs cod rău intenționat prin utilizarea .