Acasă › SDK pentru aplicații iOS și Android
SDK pentru aplicații iOS și Android
Aceeași detecție de roboți ca pe site, pentru aplicațiile tale. SDK-ul trimite sesiuni, ecrane, instalări și evenimente proprii, iar un algoritm propriu arată dacă în spatele lor e un om sau un telefon fals.
Instalare (React Native / Expo)
Adaugi aplicația în panou cu bundle id-ul (iOS) sau package name-ul (Android) și primești o cheie. Apoi instalezi pachetul:
npm install https://t.optimizare-seo-google.ro/sdk/osg-analytics-latest.tgz # recommended, for better signals: npx expo install @react-native-async-storage/async-storage expo-device expo-battery expo-sensors
Folosire
Inițializezi o singură dată, la pornire. Învelești rădăcina aplicației în OsgRoot, ca aplicația să lucreze cu algoritmul nostru propriu de detecție a telefoanelor false.
import Osg, { OsgRoot } from 'osg-analytics';
Osg.init({ key: 'osg_...', app: 'com.example.app' }); // once, at startup
Osg.screen('Home'); // on each screen
Osg.track('purchase', { plan: 'pro' }); // custom events
Osg.setReferral('campaign-x'); // if you learn the referral later
export default function App() {
return <OsgRoot><YourApp /></OsgRoot>; // counts touches, never consumes them
}Ce colectăm
- Sesiuni, ecrane, instalări și evenimentele pe care le trimiți tu.
- Modelul și versiunea de sistem, dimensiunea ecranului și limba.
- Semnale tehnice suplimentare ale dispozitivului, folosite de algoritmul nostru propriu pentru a detecta telefoanele false.
- Prefixul rețelei IP (/24), nu adresa completă. Nu colectăm identificatori de publicitate, contacte sau locație.
Cum recunoaștem telefoanele false
Folosim un algoritm propriu pentru a detecta un telefon fals care accesează site-ul sau aplicația clientului. Nu facem public modul de funcționare, ca să rămână eficient.
Erori
Erorile JS necaptate și promisiunile nerezolvate se raportează singure, înlănțuite peste orice alt handler (red box-ul din development, un alt raportor de crash-uri) fără să-l înlocuiască. Poți raporta și manual, dintr-un try/catch sau un error boundary:
Osg.init({ key: 'osg_...', app: 'com.example.app' }); // captureErrors: true by default
try {
risky();
} catch (err) {
Osg.captureError(err); // fatal defaults to false
}Ce facem cu erorile
Grupăm după mesaj și primul cadru din stack, ca aceeași eroare să apară o singură dată în panou, cu un contor și pașii de dinainte (ultimele ecrane și evenimente). Fiecare eroare vine deja marcată om sau robot, ca un bug real să nu se ascundă în zgomotul unui emulator.
Ce nu facem încă: nu despachetăm stack trace-uri minificate cu source maps și nu prindem crash-uri native (Obj-C, Kotlin), doar erori JavaScript. Un telefon poate trimite cel mult 20 de erori pe minut, iar același bug se raportează de maximum 5 ori per sesiune, ca o buclă de erori să nu inunde nici aplicația, nici panoul.
Referral
Dacă știi de unde a venit instalarea (Play Install Referrer, parametri dintr-un link), trimite-o cu referral la init sau cu setReferral. Prima sursă rămâne pe dispozitiv și apare pe toate evenimentele. Pe iOS, SKAdNetwork nu se poate citi pe dispozitiv, așa că folosește parametrii linkului.
Atestare (Play Integrity, App Attest)
Opțional, îi dai SDK-ului o funcție care întoarce tokenul de atestare. Trimitem doar dacă a existat unul, nu tokenul. Verificarea lui pe server nu e activă încă, deci nu influențează scorul.
Aplicații native (Swift / Kotlin): protocolul HTTP
Fără React Native, trimiți direct același JSON. Colectorul răspunde mereu 204 și nu cere antete speciale.
POST https://t.optimizare-seo-google.ro/c
Content-Type: text/plain
{
"k": "osg_...", // app key from the dashboard
"app": "com.example.app", // bundle id / package name, exactly as registered
"src": "ios", // "ios" or "android"
"v": "installation-id", // random id kept on the device
"s": "session-id", // new after 30 minutes in the background
"sig": { "os": "ios 18.1", "model": "iPhone15,2", "emu": false, "chg": false,
"still": false, "face": "up", "sw_": 393, "sh_": 852, "tc": 12, "lg": 1, "sdk": "native-1" },
"ev": [ { "t": "session" }, { "t": "install", "ref": "campaign-x" },
{ "t": "screen", "u": "Home" }, { "t": "event", "d": { "name": "purchase" } } ]
}
-> 204 No Content (always)
Verifică-ți aplicația gratuit
Adaugă aplicația, instalează SDK-ul și vezi cine o folosește cu adevărat: oameni sau roboți.
Începe gratuit