> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adjust

> Corrélez l'attribution et les callbacks d'événements Adjust avec les utilisateurs OneSignal en transmettant l'External ID OneSignal comme partner parameter Adjust.

Adjust est un partenaire de mesure mobile (MMP) qui attribue les installations, les sessions et les événements in-app sur l'ensemble de vos canaux marketing. Cette intégration transmet l'[External ID](./users#external-id) OneSignal à Adjust en tant que partner parameter `onesignal_customer_id`, afin qu'Adjust puisse corréler les événements qu'il renvoie à OneSignal avec le bon utilisateur.

## Exigences

* SDK mobile OneSignal version 5.5.0 ou supérieure.
* Un [External ID](./users#external-id) défini sur l'utilisateur OneSignal. Les synchronisations de données entre Adjust et OneSignal sont indexées sur cet ID, de sorte que l'intégration ne peut pas corréler les événements pour les utilisateurs anonymes.

## Configuration

Deux conditions doivent être remplies pour que les callbacks Adjust atteignent le bon utilisateur OneSignal : Adjust doit être configuré pour transférer les événements vers OneSignal, et votre application doit attacher l'External ID comme partner parameter à chaque session.

### 1. Activez le partage de données dans le tableau de bord Adjust

Dans votre tableau de bord Adjust, activez l'intégration OneSignal et choisissez les événements à transférer. Adjust envoie par défaut l'activité `install` et `session` ; vous pouvez également mapper des événements personnalisés et les revenus in-app. Suivez le guide [Set up OneSignal](https://help.adjust.com/en/integrated-partners/onesignal) d'Adjust pour connaître les étapes exactes.

<Note>
  Sans cette étape dans le tableau de bord, Adjust n'envoie jamais de callback à OneSignal, et le code SDK de l'étape suivante n'a donc rien auquel attacher le paramètre `onesignal_customer_id`.
</Note>

### 2. Transmettez l'External ID comme partner parameter

Lorsqu'un utilisateur se connecte à votre application, appelez la [méthode `login`](./mobile-sdk-reference#login-external-id) d'OneSignal pour définir l'External ID, puis appelez la méthode `addGlobalPartnerParameter` d'Adjust avec la clé `onesignal_customer_id` et le même External ID comme valeur. Adjust transfère cette paire clé–valeur sur chaque callback suivant, et OneSignal utilise `onesignal_customer_id` pour associer le callback au bon utilisateur.

<Warning>
  Tous les SDK Adjust non-iOS utilisent l'ordre d'arguments `(key, value)`. Swift et Objective-C sous iOS utilisent `(value, forKey: key)`. Passer l'External ID comme clé par erreur casse l'intégration en silence : Adjust transfère un paramètre nommé d'après votre chaîne d'ID utilisateur, et OneSignal ne verra jamais `onesignal_customer_id`.
</Warning>

<CodeGroup>
  ```kotlin Kotlin theme={null}
  val externalId = "your_user_id"
  OneSignal.login(externalId)
  Adjust.addGlobalPartnerParameter("onesignal_customer_id", externalId)
  ```

  ```java Java theme={null}
  String externalId = "your_user_id";
  OneSignal.login(externalId);
  Adjust.addGlobalPartnerParameter("onesignal_customer_id", externalId);
  ```

  ```swift Swift theme={null}
  let externalId = "your_user_id"
  OneSignal.login(externalId)
  Adjust.addGlobalPartnerParameter(externalId, forKey: "onesignal_customer_id")
  ```

  ```objc Objective-C theme={null}
  NSString *externalId = @"your_user_id";
  [OneSignal login:externalId];
  [Adjust addGlobalPartnerParameter:externalId forKey:@"onesignal_customer_id"];
  ```

  ```csharp C# theme={null}
  string externalId = "your_user_id";
  OneSignal.Login(externalId);
  Adjust.AddGlobalPartnerParameter("onesignal_customer_id", externalId);
  ```

  ```javascript React Native theme={null}
  const externalId = "your_user_id";
  OneSignal.login(externalId);
  Adjust.addGlobalPartnerParameter("onesignal_customer_id", externalId);
  ```

  ```dart Flutter theme={null}
  final externalId = "your_user_id";
  OneSignal.login(externalId);
  Adjust.addGlobalPartnerParameter("onesignal_customer_id", externalId);
  ```

  ```javascript Cordova/Ionic theme={null}
  const externalId = "your_user_id";

  // Ionic
  OneSignal.login(externalId);

  // Cordova
  window.plugins.OneSignal.login(externalId);

  Adjust.addGlobalPartnerParameter("onesignal_customer_id", externalId);
  ```
</CodeGroup>

Pour la référence du SDK Adjust sous-jacent, consultez la documentation Global Partner Parameters d'Adjust pour [Android](https://dev.adjust.com/en/sdk/android/features/session-parameters#add-global-partner-parameters) et [iOS](https://dev.adjust.com/en/sdk/ios/features/session-parameters/#global-partner-parameters).

## Deep linking

Adjust utilise [iOS Universal Links et Android App Links](https://www.adjust.com/glossary/deep-linking/) pour rediriger les taps sur les notifications push vers des écrans spécifiques de votre application. Lorsque vous envoyez des notifications OneSignal qui doivent ouvrir un deep link Adjust, définissez la Launch URL de la notification sur le deep link Adjust, comme décrit dans le guide [Push Notifications](https://help.adjust.com/en/article/push-notifications) d'Adjust. Consultez le [guide Deep linking](./deep-linking) d'OneSignal pour savoir comment les Launch URL sont gérées selon la plateforme.

## FAQ

### Qu'est-ce que le partner parameter `onesignal_customer_id` ?

`onesignal_customer_id` est la clé exacte qu'OneSignal lit dans les callbacks Adjust pour corréler un événement Adjust avec un utilisateur OneSignal. Définissez sa valeur avec le même External ID que vous transmettez à `OneSignal.login`. Aucun autre nom de clé ne sera reconnu.

### Quand dois-je appeler `Adjust.addGlobalPartnerParameter` ?

Appelez-le à chaque fois que vous appelez `OneSignal.login` : au démarrage de l'application une fois l'ID de l'utilisateur connu, puis à nouveau lors d'un changement de compte. Cela reflète les [recommandations login](./mobile-sdk-reference#login-external-id) d'OneSignal et maintient le partner parameter Adjust synchronisé avec l'utilisateur OneSignal actuel.

### Que se passe-t-il quand un utilisateur se déconnecte ou change de compte ?

Adjust conserve les global partner parameters en mémoire jusqu'à ce que vous les modifiez ou les supprimiez. À la déconnexion, appelez `Adjust.removeGlobalPartnerParameter("onesignal_customer_id")` (ou écrasez la valeur lors du login suivant). Sinon, Adjust continuera d'attribuer les événements suivants à l'External ID de l'utilisateur précédent.

### Quelles données Adjust envoie-t-il à OneSignal ?

Par défaut, Adjust transfère l'activité `install` et `session`, ainsi que tous les événements que vous mappez dans le tableau de bord Adjust. La liste complète des champs transférés est documentée dans l'[article d'intégration OneSignal d'Adjust](https://help.adjust.com/en/integrated-partners/onesignal).

***

## Pages associées

<Columns cols={2}>
  <Card title="External ID" icon="id-card" href="./users#external-id">
    Définissez un identifiant stable sur votre utilisateur OneSignal pour que les intégrations partenaires puissent corréler les données.
  </Card>

  <Card title="Mobile SDK: login" icon="mobile" href="./mobile-sdk-reference#login-external-id">
    Référence de `OneSignal.login`, y compris quand l'appeler et son comportement de réessai.
  </Card>

  <Card title="Deep linking" icon="link" href="./deep-linking">
    Configurez Universal Links, App Links et schémas URI pour push, in-app, email et SMS.
  </Card>

  <Card title="Keys & IDs" icon="key" href="./keys-and-ids">
    Retrouvez votre App ID et REST API Key OneSignal pour la configuration du tableau de bord Adjust.
  </Card>
</Columns>
