Adicione Rastreamento de Afiliados ao Seu App iOS com o Swift Package Manager
Integrar o rastreamento de afiliados em um app nativo iOS construído com Swift leva três passos: adicionar o InsertAffiliateSwiftSDK via Swift Package Manager, configurar o deep linking para capturar indicações de afiliados e conectar uma plataforma de verificação de compras para automatizar os pagamentos de comissões. A maioria dos desenvolvedores conclui a integração em uma única sessão.
Com a App Store gerando mais de US$ 60 bilhões em gastos de consumidores nos EUA em 2025, segundo a Sensor Tower, apps iOS baseados em assinatura têm um claro incentivo financeiro para aproveitar o crescimento impulsionado por afiliados. O Insert Affiliate Swift SDK foi criado especificamente para isso, exigindo iOS 13.0+, Swift 5.0+ e Xcode 12.0+.
Passo 1: Instale o SDK via Swift Package Manager
Abra seu projeto no Xcode, navegue até File e, em seguida, Add Packages. No campo de busca, insira a URL do repositório:
https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK.gitSelecione a branch main e clique em Add Package. O Xcode resolverá a dependência e adicionará o InsertAffiliateSwift ao seu projeto.
Passo 2: Inicialize o SDK no AppDelegate
Importe o SDK e inicialize-o no método application(_:didFinishLaunchingWithOptions:) do seu AppDelegate. Você precisará do seu company code, disponível no painel do Insert Affiliate em 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
}
}Para apps SwiftUI que usam o protocolo App com @main em vez do AppDelegate, você pode inicializar o SDK no método init() da sua struct App ou usar um adaptador de AppDelegate.
A flag verboseLogging: true emite logs detalhados no console para que você possa confirmar que tudo está configurado corretamente durante o desenvolvimento. Desative-a antes de publicar em produção.
Passo 3: Configure o Deep Linking
O deep linking conecta a URL exclusiva de um afiliado a uma sessão de usuário no seu app. Quando um usuário toca em um link de afiliado, o SDK captura e armazena o identificador do afiliado localmente.
A opção mais simples é o Insert Links, a solução de deep linking integrada do Insert Affiliate. Ativar insertLinksEnabled: true durante a inicialização o habilita sem exigir nenhum SDK de terceiros adicional.
Se o seu app já usa o Branch.io, passe o link de indicação para o Insert Affiliate SDK dentro do seu handler de sessão do Branch:
Branch.getInstance().initSession(launchOptions: launchOptions) {
(params, error) in
if let referringLink = params?["~referring_link"] as? String {
InsertAffiliateSwift.setInsertAffiliateIdentifier(
referringLink: referringLink
)
}
}Para o AppsFlyer, use o callback do delegate de deep linking:
func didResolveDeepLink(_ result: DeepLinkResult) {
if let deepLinkValue = result.deepLink?.deeplinkValue {
InsertAffiliateSwift.setInsertAffiliateIdentifier(
referringLink: deepLinkValue
)
}
}Passo 4: Conecte a Verificação de Compras
O Insert Affiliate exige uma plataforma de verificação de compras para validar transações e calcular as comissões de afiliados. Para apps iOS, o RevenueCat é a escolha recomendada por sua integração direta baseada em webhooks.
Após inicializar o RevenueCat, registre um callback para que o identificador do afiliado seja sincronizado com os atributos de assinante do RevenueCat:
InsertAffiliateSwift.onAffiliateIdentifierChanged { identifier in
Purchases.shared.attribution.setAttributes([
"insert_affiliate": identifier,
"insert_timedout": ""
])
}
InsertAffiliateSwift.returnInsertAffiliateIdentifier()Quando um usuário que chegou por meio de um link de afiliado faz uma compra, o RevenueCat valida o recibo da App Store e envia um webhook ao Insert Affiliate. A comissão em dinheiro do afiliado é então calculada e colocada na fila para pagamento.
Outras plataformas de verificação suportadas incluem Adapty, Apphud, Iaptic e as App Store Server Notifications diretas.
Passo 5: Integração com Adapty (Alternativa ao RevenueCat)
Se o seu app usa o Adapty em vez do RevenueCat, defina o identificador do Insert Affiliate como um atributo personalizado do 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
}Passo 6: Configuração Avançada
O SDK suporta vários parâmetros opcionais para controlar o comportamento de atribuição:
InsertAffiliateSwift.initialize(
companyCode: "YOUR_COMPANY_CODE",
verboseLogging: false,
insertLinksEnabled: true,
insertLinksClipboardEnabled: true,
affiliateAttributionActiveTime: 604800,
preventAffiliateTransfer: true
)insertLinksClipboardEnabled: Ativa a atribuição baseada na área de transferência como alternativa quando os deep links padrão não disparam.affiliateAttributionActiveTime: Define a janela de atribuição em segundos. O padrão de 604800 equivale a sete dias.preventAffiliateTransfer: Quando verdadeiro, um novo clique de afiliado não sobrescreverá uma atribuição existente, protegendo o primeiro indicador.
Passo 7: Teste o Fluxo Completo
Gere um link de afiliado de teste no seu painel do Insert Affiliate. Toque no link em um dispositivo físico (deep links não funcionam de forma confiável no Simulador do iOS para universal links). Abra o app e verifique o console do Xcode em busca dos logs detalhados confirmando que o identificador do afiliado foi capturado. Conclua uma compra de teste usando um Apple ID de sandbox e verifique se a transação aparece no seu painel do Insert Affiliate.
Como Funciona o Fluxo de Ponta a Ponta
Após a integração, o fluxo de rastreamento é totalmente automatizado. Um afiliado compartilha seu link exclusivo. Um usuário toca no link, seu app abre e o SDK armazena o identificador do afiliado. O usuário assina ou faz uma compra dentro do app. Sua plataforma de verificação (RevenueCat, Adapty ou outro serviço suportado) valida o recibo e notifica o Insert Affiliate. A comissão em dinheiro do afiliado é calculada com base nas taxas que você configurou e paga via Stripe.
Os afiliados se cadastram pela página de cadastro do Insert Affiliate e geram seus próprios links de rastreamento. Você configura as estruturas de comissão, monitora o desempenho e gerencia os pagamentos a partir do painel do Insert Affiliate.
O InsertAffiliateSwiftSDK é open source no GitHub em github.com/Insert-Affiliate/InsertAffiliateSwiftSDK. Guias completos de integração para cada plataforma de verificação de compras estão em docs.insertaffiliate.com.