We use cookies and similar technologies to improve your experience, analyse traffic, and personalise content. You can accept all cookies or reject non-essential ones.
Dieser Leitfaden beschreibt die Installation und Verwendung des SurveyAnalytica Clickstream SDK auf mobilen Plattformen: React Native, Flutter, iOS (Swift) und Android (Kotlin). Für Web-Projekte siehe den Web-SDK-Leitfaden.
Bevor Sie beginnen, schließen Sie das Workflow-Setup ab, um Ihren API-Schlüssel und Ihre Endpoint-URL zu erhalten.
npm install @surveyanalytica/clickstream-rn @react-native-async-storage/async-storage
Rufen Sie init einmal beim Start Ihrer App auf, bevor jegliche Navigation gerendert wird:
import { SAClickstream } from '@surveyanalytica/clickstream-rn';
await SAClickstream.init('YOUR_WORKFLOW_ID', 'YOUR_API_KEY', {
endpoint: 'YOUR_ENDPOINT_URL'
});
// Screen view (call from useEffect in each screen component)
SAClickstream.page('ProductDetailScreen');
// Custom event
SAClickstream.track('add_to_cart', { productId: 'sku-9821', quantity: 2 });
// Identify after login
SAClickstream.identify('contact-id-from-your-backend');
// Revoke consent
SAClickstream.setConsent(false);
flutter pub add sa_clickstream
Rufen Sie initialize in main() auf, bevor runApp aufgerufen wird:
import 'package:sa_clickstream/sa_clickstream.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await SAClickstream.initialize(
workflowId: 'YOUR_WORKFLOW_ID',
apiKey: 'YOUR_API_KEY',
saEndpoint: 'YOUR_ENDPOINT_URL',
);
runApp(const MyApp());
}
Fügen Sie SARouteObserver zu Ihrer MaterialApp hinzu, um Bildschirmübergänge automatisch zu verfolgen:
MaterialApp(
navigatorObservers: [SARouteObserver()],
...
)
SAClickstream.track('button_tapped', properties: {'label': 'Buy Now'});
SAClickstream.page('CheckoutScreen');
SAClickstream.identify('contact-id-from-your-backend');
SAClickstream.setConsent(false);
Swift Package Manager — gehen Sie in Xcode zu File → Add Package Dependencies und geben Sie Folgendes ein:
https://github.com/aphougat/clickstream-ios
Wählen Sie Version 1.0.0 oder höher.
CocoaPods — fügen Sie Folgendes zu Ihrem Podfile hinzu:
pod 'SAClickstream', '~> 1.0'
Führen Sie anschließend pod install aus.
Rufen Sie initialize in Ihrem AppDelegate oder @main-Struct auf, bevor die erste Szene erscheint:
import SAClickstream
SAClickstream.initialize(
workflowId: "YOUR_WORKFLOW_ID",
apiKey: "YOUR_API_KEY",
saEndpoint: "YOUR_ENDPOINT_URL"
)
// In viewDidAppear
SAClickstream.page("ProductDetailViewController")
// Custom event
SAClickstream.track("button_tapped", properties: ["label": "Buy Now"])
// Identify after login
SAClickstream.identify("contact-id-from-your-backend")
// Revoke consent
SAClickstream.setConsent(false)
Fügen Sie das GitHub-Packages-Repository und die Abhängigkeit zu Ihrer build.gradle.kts hinzu:
repositories {
maven {
url = uri("https://maven.pkg.github.com/aphougat/clickstream-android")
credentials {
username = providers.gradleProperty("gpr.user").orElse("").get()
password = providers.gradleProperty("gpr.token").orElse("").get()
}
}
}
dependencies {
implementation("com.surveyanalytica:clickstream-android:1.0.0")
}
Rufen Sie initialize in Ihrer Application.onCreate() auf:
import com.surveyanalytica.clickstream.SAClickstream
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
SAClickstream.initialize(
context = this,
workflowId = "YOUR_WORKFLOW_ID",
apiKey = "YOUR_API_KEY",
saEndpoint = "YOUR_ENDPOINT_URL"
)
}
}
// In Activity.onResume or Fragment.onResume
SAClickstream.page("ProductDetailActivity")
// Custom event
SAClickstream.track("button_tapped", mapOf("label" to "Buy Now"))
// Identify after login
SAClickstream.identify("contact-id-from-your-backend")
// Revoke consent
SAClickstream.setConsent(false)
Auf allen Plattformen funktioniert das SDK auf dieselbe Weise: Ereignisse werden lokal in eine Warteschlange gestellt und alle 500 Millisekunden gesendet, oder sofort, wenn sich 20 Ereignisse angesammelt haben. Jeder Flush sendet eine einzelne Batch-Anfrage. Fehlgeschlagene Anfragen werden bis zu dreimal mit zunehmenden Verzögerungen wiederholt. Die beim ersten Start zugewiesene anonyme Identität bleibt über Sitzungen hinweg erhalten, sodass Nutzer konsistent identifiziert werden, bis Sie identify aufrufen.
initialize / init vor allen Tracking-Aufrufen aufgerufen wird.Das Android-SDK wird über GitHub Packages verteilt. Stellen Sie sicher, dass Ihre gradle.properties oder CI-Umgebung einen gültigen gpr.user und gpr.token enthält (ein GitHub Personal Access Token mit read:packages-Berechtigung).