# SDK

<details>

<summary>Comment initialiser le module ServerSide?</summary>

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2FvjkhTXLvYLDdMmcymysr%2FSSV1.png?alt=media&#x26;token=067f30b8-27ec-4169-b746-8029620505e6" alt="" data-size="original">

Les paramètres suivants doivent être renseignés :

* siteID
* sourceKey
* defaultBehaviour
* Event (optionnel)

[https://github.com/CommandersAct/tcserverside-flutter-plugin/blob/master/lib/tc\_serverside.dart <br>](https://github.com/CommandersAct/tcserverside-flutter-plugin/blob/master/lib/tc_serverside.dart)

</details>

<details>

<summary>Comment obtenir mon siteID et mon sourceKey ?</summary>

Voici comment obtenir ces 2 inforations :

* siteID : correspond à votre ID de workspace sur la plateforme Commanders Act<br>
* sourceKey : vous l’obtiendrez en créant la source Flutter, depuis le le menu Source => Create de la plateforme Commanders Act••

\*Si besoin, un consultant Commanders Act peut vous aider à obtenir ces 2 identifiants

</details>

<details>

<summary>A quoi sert le defaultBehaviour ?</summary>

Il sert à determiner comment vous souhaitez initialiser le module ServerSide

3 valeurs sont possibles

* PB\_DEFAULT\_BEHAVIOUR : méthode à utiliser si vous n’avez pas le module consent
* PB\_ALWAYS\_ENABLED : le module est actif avant le consentement, cela permet d’envoyer des événements avant que l’utilisateur ait donné son consentement
* PB\_DISABLED\_BY\_DEFAULT : le module est désactivé avant le consentement, il s’activera après que l’utilisateur ait accepté les cookies (optin)

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2FDtWW0T0PIBFv5kecmiui%2FSSV2.png?alt=media&#x26;token=baf0b6ed-8c4f-444d-92a6-7e72bf3ed680" alt="" data-size="original">

</details>

<details>

<summary>Mon datalayer doit-il être identique pour mon site web et mon appli ?</summary>

C'est une bonne pratique !

Nous recommandons fortement d'avoir le même datalayer pour l'application web et l'application mobile.\
\
Nous vous recommandons d’utiliser nos nomenclatures standardisées

\
<https://community.commandersact.com/platform-x/developers/tracking/events-reference>

Principal bénéfice : une seule destination à configurer pour les deux sources !

La configuration de votre destination sera reconnue par le web et le mobile.

</details>

<details>

<summary>Pourquoi envoyer un événement dès l’initialisation du module ?</summary>

Il sert à envoyer un événement avant le consentement (recommandé pour les destination exemptée de consentement)

Vous devrez renseigner le parameter ‘event’.\
Cela peut être un événement standard Commanders Act (recommandé)\
Ou cela peut être un event custom, selon vos besoins

<https://community.commandersact.com/platform-x/developers/tracking/events-reference>

<https://github.com/CommandersAct/tcserverside-flutter-plugin/tree/master/lib/events>

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2FhZRkUNSUnApyQfeGpvJ3%2FSSV3.png?alt=media&#x26;token=68b6a5f0-1dac-4a99-999f-a9ecdcb41070" alt="" data-size="original">

</details>

<details>

<summary>Puis-je utiliser des propriétés additionelles dans mes events ?</summary>

Il suffit des les ajouter à la suite des propriétés standards

\*Attention à bien les valoriser sur la plateforme Commanders Act

Exemple :

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2FhMG6rPNgj6ozOe2yAZku%2FSSV4.png?alt=media&#x26;token=bbbb82c0-62eb-4b74-9609-20addd8960aa" alt="" data-size="original">

</details>

<details>

<summary>Puis-je créer des events custom ?</summary>

Oui c’est possible !

Pour plus d'informations, consultez cette partie de notre documentation

\
<https://github.com/CommandersAct/tcserverside-flutter-plugin/blob/master/lib/events/TCCustomEvent.dart>

\*N’oubliez pas de nommer votre event : ici dans l’exemple nommé ‘super’

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2FTb5gVa3pbBbxpx3tB3hM%2FSSV5.png?alt=media&#x26;token=dc43c6ac-d3ba-4508-9e72-b6a174b564cc" alt="" data-size="original">

</details>

<details>

<summary>Puis-je ajouter des variables persistantes ?</summary>

Oui c’est possible !

Si vous devez définir une variable persistante, veuillez vous référer à cette documentation :

\
<https://github.com/CommandersAct/tcserverside-flutter-plugin/blob/master/lib/tc_serverside.dart>

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2Ffc4993KaqRRgUp0NeFcS%2FSSV6.png?alt=media&#x26;token=dcd0908f-47d5-466a-979a-c77b0ca9f665" alt="" data-size="original">

\*Les paramètres ‘key’ et ‘value’ sont à définir par vos soins

Definition d’une variable persistante :

C'est un système de clé/valeur, dont la valeur restera la même pour toujours.

(exemple : ID du compte Google)

</details>

<details>

<summary>Comment puis-je obtenir les IDFA/AAID ?</summary>

Notre SDK ne collecte plus automatiquement l'IDFA/AAID, mais nous proposons une méthode simple pour capter cette information.<br>

Android :

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2FaYjuqo6p92MvB9ChtSJ0%2FsdkFAQ1.png?alt=media&#x26;token=3479ab17-1a41-45e7-99ab-8802b6252c4b" alt="" data-size="original">

[https://github.com/CommandersAct/AndroidV5/tree/master/TCServerSide#getting-aaid](https://github.com/CommandersAct/AndroidV5/tree/master/TCServerSide)

iOS :

<img src="https://3381090214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEe3W7NzUcXEd8EpLaNY9%2Fuploads%2F65QEZJySgJEuCoB02tlX%2FsdkFAQ2.png?alt=media&#x26;token=fd3d4273-937d-465c-acc0-247efc059c85" alt="" data-size="original">

[https://github.com/CommandersAct/iosV5/tree/master/TCServerSide#getting-idfa](https://github.com/CommandersAct/iosV5/tree/master/TCServerSide)

</details>
