Voeg affiliate tracking toe aan je iOS-app met Swift Package Manager
Het integreren van affiliate tracking in een native iOS-app die met Swift is gebouwd, gaat in drie stappen: voeg de InsertAffiliateSwiftSDK toe via Swift Package Manager, configureer deeplinking om affiliate-verwijzingen vast te leggen en koppel een platform voor aankoopverificatie om commissie-uitbetalingen te automatiseren. De meeste developers ronden de integratie in één sessie af.
Volgens Sensor Tower genereerde de App Store in 2025 meer dan $60 miljard aan consumentenuitgaven in de VS. Daarmee hebben iOS-apps met abonnementen een duidelijke financiële reden om in te zetten op groei via affiliates. De Insert Affiliate Swift SDK is speciaal hiervoor gebouwd en vereist iOS 13.0+, Swift 5.0+ en Xcode 12.0+.
Stap 1: Installeer de SDK via Swift Package Manager
Open je Xcode-project en ga naar File en vervolgens Add Packages. Voer in het zoekveld de repository-URL in:
https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK.gitSelecteer de branch main en klik op Add Package. Xcode lost de dependency op en voegt InsertAffiliateSwift toe aan je project.
Stap 2: Initialiseer de SDK in AppDelegate
Importeer de SDK en initialiseer deze in de methode application(_:didFinishLaunchingWithOptions:) van je AppDelegate. Je hebt je bedrijfscode nodig uit het Insert Affiliate-dashboard onder Settings.
import InsertAffiliateSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
InsertAffiliateSwift.initialize(
companyCode: "YOUR_COMPANY_CODE",
verboseLogging: true,
insertLinksEnabled: true
)
return true
}
}Voor SwiftUI-apps die het @main App-protocol gebruiken in plaats van AppDelegate, kun je de SDK initialiseren in de init()-methode van je App-struct of een AppDelegate-adaptor gebruiken.
De vlag verboseLogging: true schrijft gedetailleerde logs naar de console, zodat je tijdens de ontwikkeling kunt bevestigen dat alles correct is gekoppeld. Schakel deze uit voordat je naar productie gaat.
Stap 3: Configureer deeplinking
Deeplinking koppelt de unieke URL van een affiliate aan een gebruikerssessie in je app. Wanneer een gebruiker op een affiliatelink tikt, legt de SDK de affiliate-identifier vast en slaat deze lokaal op.
De eenvoudigste optie is Insert Links, de ingebouwde deeplinkoplossing van Insert Affiliate. Door insertLinksEnabled: true in te schakelen tijdens de initialisatie activeer je deze, zonder dat er een extra SDK van derden nodig is.
Als je app al Branch.io gebruikt, geef je de verwijzende link door aan de Insert Affiliate SDK binnen je Branch-sessiehandler:
Branch.getInstance().initSession(launchOptions: launchOptions) {
(params, error) in
if let referringLink = params?["~referring_link"] as? String {
InsertAffiliateSwift.setInsertAffiliateIdentifier(
referringLink: referringLink
)
}
}Gebruik voor AppsFlyer de delegate-callback voor deeplinking:
func didResolveDeepLink(_ result: DeepLinkResult) {
if let deepLinkValue = result.deepLink?.deeplinkValue {
InsertAffiliateSwift.setInsertAffiliateIdentifier(
referringLink: deepLinkValue
)
}
}Stap 4: Koppel aankoopverificatie
Insert Affiliate heeft een platform voor aankoopverificatie nodig om transacties te valideren en affiliatecommissies te berekenen. Voor iOS-apps is RevenueCat de aanbevolen keuze vanwege de eenvoudige integratie op basis van webhooks.
Registreer na het initialiseren van RevenueCat een callback, zodat de affiliate-identifier wordt gesynchroniseerd met de subscriber attributes van RevenueCat:
InsertAffiliateSwift.onAffiliateIdentifierChanged { identifier in
Purchases.shared.attribution.setAttributes([
"insert_affiliate": identifier,
"insert_timedout": ""
])
}
InsertAffiliateSwift.returnInsertAffiliateIdentifier()Wanneer een gebruiker die via een affiliatelink binnenkwam een aankoop doet, valideert RevenueCat het App Store-ontvangstbewijs en stuurt een webhook naar Insert Affiliate. De commissie van de affiliate wordt berekend en vastgelegd in je Insert Affiliate-dashboard, klaar voor een uitbetaling met één klik vanuit je dashboard wanneer je wilt uitbetalen.
Andere ondersteunde verificatieplatforms zijn Adapty, Apphud, Iaptic en directe App Store Server Notifications.
Stap 5: Adapty-integratie (alternatief voor RevenueCat)
Als je app Adapty gebruikt in plaats van RevenueCat, stel je de Insert Affiliate-identifier in als custom attribute in Adapty:
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
Adapty.activate("YOUR_ADAPTY_PUBLIC_SDK_KEY")
InsertAffiliateSwift.initialize(
companyCode: "YOUR_COMPANY_CODE",
verboseLogging: true,
insertLinksEnabled: true
)
InsertAffiliateSwift.onAffiliateIdentifierChanged { identifier in
let builder = AdaptyProfileParameters.Builder()
.with(customAttribute: identifier,
forKey: "insert_affiliate")
Adapty.updateProfile(params: builder.build())
}
return true
}Stap 6: Geavanceerde configuratie
De SDK ondersteunt verschillende optionele parameters om het attributiegedrag te sturen:
InsertAffiliateSwift.initialize(
companyCode: "YOUR_COMPANY_CODE",
verboseLogging: false,
insertLinksEnabled: true,
insertLinksClipboardEnabled: true,
affiliateAttributionActiveTime: 604800,
preventAffiliateTransfer: true
)insertLinksClipboardEnabled: schakelt attributie via het klembord in als terugvaloptie wanneer standaard deeplinks niet worden geactiveerd.affiliateAttributionActiveTime: stelt het attributievenster in seconden in. De standaardwaarde van 604800 komt overeen met zeven dagen.preventAffiliateTransfer: als deze op true staat, overschrijft een nieuwe affiliateklik een bestaande attributie niet, zodat de eerste verwijzer beschermd blijft.
Stap 7: Test de volledige flow
Genereer een test-affiliatelink vanuit je Insert Affiliate-dashboard. Tik op de link op een fysiek apparaat (deeplinks werken niet betrouwbaar in de iOS Simulator voor universal links). Open de app en controleer de Xcode-console op verbose logs die bevestigen dat de affiliate-identifier is vastgelegd. Doe een testaankoop met een sandbox Apple ID en controleer of de transactie in je Insert Affiliate-dashboard verschijnt.
Zo werkt de flow van begin tot eind
Na de integratie verloopt de tracking volledig automatisch. Een affiliate deelt zijn of haar unieke link. Een gebruiker tikt op de link, je app opent en de SDK slaat de affiliate-identifier op. De gebruiker neemt een abonnement of doet een in-app-aankoop. Je verificatieplatform (RevenueCat, Adapty of een andere ondersteunde dienst) valideert het ontvangstbewijs en informeert Insert Affiliate.
De commissie van de affiliate wordt berekend op basis van de tarieven die je hebt ingesteld en vastgelegd in je Insert Affiliate-dashboard. Uitbetalingen verstuur je met één klik vanuit je dashboard wanneer je er klaar voor bent.
Affiliates melden zich aan via de aanmeldpagina van Insert Affiliate en genereren hun eigen trackinglinks. Jij stelt de commissiestructuren in, monitort de prestaties en beheert uitbetalingen vanuit het Insert Affiliate-dashboard.
De InsertAffiliateSwiftSDK is open source op GitHub via github.com/Insert-Affiliate/InsertAffiliateSwiftSDK. Volledige integratiehandleidingen voor elk platform voor aankoopverificatie vind je op docs.insertaffiliate.com.
Veelgestelde vragen
Ondersteunt de Insert Affiliate Swift SDK SwiftUI?
Ja. Voor SwiftUI-apps die het @main App-protocol gebruiken, initialiseer je de SDK in de init()-methode van je App-struct of gebruik je een AppDelegate-adaptor. De afhandeling van deeplinks en de identifier-callbacks werken op dezelfde manier als in UIKit-apps.
Wat is het verschil tussen Insert Links en Branch.io voor deeplinking?
Insert Links is de ingebouwde deeplinkoplossing van Insert Affiliate, zonder dat er een extra SDK nodig is: stel gewoon insertLinksEnabled: true in tijdens de initialisatie. Branch.io en AppsFlyer worden ook ondersteund als je er al een van in je app hebt. Voor nieuwe integraties is Insert Links de aanbevolen route.
Welke iOS-versies en tools vereist de SDK? De SDK vereist iOS 13.0 of hoger en Swift 5.0 of hoger. Xcode 12.0 of hoger is nodig om het package te installeren via Swift Package Manager.
Kan ik naast abonnementen ook eenmalige in-app-aankopen tracken? Ja. Attributie en commissietracking werken voor elk aankoopevent dat je verificatieplatform rapporteert. Je platform (RevenueCat, Adapty, Iaptic of App Store Server Notifications) stuurt het event naar Insert Affiliate, dat de commissie vastlegt op basis van het tarief dat je hebt ingesteld.
Wat moet ik controleren als affiliate-attributies niet in mijn dashboard verschijnen?
Schakel eerst verboseLogging: true in en controleer in de Xcode-console of de identifier wordt vastgelegd nadat je op een testlink hebt getikt. Controleer daarna de pagina met customer attributes in RevenueCat voor de testsubscriber en bevestig dat het attribuut insert_affiliate is ingesteld vóór de aankoop. Controleer tot slot of de webhook-URL in RevenueCat exact overeenkomt met de URL die in de instellingen van je Insert Affiliate-dashboard staat.