Après l'installation, exécutez la skill dans votre projet :
/adapty-sdk-integration
Lorsqu’Adapty associe une installation à une campagne, il renvoie les données d’attribution à votre application via le callback onInstallationDetailsSuccess. Utilisez ces données pour personnaliser l’expérience utilisateur en fonction du canal ou de la campagne qui a généré l’installation.
Les données d’attribution sont renvoyées sous forme d’objet attribution imbriqué dans le champ payload. Il contient les champs suivants :
Tous les champs sont optionnels. Pour les installations organiques ou lorsque l’attribution n’a pas pu être déterminée, le champ payload ne contient pas l’objet attribution.
Pour lire les données d’attribution dans votre application :
Adapty.delegate = selfnonisolated func onInstallationDetailsSuccess(_ details: AdaptyInstallationDetails) { guard let payloadDict = details.payload?.dictionary, let attribution = payloadDict["attribution"] as? [String: Any] else { return } let channel = attribution["channel"] as? String let campaignName = attribution["campaign_name"] as? String let adName = attribution["ad_name"] as? String print("Channel: \(channel ?? "organic")")}
Adapty.setOnInstallationDetailsListener(object : OnInstallationDetailsListener { override fun onInstallationDetailsSuccess(details: AdaptyInstallationDetails) { val payloadStr = details.payload ?: return runCatching { val payload = JSONObject(payloadStr) val attribution = payload.optJSONObject("attribution") ?: return val channel = attribution.optString("channel") val campaignName = attribution.optString("campaign_name") val adName = attribution.optString("ad_name") println("Channel: $channel") }.onFailure(Throwable::printStackTrace) }})
Adapty().onUpdateInstallationDetailsSuccessStream.listen((details) { final payloadStr = details.payload; if (payloadStr == null) return; final payload = json.decode(payloadStr) as Map<String, dynamic>; final attribution = payload['attribution'] as Map<String, dynamic>?; if (attribution == null) return; final channel = attribution['channel'] as String?; final campaignName = attribution['campaign_name'] as String?; final adName = attribution['ad_name'] as String?; print('Channel: ${channel ?? 'organic'}');});