paylisher_flutter 5.9.2 copy "paylisher_flutter: ^5.9.2" to clipboard
paylisher_flutter: ^5.9.2 copied to clipboard

Flutter implementation of Paylisher client for iOS, Android and Web

Paylisher Flutter SDK #

Flutter uygulamalarınız için Paylisher analytics entegrasyonu.

pub package License: MIT

Kurulum #

pubspec.yaml dosyanıza ekleyin:

dependencies:
  paylisher_flutter: ^1.0.0

Sonra çalıştırın:

flutter pub get

Hızlı Başlangıç #

1. SDK'yı Başlatın #

import 'package:paylisher_flutter/paylisher_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  final config = PaylisherConfig(
    apiKey: 'YOUR_API_KEY',
    host: 'https://ds.paylisher.com',
    debug: true, // Geliştirme için true yapın
  );
  
  await Paylisher().setup(config);
  
  runApp(MyApp());
}

2. Event Yakalayın #

// Basit event
Paylisher().capture(eventName: 'button_clicked');

// Property'li event
Paylisher().capture(
  eventName: 'purchase_completed',
  properties: {
    'product_id': '12345',
    'price': 99.99,
    'currency': 'TRY',
  },
);

3. Kullanıcı Tanımlayın #

Paylisher().identify(
  userId: 'user_123',
  userProperties: {
    'name': 'Yusuf',
    'email': 'yusuf@example.com',
    'plan': 'premium',
  },
);

4. Ekran Görüntüleme #

Paylisher().screen(
  screenName: 'Home Screen',
  properties: {
    'source': 'deep_link',
  },
);

Yapılandırma Seçenekleri #

final config = PaylisherConfig(
  apiKey: 'YOUR_API_KEY',
  host: 'https://ds.paylisher.com',
  
  // Debug modu
  debug: false,
  
  // Event gönderme ayarları
  flushAt: 20,              // Kaç event birikince gönderilsin
  flushInterval: 30,        // Kaç saniyede bir gönderilsin
  maxQueueSize: 1000,       // Maksimum kuyruk boyutu
  maxBatchSize: 50,         // Tek seferde maksimum event
  
  // Feature flags
  preloadFeatureFlags: true,
  sendFeatureFlagEvents: true,
  
  // Session replay (deneysel)
  sessionReplay: false,
  
  // Yaşam döngüsü eventleri
  captureApplicationLifecycleEvents: true,
  
  // Kişi profilleri
  personProfiles: PersonProfiles.identifiedOnly,
);

API Referansı #

Event Yakalama #

// Basit event
Paylisher().capture(eventName: 'event_name');

// Property'li event
Paylisher().capture(
  eventName: 'event_name',
  properties: {'key': 'value'},
);

Kullanıcı Tanımlama #

Paylisher().identify(
  userId: 'unique_user_id',
  userProperties: {'name': 'John'},
  userPropertiesSetOnce: {'created_at': DateTime.now().toIso8601String()},
);

Ekran Görüntüleme #

Paylisher().screen(
  screenName: 'Screen Name',
  properties: {'key': 'value'},
);

Grup #

Paylisher().group(
  groupType: 'company',
  groupKey: 'company_123',
  groupProperties: {'name': 'Acme Inc'},
);

Alias #

Paylisher().alias(alias: 'new_distinct_id');

Feature Flags #

// Feature flag kontrolü
bool isEnabled = await Paylisher().isFeatureEnabled(key: 'new_feature');

// Feature flag değeri
var value = await Paylisher().getFeatureFlag(key: 'feature_key');

// Feature flag payload
var payload = await Paylisher().getFeatureFlagPayload(key: 'feature_key');

// Feature flags'ları yenile
await Paylisher().reloadFeatureFlags();

Super Properties #

// Her event'e eklenecek property kaydet
Paylisher().register(key: 'app_version', value: '1.0.0');

// Property'yi kaldır
Paylisher().unregister(key: 'app_version');

Opt In/Out #

// Veri toplamayı durdur
Paylisher().disable();

// Veri toplamayı başlat
Paylisher().enable();

// Durumu kontrol et
bool isOptOut = await Paylisher().isOptOut();

Diğer Metodlar #

// Distinct ID al
String distinctId = await Paylisher().getDistinctId();

// Event'leri hemen gönder
await Paylisher().flush();

// SDK'yı sıfırla (yeni kullanıcı için)
await Paylisher().reset();

// Debug modunu aç/kapa
Paylisher().debug(enable: true);

// SDK'yı kapat
await Paylisher().close();

Platform Yapılandırması #

Android #

android/app/build.gradle dosyasında minimum SDK versiyonunu ayarlayın:

android {
    defaultConfig {
        minSdkVersion 24
    }
}

iOS #

ios/Podfile dosyasında minimum iOS versiyonunu ayarlayın:

platform :ios, '13.0'

Örnek Uygulama #

Tam bir örnek için example klasörüne bakın.

import 'package:flutter/material.dart';
import 'package:paylisher_flutter/paylisher_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  await Paylisher().setup(PaylisherConfig(
    apiKey: 'YOUR_API_KEY',
    host: 'https://ds.paylisher.com',
    debug: true,
  ));
  
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // Ekran görüntüleme
    Paylisher().screen(screenName: 'Home');
    
    return Scaffold(
      appBar: AppBar(title: Text('Paylisher Demo')),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // Event yakalama
            Paylisher().capture(
              eventName: 'button_clicked',
              properties: {'button': 'demo'},
            );
          },
          child: Text('Track Event'),
        ),
      ),
    );
  }
}

Sorun Giderme #

Event'ler gönderilmiyor #

  1. debug: true yaparak logları kontrol edin
  2. API key'in doğru olduğundan emin olun
  3. Host URL'inin doğru olduğundan emin olun
  4. İnternet bağlantısını kontrol edin

Feature flags yüklenmiyor #

  1. preloadFeatureFlags: true olduğundan emin olun
  2. Paylisher dashboard'da feature flag'lerin tanımlı olduğundan emin olun

Katkıda Bulunma #

Katkılarınızı bekliyoruz! Lütfen bir pull request göndermeden önce issue açın.

Lisans #

MIT License - detaylar için LICENSE dosyasına bakın.

Destek #

0
likes
160
points
137
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter implementation of Paylisher client for iOS, Android and Web

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, meta, plugin_platform_interface, stack_trace

More

Packages that depend on paylisher_flutter

Packages that implement paylisher_flutter