iOS SDK

Native SDK for iOS applications with Swift

Fast Integration

Lightweight SDK that integrates in minutes. Compatible with iOS 15.0+ and Swift 5.9+.

Requirements

  • iOS 15.0 or higher
  • Swift 5.9 or higher
  • Xcode 15.0 or higher

Data Types

Configuration

Properties:
• apiKey: String (required) - API key for your project
• userId: String (required) - User ID from your application
Initializer: init(apiKey: String, userId: String)

Feedback

Properties:
• title: String (required) - Title of feedback (5-200 characters)
• description: String (required) - Description/content (10-5000 characters)
• categoryId: String (required) - Category ID for the feedback
Initializer: init(title: String, description: String, categoryId: String)

FeedbackResponse

Properties:
• feedbackId: String - Unique identifier for the created feedback
• createdAt: String - ISO 8601 timestamp of creation

Category

Properties:
• id: String - Unique identifier for the category
• name: String - Display name of the category
• color: String - Hex color code for UI display
• isPublic: Bool - Whether the category is publicly visible
• votingEnabled: Bool - Whether voting is enabled for this category

PublicFeedback

Properties:
• id: String - Unique identifier for the feedback
• title: String - Title of the feedback
• description: String - Description/content of the feedback
• categoryId: String - ID of the associated category
• upVotes: Int - Number of up votes
• downVotes: Int - Number of down votes
• status: String - Current status (new, under_review, planned, in_progress, completed, closed, duplicate)
• createdAt: String? - ISO 8601 timestamp of creation (optional)

CategoriesResponse

Properties:
• categories: [Category] - Array of available categories
• defaultCategoryId: String? - ID of the default category (optional)

FeedbackListResponse

Properties:
• feedback: [PublicFeedback] - Array of feedback entries
• userVotes: [String: String] - User's vote status for each feedback (feedbackId → voteType)

VoteResponse

Properties:
• voteRecorded: Bool - Whether the vote operation was successful

API Reference

configure(with:)

Parameters: configuration (Configuration) - SDK configuration object containing apiKey and userId
Returns: Void

sendFeedback(_:)

Parameters: feedback (Feedback) - Feedback data with title, description, and categoryId
Returns: FeedbackResponse containing feedbackId and createdAt

getCategories()

Parameters: None
Returns: CategoriesResponse containing categories array and defaultCategoryId

getPublicFeedback()

Parameters: None
Returns: FeedbackListResponse containing public feedback in initial states (new, under_review) and user's current votes

getUserFeedback()

Parameters: None
Returns: FeedbackListResponse containing user's feedback

voteFeedback(feedbackId:voteType:)

Parameters: feedbackId (String), voteType (String) - Either "up" or "down"
Returns: VoteResponse indicating vote was recorded

sdkVersion

Parameters: None
Returns: String with current SDK version