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() } }}
Llama a Topsort.shared.set(opaqueUserId:) después de configurar, siempre que tengas tu propio id para el usuario, con o sin sesión iniciada. Si no lo tienes, el SDK genera un id y lo conserva entre ejecuciones de la aplicación.
Un render registra que un anuncio patrocinado fue insertado en la jerarquía de vistas, por separado de la impresión, que registra cuándo se vuelve visible. Repórtalo apenas el anuncio se coloca en la pantalla, antes de la impresión. Los renders son solo para anuncios patrocinados, por lo que resolvedBidId es obligatorio. winner es uno de los ganadores de la respuesta de la subasta (result.results[i].winners).
let render = RenderEvent(resolvedBidId: winner.resolvedBidId, occurredAt: Date.now)Topsort.shared.track(render: render)
Topsort.shared envía solo el primer render y la primera impresión de cada resolvedBidId para un usuario y descarta cualquier repetición, por lo que reportar desde onAppear es seguro cuando una vista vuelve a aparecer, por ejemplo al desplazarte por una lista diferida (lazy).
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 reporta el render cuando la subasta devuelve un ganador, la impresión cuando la imagen se carga, y el clic cuando se toca. No reportes estos eventos por tu cuenta para los banners que muestra.Para la documentación completa, consulta el repositorio de GitHub.
¿Esta página le ayudó?
Assistant
Responses are generated using AI and may contain mistakes.