addFeedback method

Future<void> addFeedback(
  1. String rating,
  2. String message, [
  3. String? image,
  4. int? date,
])

Add user feedback with rating and message

rating - User rating (e.g., "1-5", "good", "bad") message - Feedback message from user image - Optional image attachment date - Optional timestamp (defaults to current time)

Implementation

Future<void> addFeedback(String rating, String message,
    [String? image, int? date]) async {
  final hub = _hub;
  if (!_isInitialized || hub == null) {
    ObslyLogger.warn('FeedbackController not initialized');
    return;
  }

  try {
    final timestamp = date != null
        ? DateTime.fromMillisecondsSinceEpoch(date, isUtc: true)
        : DateTime.now().toUtc();

    final feedbackEvent = FeedbackEventBase(
      rating: rating,
      message: message,
      image: image,
      timestamp: timestamp,
    );

    final reservation = hub.reserveEventMetadata();
    hub.captureEvent(feedbackEvent, reservation);
    ObslyLogger.debug(
        'Feedback added: rating=$rating, message length=${message.length}');
  } catch (e, stackTrace) {
    ObslyLogger.error('Error adding feedback: $e', e, stackTrace);
  }
}