Coming soon

The feature is in its final development phase. Talk to your account manager to get early access.

Swift Documentation

At Topsort we are developing an SDK for Swift 5 targeting iOS marketplace apps. The SDK is in early stages but can already communicate with our /events endpoint.

As a sneak peak, below are the integration steps using SwiftUI

Sending Hit Events whenever a product is tapped

struct TopsortProduct : View {
  var topsort: TopsortSDK
  var product: Product

  var body: some View {
    .onGestureTap() {
      Task {
        let event = HitEvent(,
          productId: product.productId,
          auctionId: product.auctionId,
          resolvedBidId: product.resolvedBidId,
        try? await topsort.logHitAsync(hitEvent)

Sending impressions event when products are rendered.

struct Content : View {

    var products: [Products]

    var body: some View {
        LazyVGrid(columns: columns, spacing: 2) {
            ForEach(products, id: \self) { product in
                TopsortProduct(product: product)
        .task {
            try? await topsort.logImpressionsAsync(impressions: products.map { p in
                Impression(productId: p.productId, auctionId: p.auctionId, resolvedBidId: p.resolvedBidId)