Référence de l'API
La liste des méthodes proposées pour ce plugin s'affiche ci-dessous.
- API Android, iOS et Windows
- API Android et iOS
- stopSDK
- isSDKStopped
- getSdkVersion
- setIsDebug
- addPushNotificationDeepLinkPath
- setCustomerUserId
- setAppInviteOneLinkID
- setAdditionalData
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- setCurrencyCode
- setDeepLinkTimeout
- enableTCFDataCollection
- setConsentData
- recordLocation
- anonymizeUser
- getAppsFlyerId
- setMinTimeBetweenSessions
- setHost
- setUserEmails
- setPhoneNumber
- getConversionData
- attributeAndOpenStore
- logAdRevenue
- recordCrossPromoteImpression
- generateUserInviteLink
- setSharingFilterForAllPartners Obsolète
- setSharingFilter Obsolète
- setSharingFilterForPartners
- setPartnerData
- API Android uniquement
- updateServerUninstallToken
- setImeiData
- setAndroidIdData
- waitForCustomerUserId
- setCustomerIdAndStartSDK
- getOutOfStore
- setOutOfStore
- setCollectAndroidID
- setCollectIMEI
- setIsUpdate
- setPreinstallAttribution
- isPreInstalledApp
- handlePushNotifications
- getAttributionId
- validateAndSendInAppPurchase-beta
- validateAndSendInAppPurchase
- setCollectOaid
- setDisableAdvertisingIdentifiers
- setDisableNetworkData
- API iOS uniquement
- setDisableCollectAppleAdSupport
- handlePushNotifications(iOS)
- setShouldCollectDeviceName
- setDisableCollectIAd
- setUseReceiptValidationSandbox
- setUseUninstallSandbox
- validateAndSendInAppPurchase-beta-iOS
- validateAndSendInAppPurchase
- registerUninstall
- handleOpenUrl
- waitForATTUserAuthorizationWithTimeoutInterval
- disableSKAdNetwork
- setLanguage
- disableIDFVCollection
- IAppsFlyerConversionData
- IAppsFlyerUserInvite
- IAppsFlyerValidateReceipt
- IAppsFlyerValidateAndLog
- Events
API Android, iOS et Windows
initSDK
void initSDK(string devKey, string appID, MonoBehaviour gameObject)
Initialisez le SDK AppsFlyer avec la clé dev et l'Id d'app La clé dev est requise pour toutes les applications, et l'ID d'app n'est demandé que pour iOS.
Si votre app est sous Android exclusivement, indiquez "null" dans l'id de l'app.
parameter | type | description |
---|---|---|
dev_key | string | La clé dev AppsFlyer, qui se trouve dans votre compte AppsFlyer, dans la section Paramètres de l'app du tableau de bord. |
app_id | string | L'ID Apple de votre application. |
gameObject (optionnel) | MonoBehaviour | Le game object qui contient l'interface IAppsFlyerConversionData. |
Exemple :
AppsFlyer.initSDK("dev_key", "app_id"); // without deeplinking
AppsFlyer.initSDK("dev_key", "app_id", this); // with deeplinking
Remarque : vous devez implémenter le SDK avec deep linking uniquement si vous utilisez IAppsFlyerConversionData
comme interface.
startSDK
void startSDK()
Une fois cette API invoquée, le SDK démarre, les sessions sont immédiatement envoyées et toutes les transitions de foreground et background enregistrent une session.
Exemple :
AppsFlyer.startSDK();
API Android et iOS
stopSDK
void stopSDK(bool isSDKStopped)
Dans certains cas d'urgence, vous pouvez choisir d'arrêter tout fonctionnement du SDK par soucis de conformité à la vie privée et aux régles en vigueur. L'API stopSDK permet justement cette interruption. Une fois cette API appelée, notre SDK ne communiquera plus avec nos serveurs et cessera de fonctionner.
Il existe différents cas de figure de refus de l'utilisateur. Nous vous recommandons vivement de suivre les instructions qui correspondent au cas propre à votre application.
Dans chaque événement, le SDK peut être réactivé en appelant la même API, avec la valeur false.
Important :
Ne pas appeler startSDK() si stopSDK() est défini sur true.
Pour redémarrer les fonctions du SDK, utilisez l'API suivante :
AppsFlyer.stopSDK(false);
Avertissement
Utilisez l'API stopTracking uniquement dans le cas où vous souhaitez ignorer complètement les fonctions du SDK de l'utilisateur. Utiliser cette API impacte FORTEMENT votre attribution, la collecte de vos données ainsi que votre processus de deep linking.
parameter | type | description |
---|---|---|
isSDKStopped | bool | True si le SDK est stoppé (la valeur par défaut est false). |
Exemple :
AppsFlyer.stopSDK(true);
isSDKStopped
bool isSDKStopped()
Si l'API stopSDK(boolean) a été réglée sur true
.
Exemple :
if (!AppsFlyer.isSDKStopped())
{
}
getSdkVersion
string getSdkVersion()
Récupérez la version du SDK AppsFlyer utilisée dans l'app.
Exemple :
string version = AppsFlyer.getSdkVersion();
setIsDebug
void setIsDebug(bool shouldEnable)
Active les journaux de débogage pour le SDK AppsFlyer.
Avertissement
Est uniquement défini sur true dans les environnements de développement/débogage.
parameter | type | description |
---|---|---|
shouldEnable | bool | True si le mode débogage est activé (valeur par défaut : false) |
Exemple :
AppsFlyer.setIsDebug(true);
addPushNotificationDeepLinkPath
void addPushNotificationDeepLinkPath(params string[] paths)
Permet d'ajouter un ensemble de clés, lesquelles composeront le chemin clé visant à conclure le deeplink de charge utile des notifications push.
parameter | type | description |
---|---|---|
paths | string[] | array of strings that represent the key path to the deeplink in the push notification payload |
Exemple :
Exemple d'utilisation
Configuration de base :
AppsFlyer.addPushNotificationDeepLinkPath("af_push_link")
Cet appel correspond à la structure de charge utile suivante :
{
"af_push_link": "https://yourdeeplink2.onelink.me"
}
ֿAdvanced configuration:
string[] paths = {"deeply", "nested", "deep_link"};
AppsFlyer.addPushNotificationDeepLinkPath(paths);
Cet appel correspond à la structure de charge utile suivante :
{
"deeply": {
"nested": {
"deep_link": "https://yourdeeplink2.onelink.me"
}
}
}
setCustomerUserId
void setCustomerUserId(string id)
Définir votre propre ID client vous permet de comparer votre ID unique avec l'ID AppsFlyer et celui propre aux autres appareils. Cet identifiant est disponible dans les rapports CSV AppsFlyer, ainsi que dans les API de postbacks, il vous permet de comparer les données avec vos identifiants internes.
parameter | type | description |
---|---|---|
id | string | ID d'utilisateur personnalisé |
Exemple :
AppsFlyer.setCustomerUserId("custom_user_id");
setAppInviteOneLinkID
void setAppInviteOneLinkID(string oneLinkId)
Définissez l'ID OneLink qui doit être utilisé pour User-Invite-API
. Le lien généré pour l'invitation utilisateur utilisera ce OneLink comme lien de base.
parameter | type | description |
---|---|---|
oneLinkId | string | ID OneLink pour l'attribution de l'invitation utilisateur |
Exemple :
AppsFlyer.setAppInviteOneLinkID("abcd");
setAdditionalData
void setAdditionalData(Dictionary<string, string> customData)
L'API setAdditionalData est requise pour l'intégration au niveau SDK avec différentes plateformes partenaires externes, dont Segment, Adobe et Urban Airship.
Utilisez cette API uniquement si la procédure d'intégration de la plateforme stipule que l'API setAdditionalData est requise.
parameter | type | description |
---|---|---|
customData | Dictionary<string, string> | Données complémentaires |
Exemple :
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("custom1", "someData");
AppsFlyer.setAdditionalData(customData);
setResolveDeepLinkURLs
void setResolveDeepLinkURLs(params string[] urls)
Si vous utilisez OneLink (qui prend en charge les liens universels) et que vous l'encapsulez avec un lien universel tiers, vous pouvez utiliser l'API setResolveDeepLinkURLs pour indiquer au SDK AppsFlyer quels domaines de clic appelant l'app doivent être résolus par le SDK, et pour que le OneLink résultant soit extrait de ces mêmes domaines. Cela vous permettra de maintenir le deep linking et l'attribution tout en encapsulant le lien OneLink avec un lien universel tiers. Veillez à appeler cette API avant d'initialiser le SDK.
parameter | type | description |
---|---|---|
urls | params string[] | Éventail des URL |
Exemple :
AppsFlyer.setResolveDeepLinkURLs("test.com", "test2.ca");
setOneLinkCustomDomain
void setOneLinkCustomDomain(params string[] domains)
Les annonceurs peuvent suivre cette méthode pour définir les domaines vanity OneLink.
parameter | type | description |
---|---|---|
domains | params string[] | Éventail des domaines personnalisés |
Exemple :
AppsFlyer.setOneLinkCustomDomain("test.domain", "test2.domain");
setCurrencyCode
void setCurrencyCode(string currencyCode)
Permet de définir le code de la devise locale de l'utilisateur pour les achats in-app.
Le code de la devise doit être au format ISO 4217 à 3 caractères. (la valeur par défaut est USD).
Vous pouvez définir le code de la devise pour tous les événements en appelant la méthode suivante.
parameter | type | description |
---|---|---|
currencyCode | string | Code ISO 4217 à 3 caractères (valeur par défaut : USD) |
Exemple :
AppsFlyer.setCurrencyCode("GBP");
setDeepLinkTimeout
void setDeepLinkTimeout(long deepLinkTimeout)
Setting the deepLink timeout value that should be used for DDL.
If you want to use it, set it before the DDL setting.
parameter | type | description |
---|---|---|
deepLinkTimeout | long | in milliseconds |
Exemple :
AppsFlyer.setDeepLinkTimeout(2000);
enableTCFDataCollection
void enableTCFDataCollection(bool shouldCollectTcfData)
Calling enableTCFDataCollection(true) will enable collecting and sending any TCF related data.
Calling enableTCFDataCollection(false) will disable the collection of TCF related data and from sending it.
parameter | type | description |
---|---|---|
shouldCollectTcfData | bool | true to enable data collection |
Exemple :
AppsFlyer.enableTCFDataCollection(true);;
setConsentData
void setConsentData(AppsFlyerConsent appsFlyerConsent)
Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage purposes within the application.
parameter | type | description |
---|---|---|
appsFlyerConsent | AppsFlyerConsent | Instance of AppsFlyerConsent class |
Exemple :
AppsFlyerConsent consent = AppsFlyerConsent.ForGDPRUser(false, false);
AppsFlyer.setConsentData(consent);
recordLocation
void recordLocation(double latitude, double longitude)
Enregistrement manuel de la localisation de l'utilisateur.
parameter | type | description |
---|---|---|
latitude | double | Latitude de l'utilisateur |
longitude | double | Longitude de l'utilisateur |
Exemple :
AppsFlyer.recordLocation(40.7128, 74.0060);
anonymizeUser
void anonymizeUser(bool shouldAnonymizeUser)
AppsFlyer vous fournit une méthode permettant d'anonymiser certains identifiants d'utilisateur dans les analyses AppsFlyer. Cette méthode se conforme au règlement actuel en matière de confidentialité, et aux politiques d'utilisation des données et de confidentialité de Facebook. La valeur par défaut est NO, aucun ID n'est donc anonymisé par défaut.
Utilisez cette API lors de l'initialisation du SDK pour anonymiser explicitement les installations, évènements ou sessions d'un utilisateur. Vous pouvez annuler l'anonymisation en appelant de nouveau anonymizeUser et en le réglant sur false.
Avertissement
L'anonymisation des utilisateurs impacte FORTEMENT vos informations d'attribution. Utilisez cette option UNIQUEMENT pour les régions dans lesquelles vous êtes légalement tenu de ne pas collecter les informations de vos utilisateurs.
parameter | type | description |
---|---|---|
shouldAnonymizeUser | bool | True pour activer l'anonymisation |
Exemple :
AppsFlyer.anonymizeUser(true);
getAppsFlyerId
string getAppsFlyerId()
L'ID d'appareil unique AppsFlyer est créé à chaque nouvelle installation d’une application. L’API suivante vous permet d'obtenir l’ID unique AppsFlyer.
Exemple :
string uid = AppsFlyer.getAppsFlyerId();
setMinTimeBetweenSessions
void setMinTimeBetweenSessions(int seconds)
Par défaut, au moins 5 secondes doivent s'écouler entre 2 lancements d'app pour qu'elles soient considérées comme distinctes (en savoir plus sur le comptage des sessions). Vous pouvez toutefois utiliser l'API suivante pour définir une durée minimale personnalisée entre les sessions.
Remarque : définir une longue durée personnalisée entre les lancements peut perturber les API qui s'appuient sur les données de session, comme Deep Linking.
parameter | type | description |
---|---|---|
seconds | int | Durée entre les sessions (par défaut : 5 secondes) |
Exemple :
AppsFlyer.setMinTimeBetweenSessions(4);
setHost
void setHost(string hostPrefixName, string hostName)
Définir un hôte personnalisé.
parameter | type | description |
---|---|---|
hostPrefixName | string | |
hostName | string |
Exemple :
AppsFlyer.setHost("hostPrefixName","hostName");
setUserEmails
void setUserEmails(EmailCryptType cryptMethod, params string[] emails)
Définissez les e-mails des utilisateurs et chiffrez-les.
cryptMethod Encryption methods:
EmailCryptType.EmailCryptTypeSHA256
EmailCryptType.EmailCryptTypeNone
parameter | type | description |
---|---|---|
cryptMethod | EmailCryptType | Aucune, ou sha256 |
emails | params string[] | Liste d'e-mails |
Exemple :
AppsFlyer.setUserEmails(EmailCryptType.EmailCryptTypeSHA256, "test1@test1.com", "test2@test2.com");
setPhoneNumber
void setPhoneNumber(string phoneNumber)
Définit le numéro de téléphone de l'utilisateur.
parameter | type | description |
---|---|---|
phoneNumber | string |
Exemple :
AppsFlyer.setPhoneNumber("4166358181");
getConversionData
void getConversionData(string objectName);
Enregistrer un port d'écoute des données de conversion. Permet au développeur d'accéder en temps réel aux données d'attribution des utilisateurs pour chaque nouvelle installation, directement depuis le SDK.
Vous pouvez ainsi offrir aux utilisateurs un contenu personnalisé, ou bien les diriger vers certaines activités de l'app, ce qui pourra renforcer considérablement leur engagement vis-à-vis de votre app.
Obtenir les callbacks en implémentant l'interface IAppsFlyerConversionData.
parameter | type | description |
---|---|---|
objectName | string | Game object avec l'interface IAppsFlyerConversionData |
Exemple :
AppsFlyer.getConversionData(gameObject.name);
attributeAndOpenStore
void attributeAndOpenStore(string appID, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject)
Utilisez l'API suivante pour attribuer le clic et lancer la page de l'app dans l'app store.
Obtenez les callbacks en implémentant l'interface IAppsFlyerUserInvite.
parameter | type | description |
---|---|---|
appID | string | |
campaign | string | |
userParams | Dictionary<string, string> | |
gameObject | MonoBehaviour | Game object avec l'interface IAppsFlyerUserInvite |
Exemple :
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.attributeAndOpenStore("123456789", "test campaign", parameters, this);
logAdRevenue
void logAdRevenue(AFAdRevenueData adRevenueData, Dictionary<string, string> additionalParameters)
Logs ad revenue data along with additional parameters if provided.
parameter | type | description |
---|---|---|
adRevenueData | AFAdRevenueData | Instance of AFAdRevenueData containing ad revenue information |
additionalParameters | Dictionary<string, string> | An optional map of additional parameters to be logged with ad revenue data |
Exemple :
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("value1", "5");
parameters.Add(AdRevenueScheme.COUNTRY, "USA");
var logRevenue = new AFAdRevenueData("monetizationNetworkEx", MediationNetwork.GoogleAdMob, "USD", 0.99);
AppsFlyer.logAdRevenue(logRevenue, parameters);
recordCrossPromoteImpression
void recordCrossPromoteImpression(string appID, string campaign);
Pour attribuer une impression, utilisez l'appel d'API suivant. Veillez à utiliser l'ID d'app au centre de la promotion tel qu'il apparaît dans le tableau de bord AppsFlyer.
parameter | type | description |
---|---|---|
appID | string | App ID |
campaign | string | campaign |
params | Dictionary<string, string> | Paramètres supplémentaires |
Exemple :
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.recordCrossPromoteImpression("appID", "campaign", parameters);
generateUserInviteLink
void generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject)
La classe LinkGenerator génère l'URL d'invitation selon différentes méthodes de paramétrage, ce qui permet de transmettre d'autres données sur les clics. Cf - https://support.appsflyer.com/hc/en-us/articles/115004480866-User-invite-attribution-
parameter | type | description |
---|---|---|
parameters | Dictionary<string, string> | |
gameObject | MonoBehaviour | Game object avec l'interface IAppsFlyerUserInvite |
Exemple :
AppsFlyer.generateUserInviteLink(params, this);
setSharingFilterForAllPartners Deprecated
void setSharingFilterForAllPartners()
Utilisé par les annonceurs pour empêcher tous les réseaux/partenaires intégrés d'obtenir les données.
Exemple :
AppsFlyer.setSharingFilterForAllPartners();
setSharingFilter Deprecated
void setSharingFilter(params string[] partners)
Utilisé par les annonceurs pour configurer un ou plusieurs réseaux/partenaires intégrés qui ne recevront pas de données.
parameter | type | description |
---|---|---|
partners | params string[] partners | Les partenaires qui ne reçoivent pas les données |
Exemple :
AppsFlyer.setSharingFilter("googleadwords_int","snapchat_int","doubleclick_int");
setSharingFilterForPartners
void setSharingFilterForPartners(params string[] partners)
Utilisé par les annonceurs pour configurer un ou plusieurs réseaux/partenaires intégrés qui ne recevront pas de données.
parameter | type | description |
---|---|---|
partners | params string[] partners | Les partenaires qui ne reçoivent pas les données |
Exemple :
AppsFlyer.setSharingFilterForPartners("partner1_int"); // Single partner
AppsFlyer.setSharingFilterForPartners("partner1_int", "partner2_int"); // Multiple partners
AppsFlyer.setSharingFilterForPartners("all"); // All partners
AppsFlyer.setSharingFilterForPartners(""); // Reset list (default)
AppsFlyer.setSharingFilterForPartners(); // Reset list (default)
setPartnerData
void setPartnerData(string partnerID, params string[] partnerInfo)
Permet d'envoyer des données personnalisées pour l'intégration des partenaires.
parameter | type | description |
---|---|---|
partnerID | string | ID du partenaire (généralement avec le suffixe « _int »). |
partnerInfo | params string[] | Les données client dépendent de la configuration de l'intégration avec le partenaire concerné. |
Exemple :
Dictionary<string, string> partnerInfo = new Dictionary<string, string>();
partnerInfo.Add("puid", "1234567890");
AppsFlyer.setPartnerData("partner_test", partnerInfo);
API Android uniquement
updateServerUninstallToken
void updateServerUninstallToken(string token)
Permet de définir manuellement le jeton d'appareil Firebase pour la mesure des désinstallations.
parameter | type | description |
---|---|---|
token | string | Jeton FCM Firebase |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.updateServerUninstallToken("token");
#endif
setImeiData
void setImeiData(string imei)
Par défaut, le numéro IMEI et l'ID Android ne sont pas collectés par le SDK si la version OS est supérieure à la version KitKat (4.4), et si l'appareil comprend les Services Google Play (sur la version SDK 4.8.8 et -, l'application spécifique exigeait GPS). Utilisez cette API pour envoyer explicitement l'ID Android à AppsFlyer.
parameter | type | description |
---|---|---|
imei | string | IMEI de l'appareil |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setImeiData("imei");
#endif
setAndroidIdData
void setAndroidIdData(string androidId)
Par défaut, l'IMEI et l'Android ID ne sont pas collectés par le SDK si la version d'OS est supérieure à KitKat (4.4) et si l'appareil inclut des services Google Play (sur les versions SDK 4.8.8 et -, l'application spécifique exigeait GPS).
Utilisez cette API pour envoyer explicitement l'ID Android à AppsFlyer.
parameter | type | description |
---|---|---|
androidId | string | L'identifiant Android de l'appareil |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setAndroidIdData("androidId");
#endif
waitForCustomerUserId
void waitForCustomerUserId(bool wait)
Il est possible d'attendre que le customerUserID soit défini pour lancer l'initialisation du SDK. Cette fonctionnalité permet de s'assurer que le SDK ne commence pas avant d'avoir obtenu le customerUserID. Quand cette API est utilisée, l'ensemble des évènements in-app et appels aux API SDK est ignoré, et ce jusqu'à ce que le customerUserID soit fourni et enregistré.
parameter | type | description |
---|---|---|
wait | bool | True si vous voulez que le SDK attende customerUserID. |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.waitForCustomerUserId(true);
#endif
setCustomerIdAndStartSDK
void setCustomerIdAndStartSDK(string id)
Before calling this method, the method
waitForCustomerUserId
must be called
Cetet API permet d'indiquer au SDK le bon ID d'utilisateur-client et d'enclencher l'activité normale du SDK.
parameter | type | description |
---|---|---|
id | string | ID client. |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCustomerIdStartSDK("id");
#endif
getOutOfStore
string getOutOfStore()
Récupère la valeur AF_STORE en cours.
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
string af_store = AppsFlyer.getOutOfStore();
#endif
setOutOfStore
void setOutOfStore(string sourceName)
Permet de définir manuellement la valeur AF_STORE.
parameter | type | description |
---|---|---|
sourceName | string |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setOutOfStore("sourceName");
#endif
setCollectAndroidID
void setCollectAndroidID(bool isCollect)
Pour refuser la collecte de l'ID Android. Si l'application ne contient PAS les services Google Play, l'identifiant Android est collecté par le SDK. Cependant, les applications dotées des services Google Play doivent éviter la collecte du numéro IMEI, car cela va à l'encontre de la politique Google Play.
parameter | type | description |
---|---|---|
isCollect | bool |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectAndroidID(true);
#endif
setCollectIMEI
void setCollectIMEI(bool isCollect)
Refuser la collecte de l'IMEI. Si l'app ne contient PAS les services Google Play, l'IMEI de l'appareil est collecté par le SDK. Cependant, les applications dotées des services Google Play doivent éviter la collecte du numéro IMEI, car cela va à l'encontre de la politique Google Play.
parameter | type | description |
---|---|---|
isCollect | bool |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectIMEI(true);
#endif
setIsUpdate
void setIsUpdate(bool isUpdate)
Permet de définir manuellement que l'app a été mise à jour.
parameter | type | description |
---|---|---|
isUpdate | bool | True si l'application a été mise à jour |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setIsUpdate(true);
#endif
setPreinstallAttribution
void setPreinstallAttribution(string mediaSource, string campaign, string siteId)
Indiquez le nom du fabricant ou de la source média à qui la pré-installation est attribuée.
parameter | type | description |
---|---|---|
mediaSource | string | Nom du fabricant ou de la source média pour l'attribution de pré-installations. |
campaign | string | Nom de la campagne pour l'attribution pré-installation. |
siteId | string | ID du site pour l'attribution pré-installation. |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setPreinstallAttribution("mediaSource", "campaign", "siteId");
#endif
isPreInstalledApp
bool isPreInstalledApp()
Indicateur booléen à pré-installer par le fabricant.
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
if (AppsFlyer.isPreInstalledApp())
{
}
#endif
handlePushNotifications
void handlePushNotifications()
Lorsque l'API handlePushNotifications est appelée, les notifications push seront enregistrées.
Exemple :
AppsFlyer.handlePushNotifications();
getAttributionId
string getAttributionId()
Produit l'identifiant d'attribution Facebook, s'il existe.
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
string attributionId = AppsFlyer.getAttributionId();
#endif
validateAndSendInAppPurchase-beta
void validateAndSendInAppPurchase(AFPurchaseDetailsAndroid details, string> additionalParameters, MonoBehaviour gameObject)
API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.
parameter | type | description |
---|---|---|
details | AFPurchaseDetailsAndroid | Instance of AFPurchaseDetailsAndroid class |
additionalParameters | Dictionary<string, string> | Paramètres à envoyer avec l'achat. |
gameObject | MonoBehaviour | Game object pour l'envoi des callbacks |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AFPurchaseDetailsAndroid details = new AFPurchaseDetailsAndroid(AFPurchaseType.Subscription,
"token", "productId", "price", "currency");
AppsFlyer.validateAndSendInAppPurchase(
details,
null,
this);
#endif
validateAndSendInAppPurchase
void validateAndSendInAppPurchase(string publicKey, string signature, string purchaseData, string price, string currency, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.
parameter | type | description |
---|---|---|
publicKey | string | Clé de licence obtenue via la Google Play Console. |
signature | string | data.INAPP_DATA_SIGNATURE. |
purchaseData | string | data.INAPP_PURCHASE_DATA |
price | string | Prix de l'achat |
currency | string | ID du site pour l'attribution pré-installation. |
additionalParameters | Dictionary<string, string> | Paramètres à envoyer avec l'achat. |
gameObject | MonoBehaviour | Game object pour l'envoi des callbacks |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"publicKey",
"signature",
"purchaseData",
"price",
"currency",
null,
this);
#endif
setCollectOaid
void setCollectOaid(boolean isCollect)
setCollectOaid
You must include the appsflyer oaid library for this api to work.
parameter | type | description |
---|---|---|
isCollect | bool | True pour permettre la collecte de l'OAID |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectOaid(true);
#endif
setDisableAdvertisingIdentifiers
void setDisableAdvertisingIdentifiers(boolean disable)
setDisableAdvertisingIdentifiers
Disables collection of various Advertising IDs by the SDK. This includes Google Advertising ID (GAID), OAID and Amazon Advertising ID (AAID)
parameter | type | description |
---|---|---|
disable | bool | True pour désactiver |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setDisableAdvertisingIdentifiers(true);
#endif
setDisableNetworkData
void setDisableNetworkData(boolean disable)
setDisableNetworkData
Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.
parameter | type | description |
---|---|---|
disable | bool | True pour refuser |
Exemple :
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setDisableNetworkData(true);
#endif
API iOS uniquement
setDisableCollectAppleAdSupport
void setDisableCollectAppleAdSupport(bool disable)
Le SDK AppsFlyer collecte les données d'Apple. advertisingIdentifier
if the AdSupport.framework
est inclus dans le SDK.
Vous pouvez désactiver ce comportement en donnant la valeur True à la propriété suivante.
parameter | type | description |
---|---|---|
disable | bool |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setDisableCollectAppleAdSupport(true);
#endif
handlePushNotifications(iOS)
void handlePushNotification(Dictionary<string, string> pushPayload)
When the handlePushNotifications API is called from a service that is swizzling, like Firebase, the push notifications payload will be handled by the AppsflyerSDK.
parameter | type | description |
---|---|---|
pushPayload | Dictionary<string, string> | the push notification payload |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
// e.Message.Data = push notification payload
var dataDict = new Dictionary<string, string>(e.Message.Data);
AppsFlyeriOS.handlePushNotification(dataDict);
#endif
setShouldCollectDeviceName
void setShouldCollectDeviceName(bool shouldCollectDeviceName)
Quand ce drapeau est réglé sur YES, permet de collecter le nom de l'appareil en cours (ex : «Mon iPhone»). La valeur par défaut est false.
parameter | type | description |
---|---|---|
shouldCollectDeviceName | bool |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setShouldCollectDeviceName(true);
#endif
setDisableCollectIAd
void setDisableCollectIAd(bool disableCollectIAd)
Désactivation de l'attribution des Apple Search Ads.
parameter | type | description |
---|---|---|
disableCollectIAd | bool |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setDisableCollectIAd(true);
#endif
setUseReceiptValidationSandbox
void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)
Permet de valider la réception des achats in-app sous environnement Apple (production ou sandbox). La valeur par défaut est false.
parameter | type | description |
---|---|---|
useReceiptValidationSandbox | bool | True si l'achat in app est fait sous sandbox |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseReceiptValidationSandbox(true);
#endif
setUseUninstallSandbox
void setUseUninstallSandbox(bool useUninstallSandbox)
Ce drapeau permet de tester la désinstallation sous environnement Apple (production ou sandbox). La valeur par défaut est false.
parameter | type | description |
---|---|---|
useUninstallSandbox | bool | True si vous utilisez un certificat APN |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseUninstallSandbox(true);
#endif
validateAndSendInAppPurchase-beta-iOS
void validateAndSendInAppPurchase(AFSDKPurchaseDetailsIOS details, Dictionary<string, string> extraEventValues, MonoBehaviour gameObject)
Pour envoyer et valider les achats in-app, appelez cette méthode depuis la méthode processPurchase.
parameter | type | description |
---|---|---|
details | AFSDKPurchaseDetailsIOS | Instance of AFSDKPurchaseDetailsIOS class. |
extraEventValues | Dictionary<string, string> | Le param supplémentaire, celui que vous souhaitez recevoir dans les rapports bruts. |
gameObject | MonoBehaviour | the game object for the |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AFSDKPurchaseDetailsIOS details = AFSDKPurchaseDetailsIOS.Init("productId", "price", "currency",
"transactionId");
AppsFlyer.validateAndSendInAppPurchase(
details,
null,
this);
#endif
validateAndSendInAppPurchase
void validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string tranactionId, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
Pour envoyer et valider les achats in-app, appelez cette méthode depuis la méthode processPurchase.
parameter | type | description |
---|---|---|
productIdentifier | string | L'identifiant du produit. |
price | string | Le prix du produit. |
currency | string | La devise du produit. |
tranactionId | string | L'ID de transaction d'achat. |
additionalParameters | Dictionary<string, string> | Le param supplémentaire, celui que vous souhaitez recevoir dans les rapports bruts. |
gameObject | MonoBehaviour | Le game object pour les callbacks |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"productIdentifier",
"price",
"currency",
"tranactionId",
null,
this);
#endif
registerUninstall
void registerUninstall(byte[] deviceToken)
Enregistrement des désinstallations : vous devez vous inscrire pour la notification distante, et fournir à AppsFlyer le jeton de l'appareil push.
parameter | type | description |
---|---|---|
deviceToken | byte[] | Jeton APN |
Exemple :
private bool tokenSent;
void Update()
{
#if UNITY_IOS && !UNITY_EDITOR
if (!tokenSent)
{
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
if (token != null)
{
AppsFlyer.registerUninstall(token);
tokenSent = true;
}
}
#endif
}
handleOpenUrl
void handleOpenUrl(string url, string sourceApplication, string annotation)
In case you want to track deep linking manually call handleOpenUrl.
The continueUserActivity and onOpenURL are implemented in the AppsFlyerAppController.mm class, so
only use this method if the other methods do not cover your apps deeplinking needs.
parameter | type | description |
---|---|---|
url | string | L'URL à transmettre à votre AppDelegate |
sourceApplication | string | La sourceApplication à transmettre à votre AppDelegate |
annotation | string | L'annotation à transmettre à votre délégué d'app |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.handleOpenUrl(string url, string sourceApplication, string annotation);
#endif
waitForATTUserAuthorizationWithTimeoutInterval
void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)
Consultez cette section pour en savoir plus.
parameter | type | description |
---|---|---|
timeoutInterval | int | Temps d'attente de l'idfa |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endif
disableSKAdNetwork
bools disableSKAdNetwork(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | True pour désactiver SKAdNetwork |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableSKAdNetwork(true);
#endif
setLanguage
setCurrentDeviceLanguage(string language)
parameter | type | description |
---|---|---|
language | String | La langue à définir |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setCurrentDeviceLanguage("english");
#endif
disableIDFVCollection
disableIDFVCollection(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | True to disable IDFV collection |
Exemple :
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableIDFVCollection(true);
#endif
IAppsFlyerConversionData
onConversionDataSuccess
public void onConversionDataSuccess(string conversionData)
ConversionData contient des informations sur l'installation.
Organique / non-organique, etc. Consultez cette section pour en savoir plus.
parameter | type | description |
---|---|---|
conversionData | string | Chaîne JSON des données de conversion renvoyées |
Exemple :
public void onConversionDataSuccess(string conversionData)
{
AppsFlyer.AFLog("onConversionDataSuccess", conversionData);
Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
// add deferred deeplink logic here
}
onConversionDataFail
public void onConversionDataFail(string error)
parameter | type | description |
---|---|---|
error | string | Une chaîne qui décrit l'erreur |
Exemple :
public void onConversionDataFail(string error)
{
AppsFlyer.AFLog("onConversionDataFail", error);
}
onAppOpenAttribution
public void onAppOpenAttribution(string attributionData)
attributionData contient des informations sur OneLink, deeplink.
parameter | type | description |
---|---|---|
attributionData | string | Chaîne JSON des données de deep linking renvoyées |
Exemple :
public void onAppOpenAttribution(string attributionData)
{
AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
// add direct deeplink logic here
}
onAppOpenAttributionFailure
public void onAppOpenAttributionFailure(string error)
Toute erreur survenue lors de la demande d'attribution.
parameter | type | description |
---|---|---|
error | string | Chaîne qui décrit l'erreur |
Exemple :
public void onAppOpenAttributionFailure(string error)
{
AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
}
IAppsFlyerUserInvite
onInviteLinkGenerated
public void onInviteLinkGenerated(string link)
Callback de confirmation de la génération d'URL OneLink.
parameter | type | description |
---|---|---|
link | string | Le lien créé |
Exemple :
public void onInviteLinkGenerated(string link)
{
}
onInviteLinkGeneratedFailure
public void onInviteLinkGeneratedFailure(string error)
Callback d'échec de la génération d'URL OneLink
parameter | type | description |
---|---|---|
error | string | Une chaîne qui décrit l'erreur |
Exemple :
public void onInviteLinkGeneratedFailure(string error)
{
AppsFlyer.AFLog("onInviteLinkGeneratedFailure", error);
}
onOpenStoreLinkGenerated
public void onOpenStoreLinkGenerated(string link)
(IOS uniquement) Vous permet d'utiliser le composant StoreKit pour ouvrir l'App Store sans quitter l'environnement de votre app. Plus d'informations ici.
parameter | type | description |
---|---|---|
attributionData | string | Chaîne JSON des données de deep linking renvoyées |
Exemple :
public void onOpenStoreLinkGenerated(string link)
{
}
IAppsFlyerValidateReceipt
didFinishValidateReceipt
public void didFinishValidateReceipt(string result)
Callback de confirmation de l'API validateAndSendInAppPurchase.
Pour Android : le callback renvoie « Validate success » (Validation réussie).
Pour iOS : le callback renvoie une chaîne JSON depuis l'API Apple verifyReceipt.
parameter | type | description |
---|---|---|
result | string | Le résultat validé |
Exemple :
public void didFinishValidateReceipt(string link)
{
}
IAppsFlyerValidateAndLog
onValidateAndLogComplete
public void didFinishValidateReceipt(string result)
The success callback for validateAndSendInAppPurchase API.
The callback will return a JSON string which can be converted to dictionary.
parameter | type | description |
---|---|---|
result | string | Le résultat validé |
Exemple :
public void onValidateAndLogComplete(string result)
{
AppsFlyer.AFLog("onValidateAndLogComplete", result);
Dictionary<string, object> validateAndLogDataDictionary = AppsFlyer.CallbackStringToDictionary(result);
}
onValidateAndLogFailure
public void onValidateAndLogFailure(string error)
The error callback for validating receipts.
The callback will return a JSON string which can be converted to dictionary.
parameter | type | description |
---|---|---|
error | string | Une chaîne qui décrit l'erreur |
Exemple :
public void onValidateAndLogFailure(string error)
{
AppsFlyer.AFLog("onValidateAndLogFailure", error);
}
Events
onRequestResponse
public static event EventHandler OnRequestResponse
Le callback pour les Sessions.
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. (« Délai de l'événement ») Vérifiez 'minTimeBetweenSessions' param" |
11 | "Skipping event because 'isStopTracking' enabled" (« Sauter l'événement car isStopTracking est activé ») |
40 | Erreur réseau : la description de l'erreur provient d'Android |
41 | "No dev key" (« Pas de clé de développement ») |
50 | « Status code failure » + code correspondant à la réponse du serveur |
Exemple :
AppsFlyer.OnRequestResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("AppsFlyerOnRequestResponse", "status code" + af_args.statusCode);
};
onInAppResponse
public static event EventHandler OnInAppResponse
Le callback pour les événements In-App.
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. (« Délai de l'événement ») Vérifiez 'minTimeBetweenSessions' param" |
11 | "Skipping event because 'isStopTracking' enabled" (« Sauter l'événement car isStopTracking est activé ») |
40 | Erreur réseau : la description de l'erreur provient d'Android |
41 | "No dev key" (« Pas de clé de développement ») |
50 | « Status code failure » + code correspondant à la réponse du serveur |
Exemple :
AppsFlyer.OnInAppResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("OnRequestResponse", "status code" + af_args.statusCode);
};
onDeepLinkReceived
public static event EventHandler OnDeepLinkReceived
Le callback pour l'API Deeplink unifié.
Exemple :
// First call init with devKey, appId and gameObject
AppsFlyer.initSDK(devKey, appID, this);
AppsFlyer.OnDeepLinkReceived += (sender, args) =>
{
var deepLinkEventArgs = args as DeepLinkEventsArgs;
// DEEPLINK LOGIC HERE
};
Mis(e) à jour il y a 5 mois