SensorFlow – Schnellstart
Installieren Sie die Demo ohne Registrierung oder Lizenz. Aktivieren Sie die Lizenz erst für echte Ereignisse der Sensors-Data-SDKs.
Vollständiger Datenfluss
SensorFlow hält Erfassung, Ingestion, Speicherung und Analyse auf Ihren eigenen Servern.
- Offizielle Sensors-Data-SDKs erfassen Ereignisse aus Android, iOS, Web, Mini-Programmen und Servern.
- SensorFlow validiert und verarbeitet eingehende Ereignisse.
- ClickHouse speichert Ereignisdetails; Apache Superset bietet SQL, Diagramme und Dashboards.
Official Sensors Data SDKs -> SensorFlow -> ClickHouse -> Apache SupersetSystemanforderungen
Die lokale Demo benötigt Docker Engine oder Docker Desktop mit Docker Compose v2; Go ist auf dem Host nicht erforderlich.
- Beim ersten Start werden Go-, ClickHouse-, Redis- und Superset-Images geladen.
- Bemessen Sie Produktionsressourcen nach Last, Abfragen und Aufbewahrung; es gibt keine allgemeine Durchsatz- oder Hardwaregarantie.
1. Open-Source-Dienst beziehen
Klonen Sie das SensorFlow-Repository und wechseln Sie in das Stammverzeichnis.
git clone https://github.com/data-analyze-bi/sensorFlow.git
cd sensorFlow2. Dateninfrastruktur starten
Der Installer startet Redis, ClickHouse und Apache Superset; echte Ingestion startet erst nach der Aktivierung.
- Ingestion läuft auf Port 8081, ClickHouse auf 8123/9000 und Superset auf 8088.
- Ändern Sie das Superset-Standardpasswort und setzen Sie in Produktion einen eindeutigen SUPERSET_SECRET_KEY.
./install.sh
# Open the server-IP URL printed after installation.
# After verifying the demo, obtain a license and run:
./activate.sh3. Demo prüfen
Öffnen Sie die vom Installer angezeigte Superset-Adresse und prüfen Sie die synthetischen demo_*-Ereignisse.
- Demodaten sind keine Kundenergebnisse.
- Senden Sie noch keine Produktionsereignisse.
4. Daten prüfen und Ingestion aktivieren
Fragen Sie die Demodaten ab. Laden Sie für echte SDK-Ereignisse eine Lizenz herunter und führen Sie activate.sh aus.
- Der Befehl nutzt ClickHouse in Compose; verwenden Sie bei einer bestehenden Datenbank deren Verbindung.
- Senden Sie nach der Aktivierung ein eindeutig markiertes integration_test-Ereignis und prüfen Sie die Rohdaten.
docker compose -f deploy/docker/docker-compose.yml exec -T clickhouse sh -c 'exec clickhouse-client --user "$CLICKHOUSE_USER" --password "$CLICKHOUSE_PASSWORD" --query "SELECT event, count() FROM sensors.event GROUP BY event ORDER BY event"'
# Download the license, then start real SDK ingestion last
./activate.sh5. Offizielle Sensors-Data-SDKs verbinden
Verwenden Sie das offizielle SDK der jeweiligen Plattform und setzen Sie dessen Upload-URL auf SensorFlow.
- ⚠️ Hinweis zur Drittanbieter-Kompatibilität: Protokollkompatibilität ist keine Sensors-Data-Zertifizierung; testen Sie SDK-Versionen und Plugins vor dem Produktivbetrieb.
- Nutzen Sie Android, iOS, Web, Mini-Programm oder React Native auf Clients sowie Java, Go, Python, Node.js oder PHP auf Servern.
- Prüfen Sie Events, IDs, Eigenschaften, ClickHouse-Speicherung und Superset-Kennzahlen vor dem Umschalten.
https://your-domain.example/sensors/send/?token=YOUR_TOKENOffizielle SDK-Downloads
Die Links führen zu Repositories der offiziellen sensorsdata-Organisation auf GitHub. SensorFlow verteilt diese SDKs nicht weiter. Prüfen Sie Lizenz und Bedingungen der gewählten Version.
Web-/JavaScript-SDK
Erfassen Sie Seitenaufrufe, Klicks, eigene Ereignisse und Nutzerattribute mit dem offiziellen SDK.
- Installieren Sie über npm, yarn oder eine offizielle Browser-Distribution und setzen Sie server_url auf SensorFlow.
- Prüfen Sie SPA-Seitenwechsel, Beacon, CORS und Domains; deaktivieren Sie Debug-Protokolle vor der Produktion.
npm install sa-sdk-javascript
import sensors from 'sa-sdk-javascript';
sensors.init({
server_url: 'https://your-domain.example/sensors/send/?token=YOUR_TOKEN',
is_track_single_page: true, use_client_time: true, send_type: 'beacon'
});
sensors.quick('autoTrack');
sensors.login('USER_ID');
sensors.track('ButtonClick', { button_name: 'Submit' });iOS-SDK
Folgen Sie den offiziellen Anleitungen für CocoaPods oder Swift Package Manager und verwenden Sie die SensorFlow-Empfangsadresse.
- SensorFlow ist unabhängig von Sensors Data Cloud; für diesen Endpunkt ist kein Cloud-Projekt-Scheme nötig.
- Testen Sie automatische Erfassung, IDs, Eigenschaften und Lebenszyklusereignisse; deaktivieren Sie Protokolle vor Veröffentlichung.
let options = SAConfigOptions(serverURL: "https://your-domain.example/sensors/send/?token=YOUR_TOKEN", launchOptions: launchOptions)
options.enableAutoTrack = .default
SensorsAnalyticsSDK.start(configOptions: options)
SensorsAnalyticsSDK.sharedInstance()?.login("USER_ID")
SensorsAnalyticsSDK.sharedInstance()?.track("ButtonClick", withProperties: ["button_name": "Submit"])Android-SDK
Fügen Sie die offizielle Gradle-Abhängigkeit hinzu und initialisieren Sie das SDK in Application mit der SensorFlow-URL.
- Ein Sensors-Data-Cloud-Projekt-Scheme ist für diesen Endpunkt nicht erforderlich.
- Konfigurieren Sie Einwilligung und Erfassungsumfang. Prüfen Sie Obfuskation, Netzwerkrechte und HTTPS; deaktivieren Sie Protokolle.
SAConfigOptions options = new SAConfigOptions("https://your-domain.example/sensors/send/?token=YOUR_TOKEN");
options.setAutoTrackEventType(SensorsDataAPI.AutoTrackEventType.APP_START | SensorsDataAPI.AutoTrackEventType.APP_END | SensorsDataAPI.AutoTrackEventType.APP_CLICK);
SensorsDataAPI.startWithConfigOptions(this, options);
SensorsDataAPI.sharedInstance().login("USER_ID");
SensorsDataAPI.sharedInstance().track("ButtonClick", properties);WeChat-Mini-Programm-SDK
Beziehen Sie das offizielle SDK, initialisieren Sie es in app.js und erlauben Sie die HTTPS-Domain des Empfängers.
- Tragen Sie die Empfangsdomain in die Liste erlaubter Request-Domains ein.
- Wählen Sie automatische Ereignisse entsprechend Datenschutzpflichten und prüfen Sie Anfragen auf echten Geräten unter produktionsnahen Domains.
sensors.init({
server_url: 'https://your-domain.example/sensors/send/?token=YOUR_TOKEN',
autotrack: { appLaunch: true, appShow: true, appHide: true, pageShow: true, pageShare: true }
});
sensors.login('USER_ID');
sensors.track('ButtonClick', { button_name: 'Submit' });React-Native-SDK
Installieren Sie das offizielle Paket und schließen Sie die native Initialisierung unter iOS und Android ab.
- Halten Sie JavaScript-Paket und beide nativen SDK-Versionen kompatibel.
- Setzen Sie serverUrl, testen Sie Bildschirmaufrufe und Ereignisse und führen Sie vor Updates Regressionstests aus.
RNSensorsAnalyticsModule.init({
serverUrl: 'https://your-domain.example/sensors/send/?token=YOUR_TOKEN',
autoTrackAppViewScreen: true
});
RNSensorsAnalyticsModule.login('USER_ID');
RNSensorsAnalyticsModule.track('ButtonClick', { button_name: 'Submit' });Server-SDKs
Nutzen Sie das offizielle Java-, Go-, Python-, Node.js- oder PHP-SDK und melden Sie vertrauenswürdige Ereignisse nach erfolgreicher Geschäftstransaktion.
- Verwenden Sie eine anwendungsweite SDK-Instanz und konsistente Login-IDs auf Client und Server.
- Leeren oder schließen Sie das SDK vor dem Beenden und behalten Sie stabile Eigenschaftstypen bei.
from sensorsanalytics import SensorsAnalytics
sa = SensorsAnalytics(server_url='https://your-domain.example/sensors/send/?token=YOUR_TOKEN')
sa.track(distinct_id='USER_ID', event_name='ProductView', properties={'product_name': 'Example', 'price': 5999})
sa.flush()
sa.close()SDK-Erfassung prüfen
Senden Sie ein integration_test-Ereignis und prüfen Sie jeden Schritt bis ClickHouse und Superset.
- Prüfen Sie den Aufruf von /sensors/send/ und die Empfängerprotokolle auf Lizenz-, Format- oder Eigenschaftsfehler.
- Suchen Sie das Ereignis in ClickHouse und SQL Lab. Prüfen Sie Identität, Zeit und Typen; ein HTTP-Erfolg allein genügt nicht.
SELECT event, distinct_id, time, properties
FROM sensors.event
WHERE event = 'integration_test'
ORDER BY time DESC
LIMIT 10;6. ClickHouse prüfen
Senden Sie ein Testereignis und bestätigen Sie dessen Speicherung in ClickHouse.
SELECT event, count() AS event_count
FROM sensors.event
GROUP BY event
ORDER BY event_count DESC
LIMIT 20;7. Mit Superset analysieren
Öffnen Sie Superset und verwenden Sie die ClickHouse-Verbindung für SQL Lab, Datensätze, Diagramme und Dashboards.
- Erstellen Sie DAU-, Registrierungs-, Login- und Ereignistrends.
- Kombinieren Sie Funnels, Retention, Pfade und Kohorten.
- Steuern Sie Zugriffe nach Team, Projekt oder Datensatz.
Updates und Betrieb
Stoppen Sie die Ingestion vor einem Lizenzwechsel, setzen Sie Ausführungsrechte und starten Sie den Dienst neu.
- Sichern Sie MySQL, ClickHouse und Superset-Metadaten.
- Überwachen Sie Ingestion-Fehler, Speicherplatz, Schreib- und Abfragelatenz.
- Erneuern Sie vor Ablauf; erworbene Laufzeiten werden addiert.
Validate locally before evaluating production ingestion
First verify demo event → ClickHouse → Superset; production Sensors Data SDK payloads require a separate license.