Integrieren Sie die Swift-Bibliothek von Topsort für Auktionsanfragen und Ereignisverfolgung in mobilen Apps
Die Swift-Bibliothek von Topsort ermöglicht es unseren Kunden, Auktionsanfragen einfach zu senden und Ereignisse innerhalb von iOS-Apps zu verfolgen.
Mindestanforderungen: Swift-6-Toolchain (Xcode 16) und iOS 15.
Installation
Installieren Sie mit package.swift:
dependencies: [ .package(url: "https://github.com/Topsort/topsort.swift.git", from: "1.4.1"),],targets: [ .target( name: "YourApp", dependencies: [ .product(name: "Topsort", package: "topsort.swift"), .product(name: "TopsortBanners", package: "topsort.swift"), // Only if you display banners ] ),]
Konfiguration
import SwiftUIimport Topsort@mainstruct MyApp: App { init() { do { try Topsort.shared.configure(Configuration(apiKey: "your-api-key")) } catch { print("Topsort not configured: \(error.localizedDescription)") } } var body: some Scene { WindowGroup { ContentView() } }}
Rufen Sie nach der Konfiguration Topsort.shared.set(opaqueUserId:) auf, sobald Sie eine eigene ID für den Nutzer haben, ob angemeldet oder nicht. Ohne eigene ID erzeugt das SDK eine ID und behält sie über App-Starts hinweg bei.
Ein Render erfasst, dass eine gesponserte Anzeige in die View-Hierarchie eingefügt wurde, getrennt von der Impression, die erfasst, wann sie sichtbar wird. Melden Sie ihn, sobald die Anzeige auf dem Bildschirm platziert wird, vor der Impression. Renders gibt es nur für gesponserte Anzeigen, daher ist resolvedBidId erforderlich. winner ist einer der Gewinner in der Auktionsantwort (result.results[i].winners).
let render = RenderEvent(resolvedBidId: winner.resolvedBidId, occurredAt: Date.now)Topsort.shared.track(render: render)
Topsort.shared sendet nur den ersten Render und die erste Impression jeder resolvedBidId pro Nutzer und verwirft jede Wiederholung. Daher können Sie sicher aus onAppear melden, wenn eine View wieder erscheint, zum Beispiel beim Scrollen einer Lazy-Liste.
Impressionen
Eine Impression erfasst, dass eine Anzeige oder ein Produkt für den Käufer sichtbar wurde.
var body: some View { VStack { AsyncImage(url: self.product.imageURL) Text(self.product.name) } .onAppear { Topsort.shared.track(impression: Event(resolvedBidId: self.winner.resolvedBidId, occurredAt: Date.now)) }}
Für organische Ergebnisse erstellen Sie das Ereignis stattdessen mit Event(entity: Entity(type: .product, id: product.id), occurredAt: Date.now).
Klicks
Ein Klick erfasst, dass der Käufer auf eine Anzeige oder ein Produkt geklickt hat.
var body: some View { VStack { AsyncImage(url: self.product.imageURL) Text(self.product.name) } .onTapGesture { Topsort.shared.track(click: Event(resolvedBidId: self.winner.resolvedBidId, occurredAt: Date.now)) }}
Organische Klicks verwenden denselben Initialisierer Event(entity:occurredAt:) wie Impressionen.
Käufe
Ein Kauf erfasst die Produkte, die der Käufer gekauft hat. Topsort ordnet ihn den Anzeigen zu, mit denen der Käufer interagiert hat.
Button("Purchase me!") { let item = PurchaseItem(productId: myProduct.id, unitPrice: myProduct.price) let event = PurchaseEvent(items: [item], occurredAt: Date.now) Topsort.shared.track(purchase: event)}
Anzeige von Bannern
import SwiftUIimport TopsortBannersstruct ContentView: View { var body: some View { TopsortBanner(bannerAuctionBuilder: .init(slotId: "slotId", deviceType: "device")) .contentMode(.fill) .onNoWinners({ }) .onError({ error in }) .onImageLoad({ }) .buttonClickedAction({ response in }) .frame(maxHeight: 50) .clipped() }}
TopsortBanner meldet den Render, wenn die Auktion einen Gewinner zurückgibt, die Impression, wenn das Bild geladen ist, und den Klick, wenn darauf getippt wird. Melden Sie diese Ereignisse für die von ihm angezeigten Banner nicht selbst.Für die vollständige Dokumentation besuchen Sie das GitHub-Repository.
War diese Seite hilfreich?
Assistant
Responses are generated using AI and may contain mistakes.