Skip to content
This repository was archived by the owner on Jan 10, 2025. It is now read-only.

Topsort/CocoaSDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3030a95 · Jan 10, 2025

History

31 Commits
Apr 13, 2022
May 20, 2022
May 20, 2022
May 20, 2022
May 20, 2022
May 10, 2022
Apr 13, 2022
Apr 13, 2022
May 17, 2022
May 3, 2022
May 17, 2022
May 20, 2022
Jan 10, 2025
May 10, 2022
May 10, 2022
Apr 13, 2022
May 11, 2022
Apr 13, 2022
May 10, 2022

Repository files navigation

TopsortSDK for iOS

Warning

This repository has been archived in favour of topsort.swift

Overview

This is an API client generated by the OpenAPI Generator project.

  • API version: 1.0.0
  • Package version: 1.0.0

Installation

With Cocoapods

target MyApp do
  pod 'TopsortSDK', '~> 1.0.0'
end

And run pod install

With Carthage

github "Topsort/CocoaSDK" ~> 1.0.0

And run carthage update

With Swift Packages

let package = Package(
  dependencies: [
    .package(url: "https://github.com/Topsort/CocoaSDK", from: "1.0.0"),
  ],
  targets: [
    .target(
      name: "MyApp",
      dependencies: ["TopsortSDK", ]
    )
  ]
)

And run swift package update

Usage

With SwiftUI

Sending Hit Events whenever a product is tapped.

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

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

Sending impression events 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)
            })
        }
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published