> For the complete documentation index, see [llms.txt](https://community.commandersact.com/customer-success/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community.commandersact.com/customer-success/faqs/consent-and-preference-management/sdk-cmp-introduction.md).

# SDK CMP : Introduction

<details>

<summary>CMP: Can we customize JSON?</summary>

* You can choose a color for the buttons, and the content.&#x20;
* You can write an introductory text.&#x20;
* Category titles and texts (subcategories are also possible)&#x20;
* A link to the strategy's privacy page.&#x20;
* You can set up custom providers and categories if needed.

</details>

<details>

<summary>CMP: What is not possible?</summary>

* There is no way to have a category blocked on optin, and you will have to mention it in the introduction text&#x20;
* The neutral buttons function does not exist, it is disabled by default&#x20;
* You can't add a logo, change the style/position of the buttons or any type of custom css as you are used to doing for the web.

</details>

<details>

<summary>JSON CMP: where should I host it?</summary>

* Yes, it is possible!
* If you want to design your own e-privacy management user interface, json is not necessary.
* Simply follow the section of the documentation entitled "**manually posted consent**".
  * [https://github.com/TagCommander/pods/tree/master/TCPrivacy#manually-displayed-consent](https://github.com/TagCommander/pods/tree/master/TCPrivacy)
  * [https://github.com/TagCommander/Android/tree/master/TCPrivacy#manually-displayed-consent](https://github.com/TagCommander/Android/tree/master/TCPrivacy)

</details>

<details>

<summary>Why set up multiple SDK banners on the CMP?</summary>

* In the CMP, we recommend you to make 2 banners for SDK (1 iOS and 1 Android)&#x20;
* You don't need to enter text on your banner, just attach the right categories to your banner. Generating and deploying is not necessary either.&#x20;
* These banners are necessary to get statistics on the Dashoboards tab (they create a link between the application and the interface).&#x20;
* Making 1 banner for each device will allow you to have separate statistics on the dashboards.&#x20;
* Get the ID for each banner, you will need it in the deployment phase.&#x20;

*NB. If it is an iAB banner, don't forget to select the appropriate template from the library*

</details>

<details>

<summary>Is there a first banner display before e-privacy?</summary>

* Our SDK was not designed to display a "normal" first banner"
* If necessary, you will need to create your own user interface and use our callbacks on CTAs, as follows:
  * If you use the json Commanders Act :
    * \[\[TCMobilePrivacy sharedInstance] refuseAllConsent];
    * \[\[TCMobilePrivacy sharedInstance] acceptAllConsent];
  * If you use the json Commanders Act :
    * If you are not using json (displaying the consent manually), you will have to create an array and send the value, as explained here :
      * [https://github.com/TagCommander/pods/tree/master/TCPrivacy#manually-displayed-consent](https://github.com/TagCommander/pods/tree/master/TCPrivacy)

</details>

<details>

<summary>What is the use of the consent ID?</summary>

* To track unique consent and be able to provide proof of consent, a unique identifier is required for each user
* Our sdk can create this unique IDENTIFIER, it is called the TC\_SDK\_ID
* You can also use another identifier, such as the account identifier or the user identifier (note: the user must be logged in before giving consent for this to work)\
  \
  Please refer to the following part of the documentation:

  * [https://github.com/TagCommander/pods/tree/master/TCPrivacy#retaining-consent](https://github.com/TagCommander/pods/tree/master/TCPrivacy)
  * [https://github.com/TagCommander/Android/tree/master/TCPrivacy#retaining-consent](https://github.com/TagCommander/Android/tree/master/TCPrivacy)

  *NB. You must leave this identifier visible to the user (somewhere in the application), in case the user wishes to obtain his proof of consent*

</details>

<details>

<summary>Will tags (such as ad sdk) hard-coded into the application be automatically constrained by our SDK?</summary>

NO: this must be done manually by your IT

</details>

<details>

<summary>Will the tags in the server-side container be automatically constrained by our SDK?</summary>

NO: this must be done manually by YOU

</details>

<details>

<summary>When will the WPC be posted?</summary>

* When you first open the application&#x20;
* if the user uninstalls and reinstalls the application&#x20;
* if the consent is obsolete (due to the duration of the consent)&#x20;
* if the IT department uses one of these callbacks: (void) consentOutdated; (void) consentCategoryChanged; (void) significantChangesInPrivacy;

</details>

<details>

<summary>Where is the proof of consent saved?</summary>

In the users' device and in our database

</details>

<details>

<summary>If I don't use your json, do I have to activate/deactivate the data collected by myself?</summary>

Data collection is not automatic! So, yes, you have to configure the collection by yourself (based on the consentUpdated method)

</details>

<details>

<summary>Is there a demo environment?</summary>

* We have created a demo version of our SDK, for each device
* This can be very useful for IT teams, so don't hesitate to use it!
  * <https://github.com/TagCommander/Privacy-Demo/tree/master/iOS>
  * <https://github.com/TagCommander/Privacy-Demo/tree/master/Android>

</details>
