From 11495b0af38154e110053f34d1360da4daee5d0b Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:19 +0000 Subject: [PATCH 01/26] File in_app_message.md committed. --- _lang/fr_fr/_includes/in_app_message.md | 103 ++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 _lang/fr_fr/_includes/in_app_message.md diff --git a/_lang/fr_fr/_includes/in_app_message.md b/_lang/fr_fr/_includes/in_app_message.md new file mode 100644 index 00000000000..a9153f52a89 --- /dev/null +++ b/_lang/fr_fr/_includes/in_app_message.md @@ -0,0 +1,103 @@ +### Messages in-app Slideup + +[`Slideup`]{% if include.platform == "iOS" %}[in_app_message_1]{% elsif include.platform == "Android" %}[in_app_message_2]{% endif %} Les messages in-app sont ainsi nommés parce qu'ils « glissent  depuis le haut ou le bas de l'écran. Ils recouvrent une petite partie de l’écran et offrent une fonctionnalité de messagerie efficace et non intrusive. + +![Exemple de contextuel][in_app_message_9] + +### Messages in-app modaux + +[`Modal`]{% if include.platform == "iOS" %}[in_app_message_3]{% elsif include.platform == "Android" %}[in_app_message_4]{% endif %} Les messages in-app apparaissent au centre de l'écran et sont encadrés par un panneau translucide. Utiles pour les messages critiques, ils peuvent être pourvus de deux boutons d’action et d’analyse. + +![Exemple de fenêtre modale][in_app_message_10] + +### Messages in-app complets + +[`Full`]{% if include.platform == "iOS" %}[in_app_message_5]{% elsif include.platform == "Android" %}[in_app_message_6]{% endif %} Les messages in-app sont utiles pour maximiser le contenu et l'impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app `full` contient une image, et la moitié inférieure affiche le texte et deux boutons d’action et d’analyse. + +![Exemple complet][in_app_message_11] + +### Messages in-app HTML complets + +[`HTML Full`]{% if include.platform == "iOS" %}[in_app_message_7]{% elsif include.platform == "Android" %}[in_app_message_8]{% endif %} Les messages in-app sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app entièrement en HTML défini par l’utilisateur est affiché dans un {% if include.platform == "iOS" %}`WKWebView`{% elsif include.platform == "Android" %}`WebView`{% endif %} et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message. + + {% if include.platform == "iOS" %} +L’exemple suivant montre la mise en page d’un message in-app HTML complet : + +![Exemple HTML5][in_app_message_23] + + {% elsif include.platform == "Android" %}L’exemple suivant montre un message in-app HTML complet de sondage créé par Soundcloud. + +![Exemple HTML5][in_app_message_12] +{% endif %} + +Le contenu d’un message in-app complet est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, comme des images et des polices, permettant un contrôle total de l’apparence et des fonctionnalités du message. **Veuillez noter que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.** + +## Livraison de messages in-app + +### Messages in-app (déclenchés) + +La documentation suivante fait référence au produit `In-App Messaging` de Braze, également connu sous le nom de "messages in-app déclenchés", dont la marque est mise en évidence ci-dessous dans le menu déroulant "Créer une campagne" : + +![Compositeur de messages in-app][in_app_message_13] + +Vous pouvez également consulter la documentation relative à notre produit obsolète [`Original In-App Messaging`][in_app_message_14]. + +#### Types de déclencheurs + +Notre produit de messages in-app vous permet de déclencher un affichage de messages in-app suite à plusieurs types d’événements différents : `Any Purchase`, `Specific Purchase`, `Session Start`, `Custom Event`, `Push Click`. En outre, les déclencheurs `Specific Purchase` et `Custom Event` peuvent contenir des filtres de propriétés robustes. + +{% alert note %} +Les messages in-app déclenchés ne fonctionnent qu’avec des événements personnalisés enregistrés via le SDK de Braze. Les messages in-app peuvent être déclenchés via l’API ou les événements API (comme les événements d’achat). Si vous travaillez avec Android, découvrez comment [consigner des événements personnalisés sur Android][in_app_message_24]. Si vous travaillez avec iOS, découvrez comment [consigner des événements personnalisés sur iOS][in_app_message_25]. +{% endalert %} + +#### Sémantiques de livraison + +Tous les messages in-app qu’un utilisateur peut recevoir sont délivrés à l’appareil de l’utilisateur au démarrage de session. Pour plus d'informations sur la sémantique de démarrage de session du SDK, consultez notre [documentation sur le cycle de vie des sessions]{% if include.platform == "iOS" %}[in_app_message_15a]{% elsif include.platform == "Android" %}[in_app_message_15b]{% endif %}. Lors de la livraison, le SDK récupère les ressources de manière à ce qu'elles soient disponibles immédiatement au moment du déclenchement, minimisant ainsi la latence de l'affichage. + +Lorsqu’un événement déclencheur comporte plus d’un message in-app éligible associé, seul le message in-app avec la priorité la plus élevée sera livré. + +Pour les messages in-app qui s'affichent immédiatement lors de la livraison (comme le démarrage de la session, le clic sur une notification push), il peut y avoir une certaine latence due au fait que les ressources ne sont pas capturées à l’avance. + +#### Intervalle de temps minimum entre les déclencheurs + +Par défaut, nous appliquons des limites de débit d’une fois toutes les 30 secondes pour les messages in-app afin de garantir une expérience utilisateur de qualité. + +{% if include.platform == "iOS" %}Vous pouvez remplacer cette valeur par la clé `ABKMinimumTriggerTimeIntervalKey` à l'intérieur du paramètre `appboyOptions` transmis à `startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:`. Définissez `ABKMinimumTriggerTimeIntervalKey` sur la valeur d’entier souhaitée comme durée minimale en secondes entre les messages in-app : + +```objc +// Sets the minimum trigger time interval to 5 seconds +[Appboy startWithApiKey:@"YOUR-API_KEY" + inApplication:application + withLaunchOptions:options + withAppboyOptions:@{ ABKMinimumTriggerTimeIntervalKey : @(5) }]; +``` + +{% elsif include.platform == "Android" %} +Pour remplacer cette valeur, définissez `com_appboy_trigger_action_minimum_time_interval_seconds` dans votre `braze.xml`. + +```xml + 5 +``` +{% endif %} + +[in_app_message_1]: http://appboy.github.io/appboy-ios-sdk/docs/interface_a_b_k_in_app_message_slideup.html +[in_app_message_2]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.models.inappmessage/-in-app-message-slideup/index.html +[in_app_message_3]: http://appboy.github.io/appboy-ios-sdk/docs/interface_a_b_k_in_app_message_modal.html +[in_app_message_4]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.models.inappmessage/-in-app-message-modal/index.html +[in_app_message_5]: http://appboy.github.io/appboy-ios-sdk/docs/interface_a_b_k_in_app_message_full.html +[in_app_message_6]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.models.inappmessage/-in-app-message-full/index.html +[in_app_message_7]: http://appboy.github.io/appboy-ios-sdk/docs/interface_a_b_k_in_app_message_h_t_m_l_full.html +[in_app_message_8]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.models.inappmessage/-in-app-message-html-full/index.html +[in_app_message_9]: {% image_buster /assets/img_archive/In-App_Slideup.png %} +[in_app_message_10]: {% image_buster /assets/img_archive/In-App_Modal.png %} +[in_app_message_11]: {% image_buster /assets/img_archive/In-App_Full.png %} +[in_app_message_12]: {% image_buster /assets/img_archive/HTML5.gif %} +[in_app_message_13]: {% image_buster /assets/img_archive/trigger-iam-composer.png %} +[in_app_message_14]: {{ site.baseurl }}/user_guide/message_building_by_channel/in-app_messages/create/#original-in-app-messages +[in_app_message_15a]: {{ site.baseurl }}/developer_guide/platform_integration_guides/ios/analytics/tracking_sessions/#session-lifecycle +[in_app_message_15b]: {{ site.baseurl }}/developer_guide/platform_integration_guides/android/analytics/tracking_sessions/#session-lifecycle +[in_app_message_19]: {{ site.baseurl }}/developer_guide/platform_integration_guides/{{ include.platform }}/in-app_messaging/#in-app-messages-déclenchés +[in_app_message_23]: {% image_buster /assets/img_archive/ios-html-full-iam.gif %} +[in_app_message_24]: {{ site.baseurl }}/developer_guide/platform_integration_guides/android/analytics/tracking_custom_events/#tracking-custom-events +[in_app_message_25]: {{ site.baseurl }}/developer_guide/platform_integration_guides/ios/analytics/tracking_custom_events/#tracking-custom-events + From 2cdec252dbba53eebb91d17d970b27a82e6e9725 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:23 +0000 Subject: [PATCH 02/26] File updating_currents.md committed. --- _lang/fr_fr/_includes/updating_currents.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_lang/fr_fr/_includes/updating_currents.md b/_lang/fr_fr/_includes/updating_currents.md index 11bb30df773..49ed213ff39 100644 --- a/_lang/fr_fr/_includes/updating_currents.md +++ b/_lang/fr_fr/_includes/updating_currents.md @@ -4,7 +4,7 @@ Pour mettre à jour votre connecteur Currents après son lancement, procédez co 2. Emplacements/localisation et votre connecteur Currents dans la liste. 3. Sélectionnez **Modifier**. 4. Effectuez vos modifications. -5. Cliquez sur **Mise à jour actuelle**. +5. Sélectionnez **Mettre à jour le flux Current**. Cela n'interrompra pas votre exportation existante et commencera à envoyer des événements en fonction de votre nouvelle sélection. From d12b774ce8325dc4772b443f5a4b131c7c6c4065 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:26 +0000 Subject: [PATCH 03/26] File prerequisites.md committed. --- _lang/fr_fr/_includes/prerequisites.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _lang/fr_fr/_includes/prerequisites.md diff --git a/_lang/fr_fr/_includes/prerequisites.md b/_lang/fr_fr/_includes/prerequisites.md new file mode 100644 index 00000000000..93d9e450aae --- /dev/null +++ b/_lang/fr_fr/_includes/prerequisites.md @@ -0,0 +1,3 @@ +## Prérequis + +Avant de commencer, vous devez intégrer le [SDK Braze Cordova]({{site.baseurl}}/developer_guide/platform_integration_guides/cordova/initial_setup/integration/) dans votre application iOS ou Android. \ No newline at end of file From b47682503b5e2b275c232164d2f1b7168915f399 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:29 +0000 Subject: [PATCH 04/26] File baidu_deprecation.md committed. --- _lang/fr_fr/_includes/baidu_deprecation.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 _lang/fr_fr/_includes/baidu_deprecation.md diff --git a/_lang/fr_fr/_includes/baidu_deprecation.md b/_lang/fr_fr/_includes/baidu_deprecation.md new file mode 100644 index 00000000000..c82d9a5c003 --- /dev/null +++ b/_lang/fr_fr/_includes/baidu_deprecation.md @@ -0,0 +1,9 @@ +{% alert warning %} +L’intégration de notifications push Braze Baidu est obsolète depuis le 24 mars 2022. + + +* **24 mars 2022 :** Aucune nouvelle application Baidu ne peut être créée dans le tableau de bord de Braze. +* **Le 15 septembre 2022 :** Aucun nouveau message push Baidu ne peut être créé. Les messages existants et la collecte de données ne sont pas affectés. +* **Le 15 janvier 2023 :** Braze ne sert plus de messages ni ne recueille des données à partir des applications Baidu. + +{% endalert %} From b4438f585c7262a7540ad922eb55b675582fde53 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:32 +0000 Subject: [PATCH 05/26] File web-v4-rename.md committed. --- _lang/fr_fr/_includes/web-v4-rename.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _lang/fr_fr/_includes/web-v4-rename.md diff --git a/_lang/fr_fr/_includes/web-v4-rename.md b/_lang/fr_fr/_includes/web-v4-rename.md new file mode 100644 index 00000000000..05bc89b0fae --- /dev/null +++ b/_lang/fr_fr/_includes/web-v4-rename.md @@ -0,0 +1,3 @@ +{% alert note %} +Ce guide utilise des exemples de code du SDK Web de Braze 4.0.0+. Pour passer à la dernière version du SDK Web, consultez le [Guide de mise à niveau du SDK](https://github.com/braze-inc/braze-web-sdk/blob/master/UPGRADE_GUIDE.md). +{% endalert %} From 13384cbee6a412db372d96e79082ab891d119642 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:34 +0000 Subject: [PATCH 06/26] File email-via-sms-warning.md committed. From 4aec6d649ef5dbb064126b2a52f871710638475c Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:37 +0000 Subject: [PATCH 07/26] File windows_deprecation.md committed. --- _lang/fr_fr/_includes/windows_deprecation.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 _lang/fr_fr/_includes/windows_deprecation.md diff --git a/_lang/fr_fr/_includes/windows_deprecation.md b/_lang/fr_fr/_includes/windows_deprecation.md new file mode 100644 index 00000000000..b332dd58a85 --- /dev/null +++ b/_lang/fr_fr/_includes/windows_deprecation.md @@ -0,0 +1,9 @@ +{% alert warning %} +Le SDK Windows de Braze est obsolète depuis le 24 mars 2022. + + +* **24 mars 2022 :** Aucune nouvelle application Windows ne peut être créée dans le tableau de bord de Braze. +* **Le 15 septembre 2022 :** Aucun nouveau message ne peut être envoyé aux applications Windows. Les messages existants et la collecte de données ne sont pas affectés. +* **Le 15 janvier 2023 :** Braze ne sert plus de messages ni ne collecte de données à partir des applications Windows. + +{% endalert %} From eaacfae9325f0692a28715e1df6446a5cb8222bc Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:40 +0000 Subject: [PATCH 08/26] File short_and_long_codes.md committed. --- _lang/fr_fr/_includes/short_and_long_codes.md | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 _lang/fr_fr/_includes/short_and_long_codes.md diff --git a/_lang/fr_fr/_includes/short_and_long_codes.md b/_lang/fr_fr/_includes/short_and_long_codes.md new file mode 100644 index 00000000000..b0edd411850 --- /dev/null +++ b/_lang/fr_fr/_includes/short_and_long_codes.md @@ -0,0 +1,180 @@ + +# Envoyer des numéros de téléphone + +Les codes courts et longs correspondent au numéro de téléphone depuis lequel vous envoyez des messages à vos utilisateurs ou clients. Ce peut être des codes courts à 5 ou 6 chiffres ou des codes longs à 10 chiffres. Chaque type de code offre des avantages spécifiques et vous devez prendre en compte tous les facteurs avant de choisir si vous souhaitez un code court, quel type de code court, en plus du code long qui vous a déjà été attribué. + +## Types de numéros d’envoi + +{% tabs %} +{% tab Codes courts %} + +#### Codes courts + +Un code court est une séquence mémorable de 5 à 6 chiffres qui permet aux expéditeurs d'envoyer des messages à des taux plus élevés que les codes longs. Les codes courts sont ainsi parfaitement adaptés à l’envoi sensible au temps de volumes élevés. + +##### Détails + +| Longueur | Accès | Débit | MMS activé | Unidirectionnel ou Bidirectionnel | +| --- | --- | --- | --- | --- | +| 5-6 chiffres | Application 8-12 semaines| 100 messages par seconde ou plus | Oui | Bidirectionnel | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3 .reset-td-br-4 } + +##### Avantages et inconvénients + +| Avantages | +| ---- | +| **Vitesse et évolutivité**
Les codes courts offrent vitesse et évolutivité avec des taux d’envoi de 100 segments par seconde, 6 000 segments par minute, 360 000 segments par heure et 1 million de segments par 2 heures. Les codes courts peuvent atteindre ces taux élevés en raison de la vérification requise pendant le processus de demande de code court.

**MMS activé pour certains codes courts**
Certains codes courts peuvent prendre en charge les MMS, également connus (ou Multimedia Message Service), ce qui vous permet d'envoyer des messages contenant des ressources multimédias (JPEG, GIF, PNG) vers des téléphones mobiles. Pour plus d'informations sur les MMS dans Braze, reportez-vous à la section [À propos des MMS]({{site.baseurl}}/user_guide/message_building_by_channel/sms/mms/about_mms/). | +{: .reset-td-br-1} + +| Inconvénients | +| ---- | +| **Les codes courts sont disponibles dans moins de pays**
Les codes courts sont actuellement disponibles dans certains pays, notamment aux États-Unis, au Royaume-Uni et au Canada.

**Processus de demande plus long**
Un processus de demande complexe dans lequel les cas d'utilisation doivent être décrits de manière très détaillée est nécessaire. Ceci est nécessaire pour garantir la livrabilité. En effet, après avoir accordé un code court, les opérateurs vérifieront les codes courts, mais ils ne filtreront **pas** les messages, ce qui permet des taux d’envoi plus élevés. La durée de cette procédure varie selon les pays.

**Coût plus élevé**
Les codes courts coûtent plus cher que les codes longs et sont plus longs à obtenir. Cependant, une fois que vous avez un code court, vous êtes considéré comme « pré-approuvé » pour envoyer des messages plus rapidement à des tarifs plus avantageux et faire l’objet d’un examen moins rigoureux pendant le processus d’envoi. Vous avez en effet passé tous les contrôles au moment de votre demande de code court. | +{: .reset-td-br-1} + +{% endtab %} +{% tab Codes longs %} + +#### Codes longs + +Un code long est un numéro de téléphone standard utilisé pour envoyer et recevoir des appels vocaux et des messages SMS. Les numéros de téléphone sont généralement appelés des « codes longs » (numéros à 10 chiffres dans de nombreux pays) si vous les comparez avec des codes courts SMS (numéros à 5 ou 6 chiffres). + +##### Détails + +| Longueur | Accès | Débit | MMS activé | Unidirectionnel ou Bidirectionnel | +| --- | --- | --- | --- | --- | +| 10 chiffres | Demande de 4 à 6 semaines (peut être plus courte ou plus longue selon les pays) | Aux États-Unis, le débit dépend de votre score de confiance 10DLC ; sur les marchés internationaux, le débit peut varier ou être augmenté dans certaines circonstances. | Oui | Bidirectionnel (en fonction de l'endroit où vous envoyez le message) | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3 .reset-td-br-4 } + +##### Avantages et inconvénients + +| Avantages | +| ---- | +| **Peut être utilisé immédiatement pour envoyer des messages (pour certains pays)**
Les codes longs offrent une expérience client localisée et personnalisée lors de l'envoi de messages pour les cas d'utilisation de personne à personne. Contrairement aux codes courts SMS, l'acquisition d'un code long est un processus assez rapide pour certains pays. (Pour les autres pays, le délai est aussi long, voire plus long, que celui d'un code court). Les codes longs peuvent également être définis comme un numéro de secours en cas d’échec d’un code court.

**Une plus grande disponibilité dans le monde entier**
Les codes longs sont disponibles dans plus de 100 grands pays du monde. Veuillez contacter votre gestionnaire du succès des clients ou l’[assistance]({{site.baseurl}}/braze_support/) de Braze pour obtenir une liste des pays disponibles.

**MMS activé pour certains pays**
Prend en charge les MMS (ou Multimedia Message Service), qui vous permettent d’envoyer des messages contenant des ressources multimédias (JPEG, GIF, PNG) vers des téléphones mobiles. Pour plus d'informations sur les MMS dans Braze, consultez notre documentation [ici]({{site.baseurl}}/user_guide/message_building_by_channel/sms/mms/about_mms/).| +{: .reset-td-br-1} + +| Inconvénients | +| --- | +| **Vitesses d'envoi plus lentes**
La vitesse et les conditions d’envoi des codes longs sont différentes de celles des codes courts. Les tarifs d'envoi de SMS dépendent de votre score de confiance 10DLC aux États-Unis. | +{: .reset-td-br-1} + +{% endtab %} +{% tab Code court Vanity %} + +#### Codes courts Vanity + +Un code court à 5 à 6 chiffres est spécifiquement sélectionné par une marque. Les codes courts Vanity sont liés à une marque et sont plus faciles à retenir pour les consommateurs, mais ils sont généralement plus chers. Par exemple : +- Le service de santé de New York dispose d’un code court Vanity `692-692` qui affiche NYC-NYC sur un clavier de téléphone. +- Amazon utilise un code court `262-966` qui affiche AMA-ZON pour les mises à jour de suivi des envois. +- PayPal utilise un code court de `729-725` qui s'écrit PAY-PAL pour les commandes par message texte.

+ +##### Détails + +| Longueur | Accès | Débit | MMS activé | Unidirectionnel ou Bidirectionnel | +| --- | --- | --- | --- | --- | +| 5-6 chiffres | Application 8-12 semaines | 100 messages par seconde | Oui | Bidirectionnel | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3 .reset-td-br-4 } + +##### Avantages et inconvénients + +| Avantages | +| ---- | +| **Vitesse et évolutivité**
Les codes courts offrent vitesse et évolutivité avec des taux d’envoi de 100 segments par seconde, 6 000 segments par minute, 360 000 segments par heure et 1 million de segments par 2 heures. Les codes courts peuvent atteindre ces taux élevés en raison de la vérification requise pendant le processus de demande de code court.

**MMS activé**
Prend en charge les MMS (ou Multimedia Message Service), qui vous permettent d’envoyer des messages contenant des ressources multimédias (JPEG, GIF, PNG) vers des téléphones mobiles. Pour plus d'informations sur les MMS dans Braze, reportez-vous à la section [À propos des MMS]({{site.baseurl}}/user_guide/message_building_by_channel/sms/mms/about_mms/). | +{: .reset-td-br-1} + +| Inconvénients | +| ---- | +| **Les codes courts ne sont pas disponibles partout**
Actuellement, les codes courts sont uniquement disponibles **aux États-Unis et au Canada (CA)**.

**Processus de demande plus long**
Un processus de demande complexe de 8 à 12 semaines dans lequel les cas d'utilisation doivent être décrits de manière très détaillée est nécessaire. Ce processus complexe est nécessaire pour garantir la livrabilité. En effet, après avoir accordé un code court, les opérateurs vérifieront les codes courts, mais ils ne filtreront **pas** les messages, ce qui permet des taux d’envoi plus élevés.

**Coût plus élevé aux États-Unis**
Il n'y a pas de coût supplémentaire pour les codes courts en Californie, mais aux États-Unis, les codes courts coûtent plus cher que les codes longs et sont plus longs à obtenir. Cependant, une fois que vous avez un code court, vous êtes considéré comme « pré-approuvé » pour envoyer des messages plus rapidement à des tarifs plus avantageux et faire l’objet d’un examen moins rigoureux pendant le processus d’envoi. Vous avez en effet passé tous les contrôles au moment de votre demande de code court. | +{: .reset-td-br-1} + +{% endtab %} +{% tab ID d’expéditeur alphanumérique %} + +#### ID d’expéditeur alphanumérique + +Les ID d’expéditeur sont les codes courts ou longs qui apparaissent en haut d’un message SMS indiquant qui a envoyé le message. Si un utilisateur n’est pas familier avec un ID d’expéditeur, il peut choisir d’ignorer complètement ces messages. Grâce à l'utilisation d'ID d'expéditeur alphanumériques, les utilisateurs sont en mesure d'identifier rapidement l'auteur des messages qu'ils reçoivent, ce qui augmente le taux d'ouverture. + +Les ID d'expéditeur alphanumériques vous permettent de définir le nom de votre entreprise ou de votre marque (comme "Kitchenerie" ou "CashBlastr") comme ID d'expéditeur lors de l'envoi de messages à sens unique à des utilisateurs mobiles. Ils peuvent comporter jusqu’à 11 caractères et accepter les lettres majuscules (A-Z) et minuscules (a-z), ainsi que les espaces et les chiffres (0-9). Ils **ne peuvent pas** être composés seulement de chiffres. + +##### Détails + +| Longueur | Accès | Débit | MMS activé | Unidirectionnel ou Bidirectionnel | +| --- | --- | --- | --- | --- | +| Jusqu’à 11 caractères | Disponible immédiatement si l’enregistrement préalable n’est pas requis | Varie selon le pays | Non | Unidirectionnel | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3 .reset-td-br-4 } + +##### Avantages et inconvénients + +| Avantages | Inconvénients | +| ---- | ---- | +| {::nomarkdown} {:/} | {::nomarkdown} {:/} | +{: .reset-td-br-1 .reset-td-br-2} + +Pour plus d’informations sur les ID d’expéditeur alphanumériques, veuillez contacter votre gestionnaire du succès des clients. +{% endtab %} +{% tab Numéro gratuit %} + +#### Numéro gratuit par SMS + +Un numéro de téléphone gratuit ou numéro vert est un numéro de téléphone qui est facturé pour tous les appels entrants au lieu de générer des frais pour l’abonné téléphonique d’origine. Les numéros gratuits aux États-Unis et au Canada sont activés par SMS, où les abonnés sont facturés pour les textes entrants et sortants. + +##### Détails + +| Longueur | Accès | Débit | MMS activé | Unidirectionnel ou Bidirectionnel | +| --- | --- | --- | --- | --- | +| 10 chiffres | Demande de 2 à 4 semaines | Dépend de votre approbation et peut être augmentée en payant plus. | Non | Bidirectionnel | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3 .reset-td-br-4 } + +##### Avantages et inconvénients + +| Avantages | Inconvénients | +| ---- | ---- | +| {::nomarkdown} {:/} | {::nomarkdown} {:/} | +{: .reset-td-br-1 .reset-td-br-2} + +{% endtab %} +{% endtabs %} + +{% alert important %} +Si le débit est dépassé, certains messages peuvent échouer. +{% endalert %} + +En plus de ces différences, sachez qu’une marque aura généralement un code court, mais plusieurs codes longs de secours, selon le nombre de destinataires auxquels elle envisage d’envoyer des messages par SMS. + +{% alert important %} +Vous vous demandez ce qu’on appelle des codes courts partagés ? Pour en savoir plus sur les raisons pour lesquelles nous vous recommandons d'éviter les codes courts partagés, consultez la rubrique de notre [FAQ SMS.]({{site.baseurl}}/user_guide/message_building_by_channel/sms/faqs/) +{% endalert %} + +## Comment obtenir un code court ? + +Le processus de demande de code court peut être un processus long. Il peut, toutefois, en valoir la peine. Si vous souhaitez un code court, contactez votre gestionnaire d’onboarding ou un autre conseiller Braze et informez-le de vos besoins. Ensuite, ils feront une demande pour vous - ils vous demanderont quelques informations de base qui vous aideront à remplir les conditions requises. Ensuite, il ne vous reste plus qu’à attendre. + +### Demande de code court + +Bien que Braze soit responsable de la demande effective de code court, nous avons besoin de quelques informations. Nous vous recommandons d’examiner ces questions avant de contacter Braze. + +Les réglementations exigent qu’il y ait des réponses à toutes les questions sur l’abonnement, le désabonnement, l’aide/les informations et les réponses à des mots-clés. Vous devrez nous indiquer les flux de messages spécifiques (les réponses que vous souhaitez envoyer aux utilisateurs après qu'ils ont envoyé un [mot-clé]({{site.baseurl}}/user_guide/message_building_by_channel/sms/keywords/optin_optout/)) que vous souhaitez pour les situations suivantes. + +| Flux nécessaire | Type | Exemple | +| ----------- | ---- | ------- | +| Abonnement

Double abonnement| SMS | `Welcome to our SMS system! Reply "YES" to receive updates from our company. Respond "STOP" to opt-out and "HELP" for more info.` | +| Abonnement | Site Internet | `Hi there, would you like to sign up for SMS? Text "START" to "23456". Or, enter your number below.` | +| Désabonnement | SMS | `Sorry to see you go! If this was a mistake, text back "UNSTOP". Text "HELP" for more information.` | +| Aide | N/A | `Our company is a company that does this and that. For more info on the company, let us know here. Or, you can contact support at 1-800-111-1111.` | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3} + +Selon votre situation, vous devrez peut-être fournir plus ou moins de flux comme ceux répertoriés dans le tableau précédent. Vous devrez également nous communiquer **trois exemples généraux** de messages que vous souhaitez envoyer par SMS. N’hésitez pas à demander conseil à votre conseiller Braze. + +Vous devez également nous informer, quel que soit le numéro que vous utilisez, du nombre de messages par mois que vous prévoyez d’envoyer. + +{% alert important %} +Si vous avez votre propre code court, contactez votre gestionnaire du succès des clients au cours du processus d’onboarding pour discuter de la migration ou du transfert de votre code court. Les codes courts doivent être configurés par votre gestionnaire du succès des clients. +{% endalert %} + +## Codes longs à 10 chiffres application à personne (A2P 10DLC) + +A2P 10DLC fait référence à un système aux États-Unis qui permet aux entreprises d’envoyer des communications de type Application à personne (A2P) via un numéro de téléphone standard à 10 chiffres en code long (10DLC). Les codes longs à 10 chiffres sont traditionnellement conçus pour le trafic de personne à personne (P2P), ce qui limite le débit des entreprises et renforce le filtrage. Ce service aide à atténuer ces problèmes, améliorant la livrabilité globale des messages. Les marques peuvent ainsi envoyer des messages à grande échelle, y compris des liens et des appels à l’action, et les consommateurs sont davantage protégés contre les messages indésirables. + +Tous les clients qui ont et/ou utilisent actuellement des codes longs américains pour envoyer des messages à des clients américains doivent obligatoirement enregistrer leurs codes longs pour 10DLC. Ce processus de candidature prend 4 à 6 semaines. Pour en savoir plus sur les spécificités du 10DLC et les raisons pour lesquelles il est nécessaire, consultez notre article dédié au [10DLC]({{site.baseurl}}/user_guide/message_building_by_channel/sms/phone_numbers/10dlc/). + + +[1]: {{site.baseurl}}/user_guide/message_building_by_channel/sms/sms_subscription_group/ \ No newline at end of file From a4bc65c7f213e89ec493bb385bfb0d5355b79ee0 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:43 +0000 Subject: [PATCH 09/26] File metrics.md committed. From 5b04782254e6de3042e35339a2df3cfe3451c1fd Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:45 +0000 Subject: [PATCH 10/26] File setting_user_ids.md committed. --- _lang/fr_fr/_includes/setting_user_ids.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 _lang/fr_fr/_includes/setting_user_ids.md diff --git a/_lang/fr_fr/_includes/setting_user_ids.md b/_lang/fr_fr/_includes/setting_user_ids.md new file mode 100644 index 00000000000..59b5a008f7e --- /dev/null +++ b/_lang/fr_fr/_includes/setting_user_ids.md @@ -0,0 +1,16 @@ +Les ID utilisateur doivent être définis pour chacun de vos utilisateurs. Ils doivent être inchangés et accessibles lorsqu’un utilisateur ouvre l’application. Nommer correctement vos ID d'utilisateur dès le départ est l'une des étapes les plus **cruciales** de la mise en place des ID d'utilisateur. Nous vous conseillons vivement d'utiliser la norme Braze pour les UUID et les GUID (voir ci-dessous). Nous vous recommandons vivement de fournir cet identifiant, car il vous permettra de.. : + +- Suivre vos utilisateurs sur les appareils et plateformes, améliorant la qualité de vos données comportementales et démographiques. +- Importez des données sur vos utilisateurs à l'aide de notre [API de données d'utilisateurs][1]. +- Ciblez des utilisateurs spécifiques avec notre [API d'envoi de messages][2] pour les messages généraux et transactionnels. + +{% alert note %} +Si un tel identifiant n’est pas disponible, Braze attribue un identifiant unique à vos utilisateurs, mais il vous manquera les capacités énumérées pour les ID utilisateur. Vous devez éviter de définir des ID utilisateur pour les utilisateurs pour lesquels vous n’avez pas d’identifiant unique qui leur soit lié en tant qu’individus. La transmission d’un identifiant d’appareil n’offre aucun avantage par rapport au suivi automatique d’utilisateur anonyme que Braze propose par défaut. +{% endalert %} + +{% alert warning %} +Si vous souhaitez inclure une valeur identifiable comme ID utilisateur, pour plus de sécurité, nous **vous recommandons vivement d'** ajouter notre fonctionnalité d'[authentification SDK]({{site.baseurl}}/developer_guide/platform_wide/sdk_authentication/) afin d'empêcher l'usurpation d'identité. +{% endalert %} + +[1]: {{site.baseurl}}/developer_guide/rest_api/user_data/#user-data +[2]: {{site.baseurl}}/api/endpoints/messaging/ From adec853f9f8d30e82e6628e281d4b97ac4a06cb8 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:48 +0000 Subject: [PATCH 11/26] File inapp_message_troubleshooting.md committed. --- .../inapp_message_troubleshooting.md | 70 +++++++++++++------ 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/_lang/fr_fr/_includes/inapp_message_troubleshooting.md b/_lang/fr_fr/_includes/inapp_message_troubleshooting.md index fd1185de123..3bfe9eac1b9 100644 --- a/_lang/fr_fr/_includes/inapp_message_troubleshooting.md +++ b/_lang/fr_fr/_includes/inapp_message_troubleshooting.md @@ -1,6 +1,6 @@ ## Contrôles de base -#### Mon message in-app ne s'est pas affiché pour un utilisateur +### Mon message in-app ne s'est pas affiché pour un utilisateur 1. L'utilisateur était-il dans le segment au début de la session, lorsque le SDK demande de nouveaux messages in-app ? 2. L'utilisateur était-il éligible ou rééligible pour recevoir le message in-app conformément aux règles de ciblage de la campagne ? @@ -10,42 +10,63 @@ 6. Mon appareil était-il dans l'orientation correcte spécifiée par la campagne ? 7. Mon message a-t-il été supprimé par l'intervalle de temps minimum de 30 secondes par défaut entre les déclencheurs, imposé par le SDK ? -#### Mon message in-app n'a pas été affiché à tous les utilisateurs sur cette plateforme. +### Mon message in-app n'a pas été affiché à tous les utilisateurs sur cette plateforme. 1. Votre campagne est-elle configurée pour cibler les applications mobiles ou les navigateurs web, selon le cas ? Par exemple, si votre campagne ne cible que les navigateurs web, elle ne sera pas envoyée aux appareils Android. 2. Avez-vous mis en place une interface utilisateur personnalisée et fonctionne-t-elle comme prévu ? Y a-t-il d'autres manipulations ou suppressions personnalisées côté application qui pourraient interférer avec l'affichage ? 3. Cette plateforme et cette version de l'application en particulier ont-elles déjà affiché avec succès des messages in-app ? 4. Le déclencheur a-t-il eu lieu localement sur l'appareil ? Notez qu'un appel d’API REST ne peut pas être utilisé pour déclencher un message in-app dans le SDK. -#### Mon message in-app ne s'est pas affiché pour tous les utilisateurs +### Mon message in-app ne s'est pas affiché pour tous les utilisateurs 1. L'action de déclenchement a-t-elle été configurée correctement dans le tableau de bord, ainsi que dans l'intégration de l'app ? 2. Un message in-app différent et plus prioritaire s'est-il affiché à la place du message attendu ? 3. Utilisez-vous une version récente du SDK ? Certains types de messages in-app exigent une version déterminée du SDK. 4. Les sessions ont-elles été intégrées correctement dans votre intégration ? L'analyse/analytique des sessions fonctionne-t-elle pour cette application ? +### Mon message in-app a mis beaucoup de temps à s'afficher + +1. Si vous diffusez des images ou des vidéos volumineuses à partir de votre réseau de diffusion de contenus dans un message in-app basé sur HTML, vérifiez que vos fichiers sont optimisés pour être aussi petits que possible et que votre réseau de diffusion de contenus est performant. +2. Vérifiez si vous avez configuré un `delay` pour votre message in-app sur le tableau de bord. +{% case include.sdk %} + {% when "iOS", "Android" %} +3. Selon les circonstances, les messages in-app téléchargeront ou chargeront les images pertinentes à partir du disque avant de les afficher. Si vous disposez d'une connexion réseau lente ou d'appareils très peu performants, ce processus peut prendre du temps. Veillez à ce que vos images soient optimisées pour être aussi petites que possible. +{% endcase %} + Pour une discussion plus approfondie de ces scénarios, consultez [la section sur la résolution des problèmes avancés](#troubleshooting-in-app-advanced). ## Problèmes d'analyse des impressions et des clics {% if include.sdk == "iOS" %} -#### Les impressions et les clics ne sont pas enregistrés +### Les impressions et les clics ne sont pas enregistrés Si vous avez défini un délégué de message in-app pour gérer manuellement l'affichage du message ou les actions de clic, vous devez consigner manuellement les [clics](https://braze-inc.github.io/braze-swift-sdk/documentation/brazekit/braze/inappmessage/logclick(buttonid:using:)) et les [impressions](https://braze-inc.github.io/braze-swift-sdk/documentation/brazekit/braze/inappmessage/logimpression(using:)) sur le message in-app. {% elsif include.sdk == "Android" %} -#### Les impressions et les clics ne sont pas enregistrés +### Les impressions et les clics ne sont pas enregistrés Si vous avez défini un délégué de message in-app pour gérer manuellement l'affichage du message ou les actions de clic, vous devez consigner manuellement les clics et les impressions sur le message in-app. {% endif %} -#### Les impressions sont inférieures à la valeur attendue +### Les impressions sont inférieures à la valeur attendue + +1. Les déclencheurs mettent du temps à se synchroniser avec l’appareil au démarrage de la session, il peut donc y avoir une condition de concurrence si les utilisateurs enregistrent un événement ou achètent juste après avoir démarré une session. Une possible solution pourrait être de changer la campagne pour qu’elle se déclenche au démarrage de la session, puis de segmenter l’événement ou l’achat prévu. Notez que cela enverrait le message in-app à l’application au prochain démarrage de la session après que l’événement se soit produit. + +2. Si la campagne est déclenchée par un début de session ou un événement personnalisé, vous devez vous assurer que cet événement ou cette session est suffisamment fréquent pour déclencher le message. Vérifiez ces données sur les pages [Aperçu][1] (pour les données de session) ou [Événements personnalisés][2]: -Les déclencheurs mettent du temps à se synchroniser avec l’appareil au démarrage de la session, il peut donc y avoir une condition de concurrence si les utilisateurs enregistrent un événement ou achètent juste après avoir démarré une session. Une possible solution pourrait être de changer la campagne pour qu’elle se déclenche au démarrage de la session, puis de segmenter l’événement ou l’achat prévu. Notez que cela enverrait le message in-app à l’application au prochain démarrage de la session après que l’événement se soit produit. +![Page Événements personnalisés affichant un graphique pour le nombre de fois que l’événement personnalisé Added to Favorites (Ajouté aux favoris) s’est produit sur une période d’un mois][14] + +### Les impressions sont plus faibles qu'auparavant + +1. Assurez-vous que personne n'a modifié involontairement le segment ou la campagne depuis le lancement. Nos Journaux de modifications des segments et des campagnes vous informeront sur les changements, qui les a faits et quand. + +![Lien pour afficher les modifications sur la page Détails de la campagne avec sept changements depuis que l’utilisateur a vu la campagne pour la dernière fois][10] + +2. Assurez-vous que vous n'avez pas réutilisé votre événement déclencheur dans une campagne de messages in-app distincte avec une priorité plus élevée. ## Résolution avancée des problèmes {#troubleshooting-in-app-advanced} La plupart des problèmes de messages in-app peuvent être divisés en deux catégories principales : livraison et affichage. Pour savoir pourquoi un message in-app attendu ne s'est pas affiché sur votre appareil, confirmez que le [message in-app a bien été envoyé à l'appareil](#troubleshooting-in-app-message-delivery), puis [résolvez le problème d'affichage du message.](#troubleshooting-in-app-message-display) -### Résolution des problèmes d'envoi de messages in-app {#troubleshooting-in-app-message-delivery} +### Résolution des problèmes réception/distribution {#troubleshooting-in-app-message-delivery} Le SDK demande des messages in-app aux serveurs Braze au démarrage de la session. Pour vérifier si les messages intégrés à l'application sont livrés à votre appareil, vous devez vous assurer que les messages intégrés à l'application sont à la fois demandés par le SDK et renvoyés par les serveurs Braze. @@ -69,36 +90,43 @@ Si vos messages in-app ne sont pas demandés, il est possible que votre applicat Si les messages in-app ne sont pas renvoyés, vous risquez probablement d’avoir un problème de ciblage de campagne : -- Votre segment ne contient pas votre utilisateur. +1. Votre segment ne contient pas votre utilisateur. - Vérifiez dans l'onglet [\*\*Engagement**]({{ site.baseurl }}/user_guide/engagement_tools/segments/using_user_search/#engagement-tab) ] de votre utilisateur si le segment correct apparaît sous **Segments**. -- Votre utilisateur a déjà reçu le message in-app, mais n’était pas rééligible pour le recevoir à nouveau. +2. Votre utilisateur a déjà reçu le message in-app, mais n’était pas rééligible pour le recevoir à nouveau. - Vérifiez les [paramètres de rééligibilité de la campagne]({{ site.baseurl }}/user_guide/engagement_tools/campaigns/building_campaigns/delivery_types/reeligibility/) sous l'étape **Réception/distribution** du **Composeur de campagne** et assurez-vous que les paramètres de rééligibilité correspondent à votre configuration de test. -- Votre utilisateur a atteint la limite de fréquence pour la campagne. +3. Votre utilisateur a atteint la limite de fréquence pour la campagne. - Vérifiez les paramètres de la campagne [limite de fréquence]]({{ site.baseurl }}/user_guide/engagement_tools/campaigns/building_campaigns/rate-limiting/#frequency-capping) et assurez-vous qu'ils correspondent à votre configuration de test. -- Si un groupe de contrôle a été créé pour la campagne, votre utilisateur peut être tombé dans le groupe de contrôle. +4. Si un groupe de contrôle a été créé pour la campagne, votre utilisateur peut être tombé dans le groupe de contrôle. - Vous pouvez vérifier si cela s'est produit en créant un segment avec un filtre de variante de campagne reçue, où la variante de campagne est définie sur **Contrôle**, et vérifier si votre utilisateur est tombé dans ce segment. - Lors de la création de campagnes à des fins de test d’intégration, veillez à désactiver l’ajout d’un groupe de contrôle. -### Résolution des problèmes d'affichage des messages in-app {#troubleshooting-in-app-message-display} +### Résolution des problèmes de l'affichage {#troubleshooting-in-app-message-display} Si votre application demande et reçoit avec succès des messages in-app, mais qu'ils ne s'affichent pas, il se peut que la logique de l'appareil empêche l'affichage : +1. L'événement déclencheur se déclenche-t-il comme prévu ? Pour le vérifier, essayez de configurer le message pour qu'il se déclenche à l'aide d'une action différente (comme le démarrage d'une session) et vérifiez s'il s'affiche. {% if include.sdk == "iOS" %} -- Les messages in-app déclenchés sont limités en débit en fonction de l'[intervalle de temps minimum entre les déclenchements]({{site.baseurl}}/developer_guide/platform_integration_guides/swift/in-app_messaging/in-app_message_delivery/#minimum-time-interval-between-triggers), qui est de 30 secondes par défaut. +2. Les messages in-app déclenchés sont limités en débit en fonction de l'[intervalle de temps minimum entre les déclenchements]({{site.baseurl}}/developer_guide/platform_integration_guides/swift/in-app_messaging/in-app_message_delivery/#minimum-time-interval-between-triggers), qui est de 30 secondes par défaut. {% elsif include.sdk == "Android" %} -- Les messages in-app déclenchés sont limités en débit en fonction de l'[intervalle de temps minimum entre les déclenchements]({{site.baseurl}}/developer_guide/platform_integration_guides/android/in-app_messaging/in-app_message_delivery/#minimum-time-interval-between-triggers), qui est de 30 secondes par défaut. +2. Les messages in-app déclenchés sont limités en débit en fonction de l'[intervalle de temps minimum entre les déclenchements]({{site.baseurl}}/developer_guide/platform_integration_guides/android/in-app_messaging/in-app_message_delivery/#minimum-time-interval-between-triggers), qui est de 30 secondes par défaut. {% elsif include.sdk == "Web" %} -- Les messages in-app déclenchés sont limités en débit en fonction de l'[intervalle de temps minimum entre les déclenchements]({{site.baseurl}}/developer_guide/platform_integration_guides/web/in-app_messaging/in-app_message_delivery/#minimum-time-interval-between-triggers), qui est de 30 secondes par défaut. +2. Les messages in-app déclenchés sont limités en débit en fonction de l'[intervalle de temps minimum entre les déclenchements]({{site.baseurl}}/developer_guide/platform_integration_guides/web/in-app_messaging/in-app_message_delivery/#minimum-time-interval-between-triggers), qui est de 30 secondes par défaut. {% endif %} -- Les échecs de téléchargement d’images empêcheront l’affichage des messages in-app contenant des images. Vérifiez les journaux de votre appareil pour vous assurer que les téléchargements d’images n’échouent pas. +3. Les échecs de téléchargement d’images empêcheront l’affichage des messages in-app contenant des images. Vérifiez les journaux de votre appareil pour vous assurer que les téléchargements d’images n’échouent pas. Essayez de supprimer temporairement votre image de votre message pour voir si elle s'affiche. {% case include.sdk %} {% when "iOS", "Android" %} -- Si vous avez défini un délégué pour personnaliser la gestion des messages in-app, vérifiez votre délégué pour vous assurer qu’il n’affecte pas l’affichage du message in-app. +4. Si vous avez défini un délégué pour personnaliser la gestion des messages in-app, vérifiez votre délégué pour vous assurer qu’il n’affecte pas l’affichage du message in-app. {% when "Web" %} -- Si vous avez une gestion personnalisée des messages dans l’application via `braze.subscribeToInAppMessage` ou `appboy.subscribeToNewInAppMessages`, vérifiez cet abonnement pour s’assurer qu’il n’affecte pas l’affichage des messages dans l’application. +5. Si vous avez une gestion personnalisée des messages dans l’application via `braze.subscribeToInAppMessage` ou `appboy.subscribeToNewInAppMessages`, vérifiez cet abonnement pour s’assurer qu’il n’affecte pas l’affichage des messages dans l’application. {% endcase %} {% case include.sdk %} {% when "iOS", "Android" %} -- Si l’orientation de l’appareil ne correspond pas à l’orientation spécifiée par le message in-app, il ne s’affichera pas. Assurez-vous que votre appareil est dans la bonne orientation. -{% endcase %} \ No newline at end of file +6. Si l’orientation de l’appareil ne correspond pas à l’orientation spécifiée par le message in-app, il ne s’affichera pas. Assurez-vous que votre appareil est dans la bonne orientation. +{% endcase %} +7. Si votre message in-app est déclenché par le démarrage de la session et que vous avez défini un délai d'attente prolongé, cela aura une incidence sur la vitesse à laquelle vous pouvez afficher les messages. Par exemple, si le délai d'expiration de votre session est fixé à 300 secondes, le fait de fermer et de rouvrir l'application en moins de temps que cela n'actualisera pas la session, de sorte qu'un message in-app déclenché par le démarrage d'une session ne s'affichera pas. + +[1]: {{site.baseurl}}/user_guide/data_and_analytics/analytics/understanding_your_app_usage_data/#understanding-your-app-usage-data +[2]: {{site.baseurl}}/user_guide/data_and_analytics/configuring_reporting/#configuring-reporting +[10]: {% image_buster /assets/img_archive/trouble4.png %} +[14]: {% image_buster /assets/img_archive/trouble5.png %} \ No newline at end of file From 23dbd8a8831c098a8017fafdfc033c3d292ab7db Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:51 +0000 Subject: [PATCH 12/26] File preference_center_warning.md committed. --- _lang/fr_fr/_includes/preference_center_warning.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _lang/fr_fr/_includes/preference_center_warning.md diff --git a/_lang/fr_fr/_includes/preference_center_warning.md b/_lang/fr_fr/_includes/preference_center_warning.md new file mode 100644 index 00000000000..84ad0e903b9 --- /dev/null +++ b/_lang/fr_fr/_includes/preference_center_warning.md @@ -0,0 +1,3 @@ +{% alert important %} +Certains navigateurs, comme l'application Naver Android, ne prennent pas en charge le centre de préférences de Braze. Si vous pensez que certains de vos utilisateurs utilisent ces navigateurs, envisagez de leur proposer d'autres méthodes pour gérer leurs préférences en matière d'e-mail. +{% endalert %} \ No newline at end of file From 0919ea4e6708760d09a5c08db96ac07db6ba0aa4 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:54 +0000 Subject: [PATCH 13/26] File create_transformation.md committed. --- .../fr_fr/_includes/create_transformation.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 _lang/fr_fr/_includes/create_transformation.md diff --git a/_lang/fr_fr/_includes/create_transformation.md b/_lang/fr_fr/_includes/create_transformation.md new file mode 100644 index 00000000000..a8dde6129d2 --- /dev/null +++ b/_lang/fr_fr/_includes/create_transformation.md @@ -0,0 +1,35 @@ +Dans le tableau de bord de Braze, sélectionnez **Paramètres des données** > **Transformation des données**. + +{% alert note %} +Si vous utilisez l'[ancienne navigation]({{site.baseurl}}/navigation), vous trouverez les **transformations** sous **Données.** +{% endalert %} + +Sélectionnez **Créer une transformation** pour nommer votre transformation, puis choisissez votre expérience de modification. + +![Détails de la transformation avec la possibilité de choisir « Utiliser un modèle » ou « Démarrer de zéro » pour votre expérience de modification.]({% image_buster /assets/img/data_transformation/data_transformation10.png %}) + +Sélectionnez **Utiliser un modèle** pour parcourir une bibliothèque de modèles, y compris les cas d'utilisation de la transformation des données. Vous pouvez également choisir de **partir de zéro** pour charger un modèle de code par défaut. + +Si vous démarrez de zéro, choisissez une destination pour votre transformation. Vous pouvez toujours insérer un modèle de code à partir de la bibliothèque de modèles. + +{% details En savoir plus sur les destinations %} +* **POST : Suivre les utilisateurs :** Transforme les webhooks d'une plateforme source en mises à jour du profil utilisateur, telles que les attributs, les événements ou les achats. +* **PUT : Mettez à jour plusieurs éléments du catalogue :** Transforme les webhooks d'une plateforme source en mises à jour d'éléments du catalogue. +* **DELETE : Supprimez plusieurs éléments du catalogue :** Transforme les webhooks d'une plateforme source en suppressions d'éléments du catalogue. +* **PATCH : Modifiez plusieurs éléments du catalogue :** Transforme les webhooks d'une plateforme source en modifications d'éléments de catalogue. +* **POST : Envoyez des messages immédiatement via l'API uniquement :** Transforme les webhooks d'une plateforme source pour envoyer des messages immédiats à des utilisateurs désignés. +{% enddetails %} + +{% alert note %} +Vous souhaitez demander des modèles ou des destinations supplémentaires ? Pensez à donner votre [avis sur le produit]({{site.baseurl}}/user_guide/administrative/access_braze/portal/). +{% endalert %} + +Après avoir créé votre transformation, vous verrez la vue détaillée de la transformation. Ici, vous pouvez voir le webhook le plus récent reçu pour cette transformation sous **Détails du webhook** et un espace pour écrire votre code de transformation sous **Code de transformation.** + +{% if include.location == "typeform" %} + +![]({% image_buster /assets/img/typeform/data_transformation_typeform.png %}) + +Capturez l'**URL de votre webhook** pour l'utiliser à l'étape suivante. + +{% endif %} From 240f06e1c6558ba82a6839f47435c97c8dae916d Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:56 +0000 Subject: [PATCH 14/26] File create_content_block.md committed. --- _lang/fr_fr/_includes/create_content_block.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _lang/fr_fr/_includes/create_content_block.md diff --git a/_lang/fr_fr/_includes/create_content_block.md b/_lang/fr_fr/_includes/create_content_block.md new file mode 100644 index 00000000000..51f62f7aaa6 --- /dev/null +++ b/_lang/fr_fr/_includes/create_content_block.md @@ -0,0 +1,27 @@ +1. Allez dans **Modèles** > **Blocs de contenu**. Cliquez sur **Create Content Block (Créer un bloc de contenu)** et sélectionnez **Drag-and-drop Content Block (Glisser-déposer un bloc de contenu)**. + +{% alert note %} +Si vous utilisez l'[ancienne navigation]({{site.baseurl}}/navigation), cette page est située dans **Engagement** > **Modèles et médias** > **Bibliothèque de blocs de contenu**. +{% endalert %} + +{% if include.location == "dnd" %} + +{:start="2"} +2\. Glissez-déposez les [blocs de l'éditeur]({{site.baseurl}}/user_guide/message_building_by_channel/email/drag_and_drop/dnd_editor_blocks/) pour créer un bloc de contenu par glisser-déposer. +3\. Glissez-déposez un bloc de format de l'onglet **Rangs** dans l'éditeur pour créer la mise en page de votre bloc de contenu.

![]({% image_buster /assets/img_archive/dnd_content_block_composer.png %})

+4\. Ajoutez des blocs de contenu à glisser-déposer selon vos besoins pour créer vos campagnes d'e-mail. +5\. Après avoir créé votre bloc de contenu, cliquez sur **Terminé**. +6\. Donnez un nom à votre bloc de contenu. Ce nom s'affichera automatiquement dans l'**étiquette Liquid du bloc de contenu**. +7) (facultatif) Ajoutez une description. +8\. Cliquez sur **Lancer le bloc de contenu**. + +{% elsif include.location == "html" %} + +{:start="2"} +2\. Saisissez votre HTML dans l'onglet **HTML**, ou créez votre bloc de contenu dans l'onglet **Classique**.

![]({% image_buster /assets/img_archive/html_content_block_composer.png %})

+4\. Après avoir créé votre bloc de contenu, cliquez sur **Terminé**. +5\. Saisissez un nom pour votre bloc de contenu. Ce nom s'affichera automatiquement dans l'**étiquette Liquid du bloc de contenu**. +6\. (facultatif) Ajoutez une description. +7\. Cliquez sur **Lancer le bloc de contenu**. + +{% endif %} \ No newline at end of file From ac77052ce9fe97e9d381eb7308ce076e99af4311 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:03:59 +0000 Subject: [PATCH 15/26] File appboyBridge.md committed. --- _lang/fr_fr/_includes/appboyBridge.md | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 _lang/fr_fr/_includes/appboyBridge.md diff --git a/_lang/fr_fr/_includes/appboyBridge.md b/_lang/fr_fr/_includes/appboyBridge.md new file mode 100644 index 00000000000..22c93a26d16 --- /dev/null +++ b/_lang/fr_fr/_includes/appboyBridge.md @@ -0,0 +1,32 @@ +| Nom de la méthode | Descriptif | +| :------- | :------------------ | +| `brazeBridge.closeMessage()` | Fermer le message in-app actuel. N'appelez pas cette méthode si le message in-app est déjà en cours de fermeture ou s'il se fermera automatiquement en raison du traitement d'un lien profond. | +| `window.addEventListener("ab.BridgeReady", function(){...}, false)` | Méthode de rappel une fois que le chargement de `brazeBridge` est terminé. Tout le code JavaScript doit être exécuté dans cette fonction de rappel. | +| `brazeBridge.requestImmediateDataFlush()` | Purger les données de file d’attente vers les serveurs Braze. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/modules/braze.html#requestimmediatedataflush "Documentation JavaScript pour la méthode requestImmediateDataFlush") | +| `brazeBridge.logClick(button_id_string)` | Cliquez sur un bouton pour obtenir un ID de bouton donné. Lorsque `button_id_string` est laissé vide, un clic sur le corps du message est enregistré à la place. La `button_id_string` peut être transmise comme `button_id` dans les [événements de clics des messages in-app]({{site.baseurl}}/user_guide/data_and_analytics/braze_currents/event_glossary/message_engagement_events/#in-app-message-click-events) via Currents.

Cette méthode a été introduite dans le SDK Android v8.0.0, le SDK Web v2.5.0 et le SDK iOS v3.23.0.

Le site `button_id_string` n'accepte que les caractères alphanumériques, les espaces, les tirets et les traits de soulignement. L'ajout d'un caractère avec un accent (par exemple, ö,â,ê) interrompt le suivi des clics sur le bouton, ce qui fait que la chaîne de caractères du bouton n'apparaît pas dans la section d'analyse/analytique de la campagne et que les clics ne sont pas comptabilisés. | +| `brazeBridge.logCustomEvent(eventName,eventProperties)` | Enregistrer un événement personnalisé. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/modules/braze.html#logcustomevent "Documentation JavaScript pour la méthode logCustomEvent") | +| `brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties)` | Enregistrer un achat. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/modules/braze.html#logpurchase "Documentation JavaScript pour la méthode purchaseProperties") | +| `brazeBridge.display.showFeed()` | Afficher le fil d’actualité. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/module-display.html#.showFeed "Documentation JavaScript pour la méthode showFeed") | +| `brazeBridge.getUser().addAlias(alias, label)` | Ajoute un alias à un utilisateur. Introduit dans le SDK Web v2.7.0, Android v8.1.0 et le SDK iOS v3.26.0 [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#addAlias "Documentation JavaScript pour la méthode addAlias") | +| `brazeBridge.getUser().addToCustomAttributeArray(key, value)` | Ajoute un tableau d’attributs personnalisés. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#addToCustomAttributeArray "Documentation JavaScript pour la méthode addToCustomAttributeArray") | +| `brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId)` | Ajoute un utilisateur à un e-mail ou un groupe d’abonnement SMS. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/classes/appboy.user.html#addtosubscriptiongroup "Documentation JavaScript pour la méthode addToSubscriptionGroup").

Cette méthode a été introduite dans Android SDK v15.0.0, Web SDK v3.4.0 et iOS SDK v4.3.3. | +| `brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId)` | Supprime un utilisateur d’un e-mail ou d’un groupe d’abonnement SMS. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/classes/appboy.user.html#removefromsubscriptiongroup "Documentation JavaScript pour la méthode removeFromSubscriptionGroup").

Cette méthode a été introduite dans Android SDK v15.0.0, Web SDK v3.4.0 et iOS SDK v4.3.3. | +| `brazeBridge.getUser().setFirstName(firstName)` | Définir le prénom d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setFirstName "Documentation JavaScript pour la méthode setFirstName") | +| `brazeBridge.getUser().setLastName(lastName)` | Définir le nom de famille d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setLastName "Documentation JavaScript pour la méthode setLastName") | +| `brazeBridge.getUser().setEmail(email)` | Définir l’adresse e-mail d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setEmail "Documentation JavaScript pour la méthode setEmail") | +| `brazeBridge.getUser().setGender(gender)` | Définir le sexe d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setGender "Documentation JavaScript pour la méthode setGender") | +| `brazeBridge.getUser().setDateOfBirth(year, month, day)` | Définir la date de naissance d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setDateOfBirth "Documentation JavaScript pour la méthode setDateOfBirth") | +| `brazeBridge.getUser().setCountry(country)` | Définir le pays d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setCountry "Documentation JavaScript pour la méthode setCountry") | +| `brazeBridge.getUser().setHomeCity(city)` | Définir la ville d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setHomeCity "Documentation JavaScript pour la méthode setHomeCity") | +| `brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType)` | Définir l’état d’abonnement à la notification par e-mail. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setEmailNotificationSubscriptionType "Documentation JavaScript pour la méthode setEmailNotificationSubscriptionType") | +| `brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType)` | Définir l’état d’abonnement à la notification push. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setPushNotificationSubscriptionType "Documentation JavaScript pour la méthode setPushNotificationSubscriptionType") | +| `brazeBridge.getUser().setPhoneNumber(phoneNumber)` | Définir le numéro de téléphone d’un utilisateur. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setPhoneNumber "Documentation JavaScript pour la méthode setCustomUserAttribute") | +| `brazeBridge.getUser().setCustomUserAttribute(key, value, merge)` | Définir un attribut utilisateur personnalisé. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setCustomUserAttribute "Documentation JavaScript pour la méthode setCustomUserAttribute") | +| `brazeBridge.getUser().removeFromCustomAttributeArray(key, value)` | Supprimer un attribut utilisateur personnalisé. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#removeFromCustomAttributeArray "Documentation JavaScript pour la méthode removeFromCustomAttributeArray") | +| `brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue)` | Incrémenter un attribut utilisateur personnalisé. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#incrementCustomUserAttribute "Documentation JavaScript pour la méthode incrementCustomUserAttribute") | +| `brazeBridge.getUser().setLanguage(language)` | Définir la langue d’un utilisateur. Introduit dans Android SDK v5.0.0 et Web SDK v2.6.0. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setLanguage "Documentation JavaScript pour la méthode setLanguage") | +| `brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude)` | Définir un attribut d’emplacement personnalisé. Introduit dans Android SDK v5.0.0. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/ab.User.html#setCustomLocationAttribute "Documentation JavaScript pour la méthode setCustomLocationAttribute") | +| `brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback)` | S’inscrire pour la notification push Web (Web uniquement). Cette méthode n’est pas opérationnelle lorsqu’elle est appelée dans un environnement non-Web. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/modules/braze.html#requestpushpermission "Documentation JavaScript pour la méthode registerAppboyPushMessages") | +| `brazeBridge.requestPushPermission(successCallback, deniedCallback)` | S'inscrire pour les notifications push Web, iOS et Android. Remarque : les rappels de la méthode sont uniquement pris en charge sur le Web. Cette méthode a été introduite à partir de la version 4.0.0 du SDK Web, de la version 21.0.0 du SDK Android et de la version 5.4.0 du SDK Swift. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/modules/braze.html#requestpushpermission "Documentation JavaScript pour la méthode requestPushPermission") | +| `brazeBridge.changeUser(id, sdkAuthSignature?)` | Identifier l'utilisateur avec un ID unique. [Docs JS ](https://js.appboycdn.com/web-sdk/latest/doc/modules/braze.html#changeuser "Documentation JavaScript pour la méthode changeUser")

Cette méthode a été introduite dans la version 4.3.0 du SDK Web. | +{: .reset-td-br-1 .reset-td-br-2} From ff47c1f85964fff87af6c1fa024f03bc8a78198f Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:01 +0000 Subject: [PATCH 16/26] File initial_setup.md committed. --- _lang/fr_fr/_includes/initial_setup.md | 197 +++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 _lang/fr_fr/_includes/initial_setup.md diff --git a/_lang/fr_fr/_includes/initial_setup.md b/_lang/fr_fr/_includes/initial_setup.md new file mode 100644 index 00000000000..224cb994753 --- /dev/null +++ b/_lang/fr_fr/_includes/initial_setup.md @@ -0,0 +1,197 @@ +L’installation du SDK Braze vous fournira des fonctionnalités d’analyse de base{% if include.platform == 'iOS' %} ainsi que des messages in-app opérationnels avec lesquels vous pouvez engager vos utilisateurs{% endif %}. + +Le SDK Braze pour {{include.platform}} doit être installé ou mis à jour à l’aide de [CocoaPods][apple_initial_setup_1], un gestionnaire de dépendances pour les projets Objective-C et Swift. CocoaPods offre une simplicité supplémentaire pour l’intégration et la mise à jour. + +## {{include.platform}} Intégration SDK CocoaPods + +### Étape 1 : Installer CocoaPods + +L'installation du SDK via le site {{include.platform}} [CocoaPods][apple_initial_setup_1] automatise la majeure partie du processus d'installation pour vous. Avant de commencer ce processus, vérifiez que vous utilisez la [version 2.0.0 de Ruby][apple_initial_setup_2] ou une version ultérieure. Notez qu'il n'est pas nécessaire de connaître la syntaxe de Ruby pour installer ce SDK. + +Exécutez simplement la commande suivante pour démarrer : + +```bash +$ sudo gem install cocoapods +``` + +**Remarque** : Si vous êtes invité à remplacer l’exécutable `rake`, reportez-vous à la rubrique [Instructions de démarrage sur CocoaPods.org][apple_initial_setup_3] pour plus de détails. + +**Remarque** : Si vous rencontrez des problèmes concernant CocoaPods, veuillez consulter le [Guide de résolution des problèmes CocoaPods][apple_initial_setup_25]. + +### Étape 2 : Construction du Podfile + +Maintenant que vous avez installé CocoaPods Ruby Gem, vous devez créer un fichier dans votre répertoire de projet Xcode nommé `Podfile`. + +Ajoutez la ligne suivante à votre Podfile : + +``` +target 'YourAppTarget' do + pod 'Appboy-{{include.platform}}-SDK' +end +``` + +**Remarque** : Nous vous suggérons la version Braze afin que les mises à jour du pod récupèrent automatiquement tout ce qui est plus petit qu’une mise à jour mineure de la version. Cela se présente sous la forme 'pod 'Appboy-{{include.platform}}-SDK' ~> Major.Minor.Build'. Si vous souhaitez intégrer automatiquement la toute dernière version du SDK Braze, même avec des modifications majeures, vous pouvez utiliser `pod 'Appboy-{{include.platform}}-SDK'` dans votre Podfile. +{% if include.platform == 'iOS' %} +**Remarque** : Si vous n’utilisez pas l’IU Braze par défaut et que vous ne souhaitez pas introduire la dépendance SDWebImage, veuillez pointer votre dépendance Braze dans votre Podfile vers notre sous-spécification Core, comme `pod 'Appboy-iOS-SDK/Core'` dans votre Podfile. {% endif %} + +### Étape 3 : Installer le SDK Braze + +Pour installer le SDK CocoaPods Braze, accédez au répertoire de votre projet d’application Xcode au sein de votre terminal et exécutez la commande suivante : +``` +pod install +``` + +À ce stade, vous devriez pouvoir ouvrir le nouvel espace de travail du projet Xcode créé par CocoaPods. Assurez-vous d’utiliser cet espace de travail Xcode au lieu de votre projet Xcode. + +![Nouvel espace de travail][apple_initial_setup_15] + +### Étape 4 : Mettre à jour la délégation de votre application + +{% tabs %} +{% tab OBJECTIF-C %} + +Ajoutez la ligne de code suivante à votre fichier `AppDelegate.m` : + +```objc +{% if include.platform == 'iOS' %}#import "Appboy-iOS-SDK/AppboyKit.h"{% else %}#import {% endif %} +``` + +Dans votre fichier `AppDelegate.m`, ajoutez l’extrait de code suivant au sein de votre méthode `application:didFinishLaunchingWithOptions` : + +```objc +[Appboy startWithApiKey:@"YOUR-API-KEY" + inApplication:application + withLaunchOptions:launchOptions]; +``` + +{% endtab %} +{% tab swift %} + +Si vous intégrez le SDK Braze avec des CocoaPods, Carthage ou via une intégration manuelle dynamique, ajoutez la ligne de code suivante à votre fichier `AppDelegate.swift` : + +```swift +{% if include.platform == 'iOS' %}import Appboy_iOS_SDK{% else %}import AppboyTVOSKit{% endif %} +``` + +Pour plus d’informations sur l’utilisation du code Objective-C dans les projets Swift, consultez la [documentation des développeurs Apple](https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html). + +Dans `AppDelegate.swift`, ajoutez l’extrait de code suivant à votre `application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool` : + +```swift +Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions) +``` + +**Remarque** : Le singleton `sharedInstance` de Braze sera nul avant l’utilisation de `startWithApiKey:`, car il est nécessaire d’utiliser une fonctionnalité de Braze. + +{% endtab %} +{% endtabs %} + +{% alert important %} +Veillez à mettre à jour `YOUR-API-KEY` avec la valeur correcte à partir de votre page Gérer les paramètres. +{% endalert %} + +{% alert warning %} +Assurez-vous d’initialiser Braze dans le fil principal de votre application. L’initialisation asynchrone peut entraîner un échec de la fonctionnalité. +{% endalert %} + + +### Étape 5 : Spécifiez votre endpoint ou cluster de données personnalisé + +{% alert note %} +Depuis décembre 2019, les endpoints personnalisés ne sont plus distribués ; si vous avez un endpoint personnalisé préexistant, vous pouvez continuer à l’utiliser. Pour plus de détails, consultez notre liste d’endpoints disponibles. +{% endalert %} + +Votre conseiller Braze devrait déjà vous avoir indiqué le [endpoint correct]({{ site.baseurl }}/user_guide/administrative/access_braze/sdk_endpoints/). + +#### Configuration des endpoints de compilation (recommandée) +Si vous avez un endpoint personnalisé préexistant… +- À partir du SDK Braze pour iOS v3.0.2, vous pouvez définir un endpoint personnalisé à l’aide du fichier `Info.plist`. Ajouter le dictionnaire `Appboy` à votre fichier Info.plist. À l’intérieur du dictionnaire `Appboy`, ajoutez la sous-entrée de chaîne `Endpoint` et définissez la valeur à l’autorité de votre URL d’endpoint personnalisé (par exemple, `sdk.iad-01.braze.com`, pas `https://sdk.iad-01.braze.com`). + +#### Configuration du endpoint d’exécution + +Si vous avez un endpoint personnalisé préexistant… +- À partir du SDK Braze pour iOS v3.17.0+, vous pouvez remplacer votre endpoint par `ABKEndpointKey` à l’intérieur du paramètre `appboyOptions` transmis à `startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:`. Définissez la valeur à l’autorité de votre URL d’endpoint personnalisé (par exemple, `sdk.iad-01.braze.com`, pas `https://sdk.iad-01.braze.com`). + +{% alert note %} +La prise en charge de la configuration des endpoints lors de l’exécution à l’aide de `ABKAppboyEndpointDelegate` a été supprimée dans le SDK Braze pour iOS v3.17.0. Si vous utilisez déjà `ABKAppboyEndpointDelegate`, notez que dans les versions de la version 3.14.1 à v3.16.0 du SDK Braze pour iOS, toute référence à `dev.appboy.com` dans votre méthode `getApiEndpoint()` doit être remplacé par une référence à `sdk.iad-01.braze.com`. +{% endalert %} + +{% alert important %} +Pour découvrir votre groupe spécifique, veuillez vous adresser à votre gestionnaire du succès des clients ou contacter notre équipe d’assistance. +{% endalert %} + +### Intégration SDK terminée + +Braze devrait maintenant collecter des données depuis votre application et votre intégration de base devrait être terminée. {% if include.platform == 'iOS' %}Veuillez consulter les sections suivantes afin d'activer le suivi des événements personnalisés, les messages push, le fil d'actualité et la suite complète des fonctionnalités de Braze.{% else %}Veuillez noter que lors de la compilation de votre application tvOS et de toute autre bibliothèque tierce, le Bitcode doit être activé.{% endif %} + +### Mettre à jour le SDK Braze par CocoaPods + +Pour mettre à jour un Cocoapod, exécutez les commandes suivantes dans votre répertoire de projet : + +``` +pod update +``` + +## Personnaliser Braze au démarrage + +Si vous souhaitez personnaliser Braze au démarrage, vous pouvez utiliser la méthode d’initialisation Braze `startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions` et transmettre un `NSDictionary` facultatif des touches de démarrage Braze. +{% tabs %} +{% tab OBJECTIF-C %} + +Dans votre fichier `AppDelegate.m`, au sein de votre méthode `application:didFinishLaunchingWithOptions`, ajoutez la méthode Braze suivante : + +```objc +[Appboy startWithApiKey:@"YOUR-API-KEY" + inApplication:application + withLaunchOptions:launchOptions + withAppboyOptions:appboyOptions]; +``` + +{% endtab %} +{% tab swift %} + +Dans `AppDelegate.swift`, au sein de votre méthode `application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool`, ajoutez la méthode Braze suivante : + +```swift +Appboy.start(withApiKey: "YOUR-API-KEY", + in:application, + withLaunchOptions:launchOptions, + withAppboyOptions:appboyOptions) +``` + +où `appboyOptions` est un `Dictionary` de valeurs de configuration de démarrage. + +{% endtab %} +{% endtabs %} + +**Remarque** : Cette méthode remplacerait la méthode d’initialisation `startWithApiKey:inApplication:withLaunchOptions:`. + +Cette méthode est utilisée avec les paramètres suivants : + +- `YOUR-API-KEY` : la clé API de votre application depuis le tableau de bord de Braze +- `application` : l’application actuelle +- `launchOptions` : les options `NSDictionary` que vous obtenez de `application:didFinishLaunchingWithOptions:` +- `appboyOptions` : un `NSDictionary` facultatif contenant les valeurs de configuration de démarrage de Braze + +Voir [Appboy.h][apple_initial_setup_5] pour obtenir la liste des touches de démarrage de Braze. + +## Valeurs nulles Swift et Appboy.sharedInstance() +Légèrement différent de la pratique courante, le singleton `Appboy.sharedInstance()` est facultatif. Cela est dû au fait que `sharedInstance` est `nil` avant l’appel de `startWithApiKey:`, et qu’il existe des implémentations non standard et non valides dans lesquelles une initialisation retardée peut être utilisée. + +Si vous utilisez `startWithApiKey:` dans votre délégation `didFinishLaunchingWithOptions:` avant tout accès à `sharedInstance` d’Appboy (l’implémentation standard), vous pouvez utiliser des chaînages facultatifs, comme `Appboy.sharedInstance()?.changeUser("testUser")`, pour éviter des vérifications fastidieuses. Il y aura parité avec une implémentation Objective-C qui a supposé un `sharedInstance` non nul. + +[apple_initial_setup_1]: http://cocoapods.org/ +[apple_initial_setup_2]: https://www.ruby-lang.org/en/installation/ +[apple_initial_setup_3]: http://guides.cocoapods.org/using/getting-started.html "Instructions pour l'installation de CocoaPods" +[apple_initial_setup_4]: http://guides.cocoapods.org/syntax/podfile.html +[apple_initial_setup_5]: https://github.com/Appboy/appboy-ios-sdk/blob/master/AppboyKit/include/Appboy.h +[apple_initial_setup_8]: #manual-sdk-integration +[apple_initial_setup_12]: #appboy-podfiles-for-non-64-bit-apps +[apple_initial_setup_15]: {% image_buster /assets/img_archive/podsworkspace.png %} +[apple_initial_setup_17]: http://guides.cocoapods.org/using/getting-started.html#updating-cocoapods +[apple_initial_setup_19]: https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html +[apple_initial_setup_21]: {{ site.baseurl }}/partner_integrations/#attribution-integration +[apple_initial_setup_25]: http://guides.cocoapods.org/using/troubleshooting.html "Guide de résolution des problèmes de CocoaPods" +[apple_initial_setup_27]: https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md "iOS Changelog" +[apple_initial_setup_31]: {{ site.baseurl }}/developer_guide/rest_api/basics/#endpoints +[apple_initial_setup_32]: {{ site.baseurl }}/support_contact/ From 88b88ef61241f50eca6ccc51e6fe74f4a2914d18 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:05 +0000 Subject: [PATCH 17/26] File sdk_auth_alert.md committed. --- _lang/fr_fr/_includes/sdk_auth_alert.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _lang/fr_fr/_includes/sdk_auth_alert.md diff --git a/_lang/fr_fr/_includes/sdk_auth_alert.md b/_lang/fr_fr/_includes/sdk_auth_alert.md new file mode 100644 index 00000000000..49c28d10fb4 --- /dev/null +++ b/_lang/fr_fr/_includes/sdk_auth_alert.md @@ -0,0 +1,3 @@ +{% alert important %} +Pour plus de sécurité, nous vous recommandons d'ajouter notre fonctionnalité d'[authentification SDK]({{site.baseurl}}/developer_guide/platform_wide/sdk_authentication/) afin d'empêcher l'usurpation d'identité des utilisateurs. +{% endalert %} \ No newline at end of file From d248b4dc03ca94b6efd47b136fd1496de2a34177 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:10 +0000 Subject: [PATCH 18/26] File gifs.md committed. --- _lang/fr_fr/_includes/gifs.md | 252 ++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 _lang/fr_fr/_includes/gifs.md diff --git a/_lang/fr_fr/_includes/gifs.md b/_lang/fr_fr/_includes/gifs.md new file mode 100644 index 00000000000..ee96b78522b --- /dev/null +++ b/_lang/fr_fr/_includes/gifs.md @@ -0,0 +1,252 @@ +{% if include.channel=="in-app messages" %} +Braze prend en charge l'affichage des GIF animés et des images SVG par défaut pour les messages in-app HTML. Pour tous les autres messages in-app, une bibliothèque d'images personnalisée est nécessaire. +{% else %} +Braze requiert une bibliothèque d’images externe pour afficher les GIF animés avec {{ include.channel }}. +{% endif %} + +{% alert note %} +Bien que les exemples de cet article soient spécifiques aux GIF, vous pouvez également suivre ce guide pour afficher des SVG si la bibliothèque d'images personnalisées que vous intégrez prend en charge les fichiers SVG. +{% endalert %} + +## Intégration d'une bibliothèque d'images personnalisée {#gifs-delegate-integration} + +Braze offre la possibilité d’utiliser une bibliothèque d’images personnalisée pour afficher les GIF animés avec {{ include.channel }}. + +Bien que l’exemple ci-dessous utilise [Glide][gifs-67], toute bibliothèque d’images prenant en charge les GIF est compatible. + +### Étape 1 : Créer le délégué de chargement d’images + +Le délégué de chargement d’images doit mettre en œuvre les méthodes suivantes : + +* [`getInAppMessageBitmapFromUrl()`][gifs-71] +* [`getPushBitmapFromUrl()`][gifs-72] +* [`renderUrlIntoCardView()`][gifs-73] +* [`renderUrlIntoInAppMessageView()`][gifs-74] +* [`setOffline()`][gifs-70] + +L'exemple d'intégration ci-dessous est tiré de l'[application d'exemple d'intégration Glide][gifs-65] incluse dans le SDK Android de Braze. + +{% tabs %} +{% tab JAVA %} + +```java +public class GlideBrazeImageLoader implements IBrazeImageLoader { + private static final String TAG = GlideBrazeImageLoader.class.getName(); + + private RequestOptions mRequestOptions = new RequestOptions(); + + @Override + public void renderUrlIntoCardView(Context context, Card card, String imageUrl, ImageView imageView, BrazeViewBounds viewBounds) { + renderUrlIntoView(context, imageUrl, imageView, viewBounds); + } + + @Override + public void renderUrlIntoInAppMessageView(Context context, IInAppMessage inAppMessage, String imageUrl, ImageView imageView, BrazeViewBounds viewBounds) { + renderUrlIntoView(context, imageUrl, imageView, viewBounds); + } + + @Override + public Bitmap getPushBitmapFromUrl(Context context, Bundle extras, String imageUrl, BrazeViewBounds viewBounds) { + return getBitmapFromUrl(context, imageUrl, viewBounds); + } + + @Override + public Bitmap getInAppMessageBitmapFromUrl(Context context, IInAppMessage inAppMessage, String imageUrl, BrazeViewBounds viewBounds) { + return getBitmapFromUrl(context, imageUrl, viewBounds); + } + + private void renderUrlIntoView(Context context, String imageUrl, ImageView imageView, BrazeViewBounds viewBounds) { + Glide.with(context) + .load(imageUrl) + .apply(mRequestOptions) + .into(imageView); + } + + private Bitmap getBitmapFromUrl(Context context, String imageUrl, BrazeViewBounds viewBounds) { + try { + return Glide.with(context) + .asBitmap() + .apply(mRequestOptions) + .load(imageUrl).submit().get(); + } catch (Exception e) { + Log.e(TAG, "Failed to retrieve bitmap at url: " + imageUrl, e); + } + return null; + } + + @Override + public void setOffline(boolean isOffline) { + // If the loader is offline, then we should only be retrieving from the cache + mRequestOptions = mRequestOptions.onlyRetrieveFromCache(isOffline); + } +} +``` + +{% endtab %} +{% tab KOTLIN %} + +```kotlin +class GlideBrazeImageLoader : IBrazeImageLoader { + companion object { + private val TAG = GlideBrazeImageLoader::class.qualifiedName + } + + private var mRequestOptions = RequestOptions() + + override fun renderUrlIntoCardView(context: Context, card: Card, imageUrl: String, imageView: ImageView, viewBounds: BrazeViewBounds) { + renderUrlIntoView(context, imageUrl, imageView, viewBounds) + } + + override fun renderUrlIntoInAppMessageView(context: Context, inAppMessage: IInAppMessage, imageUrl: String, imageView: ImageView, viewBounds: BrazeViewBounds) { + renderUrlIntoView(context, imageUrl, imageView, viewBounds) + } + + override fun getPushBitmapFromUrl(context: Context, extras: Bundle, imageUrl: String, viewBounds: BrazeViewBounds): Bitmap? { + return getBitmapFromUrl(context, imageUrl, viewBounds) + } + + override fun getInAppMessageBitmapFromUrl(context: Context, inAppMessage: IInAppMessage, imageUrl: String, viewBounds: BrazeViewBounds): Bitmap? { + return getBitmapFromUrl(context, imageUrl, viewBounds) + } + + private fun renderUrlIntoView(context: Context, imageUrl: String, imageView: ImageView, viewBounds: BrazeViewBounds) { + Glide.with(context) + .load(imageUrl) + .apply(mRequestOptions) + .into(imageView) + } + + private fun getBitmapFromUrl(context: Context, imageUrl: String, viewBounds: BrazeViewBounds): Bitmap? { + try { + return Glide.with(context) + .asBitmap() + .apply(mRequestOptions) + .load(imageUrl).submit().get() + } catch (e: Exception) { + Log.e(TAG, "Failed to retrieve bitmap at url: $imageUrl", e) + } + + return null + } + + override fun setOffline(isOffline: Boolean) { + // If the loader is offline, then we should only be retrieving from the cache + mRequestOptions = mRequestOptions.onlyRetrieveFromCache(isOffline) + } +} +``` + +{% endtab %} +{% endtabs %} + +### Étape 2 : Définir le délégué de chargement d’images + +Le SDK de Braze utilisera n'importe quel chargeur d'image personnalisé défini avec la commande [`setBrazeImageLoader`][gifs-66]. Nous recommandons de définir le chargeur d’images personnalisé dans une sous-classe d’application personnalisée : + +{% tabs %} +{% tab JAVA %} + +```java +public class GlideIntegrationApplication extends Application { + @Override + public void onCreate() { + super.onCreate(); + Braze.getInstance(context).setBrazeImageLoader(new GlideBrazeImageLoader()); + } +} +``` + +{% endtab %} +{% tab KOTLIN %} + +```kotlin +class GlideIntegrationApplication : Application() { + override fun onCreate() { + super.onCreate() + Braze.getInstance(context).appboyImageLoader = GlideBrazeImageLoader() + } +} +``` + +{% endtab %} +{% endtabs %} + +## Chargement d'images personnalisé avec Jetpack Compose + +Pour remplacer le chargement des images avec Jetpack Compose, vous pouvez transmettre une valeur à `imageComposable`. Cette fonction prend une `Card` et restitue l'image et les modificateurs nécessaires. Vous pouvez également utiliser le `customCardComposer` de `ContentCardsList` pour générer l'ensemble de la carte. + +Dans l'exemple suivant, la bibliothèque Compose de Glide est utilisée pour les cartes énumérées dans la fonction `imageComposable`: + +```kotlin +ContentCardsList( + cardStyle = ContentCardStyling( + imageComposable = { card -> + when (card.cardType) { + CardType.CAPTIONED_IMAGE -> { + val captionedImageCard = card as CaptionedImageCard + GlideImage( + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight() + .run { + if (captionedImageCard.aspectRatio > 0) { + aspectRatio(captionedImageCard.aspectRatio) + } else { + this + } + }, + contentScale = ContentScale.Crop, + model = captionedImageCard.url, + loading = placeholder(R.drawable.pushpin), + contentDescription = "" + ) + } + CardType.IMAGE -> { + val imageOnlyCard = card as ImageOnlyCard + GlideImage( + modifier = Modifier + .fillMaxWidth() + .run { + if (imageOnlyCard.aspectRatio > 0) { + aspectRatio(imageOnlyCard.aspectRatio) + } else { + this + } + }, + contentScale = ContentScale.Crop, + model = imageOnlyCard.url, + loading = placeholder(R.drawable.pushpin), + contentDescription = "" + ) + } + CardType.SHORT_NEWS -> { + val shortNews = card as ShortNewsCard + GlideImage( + modifier = Modifier + .width(100.dp) + .height(100.dp), + model = shortNews.url, + loading = placeholder(R.drawable.pushpin), + contentDescription = "" + ) + } + else -> Unit + } + } + ) +) +``` + +[gifs-56]: http://developer.android.com/reference/android/app/Application.html +[gifs-59]: https://github.com/braze-inc/braze-android-sdk#version-support +[gifs-60]: http://developer.android.com/guide/topics/manifest/application-element.html#nm +[gifs-61]: https://github.com/braze-inc/braze-android-sdk/tree/master/droidboy +[gifs-64]: https://github.com/braze-inc/braze-android-sdk/tree/master/droidboy +[gifs-65]: https://github.com/braze-inc/braze-android-sdk/tree/master/samples/glide-image-integration +[gifs-66]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.images/-i-braze-image-loader/index.html +[gifs-67]: https://bumptech.github.io/glide/ +[gifs-70]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.images/-i-braze-image-loader/set-offline.html +[gifs-71]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.images/-i-braze-image-loader/get-in-app-message-bitmap-from-url.html +[gifs-72]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.images/-i-braze-image-loader/get-push-bitmap-from-url.html +[gifs-73]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.images/-i-braze-image-loader/render-url-into-card-view.html +[gifs-74]: https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.images/-i-braze-image-loader/render-url-into-in-app-message-view.html From 79db8c1d4d1d6a9e2ab971a51f41adca5157ce6e Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:13 +0000 Subject: [PATCH 19/26] File in_app_messaging.md committed. --- _lang/fr_fr/_includes/in_app_messaging.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 _lang/fr_fr/_includes/in_app_messaging.md diff --git a/_lang/fr_fr/_includes/in_app_messaging.md b/_lang/fr_fr/_includes/in_app_messaging.md new file mode 100644 index 00000000000..2387f101e28 --- /dev/null +++ b/_lang/fr_fr/_includes/in_app_messaging.md @@ -0,0 +1,11 @@ +{% tabs %} +{% tab Android %} +Vous pouvez ajouter des GIF animés à vos messages in-app à l'aide du [SDK Android natif de Braze](https://github.com/braze-inc/braze-android-sdk). Par défaut, le SDK Android utilise les messages in-app HTML pour afficher les GIF. + +Pour tous les autres types de messages in-app, vous devrez utiliser une bibliothèque d'images personnalisée. Pour en savoir plus, consultez la rubrique [Messagerie in-app Android : GIFs]({{site.baseurl}}/developer_guide/platform_integration_guides/android/in-app_messaging/customization/gifs/). +{% endtab %} + +{% tab iOS %} +Vous pouvez ajouter des GIF animés à vos messages in-app à l'aide du [SDK Swift natif de Braze](https://github.com/braze-inc/braze-swift-sdk). Par défaut, tous les messages in-app de Braze prennent en charge les GIF. Pour obtenir une présentation complète, consultez [Tutoriel : Prise en charge des GIF pour les messages in-app de Swift](https://braze-inc.github.io/braze-swift-sdk/tutorials/braze/c3-gif-support). +{% endtab %} +{% endtabs %} From 8072aeea23912a6fcbe781c6b2dd13ecd7069eba Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:19 +0000 Subject: [PATCH 20/26] File release_type.md committed. --- _lang/fr_fr/_includes/release_type.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 _lang/fr_fr/_includes/release_type.md diff --git a/_lang/fr_fr/_includes/release_type.md b/_lang/fr_fr/_includes/release_type.md new file mode 100644 index 00000000000..1697f343cda --- /dev/null +++ b/_lang/fr_fr/_includes/release_type.md @@ -0,0 +1,20 @@ +{% if include.release == "General availability" %} + + + Disponibilité générale + + +{% elsif include.release == "Early access" %} + + + Accès anticipé + + + +{% elsif include.release == "Beta" %} + + + Bêta + + +{% endif %} \ No newline at end of file From 03b91ed34e61b5b645f7b5bc237f9d96779f632b Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:23 +0000 Subject: [PATCH 21/26] File aliasing.md committed. --- _lang/fr_fr/_includes/aliasing.md | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 _lang/fr_fr/_includes/aliasing.md diff --git a/_lang/fr_fr/_includes/aliasing.md b/_lang/fr_fr/_includes/aliasing.md new file mode 100644 index 00000000000..63b48949dac --- /dev/null +++ b/_lang/fr_fr/_includes/aliasing.md @@ -0,0 +1,63 @@ +Un [alias d'utilisateur]({{site.baseurl}}/user_guide/data_and_analytics/user_data_collection/user_profile_lifecycle/#user-aliases) sert d'identifiant unique alternatif pour l'utilisateur. Vous pouvez utiliser des aliases pour identifier les utilisateurs selon d'autres critères que votre ID principal : + +* Définissez un identifiant cohérent pour l’analyse qui suivra un utilisateur donné avant et après qu’il s’est connecté à une application mobile ou un site Internet. +* Ajoutez les identifiants utilisés par un fournisseur tiers à vos utilisateurs Braze afin de faciliter le rapprochement de vos données en externe. + +Chaque alias se compose de deux parties : un nom pour l’identifiant lui-même et une étiquette indiquant le type d’alias. Les utilisateurs peuvent avoir plusieurs alias avec différentes étiquettes, mais un seul nom par étiquette. + +Pour plus d'informations sur la définition d'alias d'utilisateur par rapport à un profil utilisateur, reportez-vous à la section [Alias d'utilisateur]({{site.baseurl}}/user_guide/data_and_analytics/user_data_collection/user_profile_lifecycle/#user-aliases). + +{% if include.platform == "iOS" %} + +{% tabs %} +{% tab OBJECTIF-C %} + +```objc + [[Appboy sharedInstance].user addAlias:ALIAS_NAME withLabel:ALIAS_LABEL]; +``` + + {% endtab %} +{% tab swift %} + +```swift +Appboy.sharedInstance()?.user.addAlias(ALIAS_NAME, ALIAS_LABEL) +``` + +{% endtab %} +{% endtabs %} + +{% elsif include.platform == "Android" %} + +{% tabs %} +{% tab JAVA %} + +```java +Braze.getInstance(context).getCurrentUser().addAlias(ALIAS_NAME, ALIAS_LABEL); +``` + +{% endtab %} +{% tab KOTLIN %} + +```kotlin +Braze.getInstance(context).currentUser?.addAlias(ALIAS_NAME, ALIAS_LABEL) +``` + +{% endtab %} +{% endtabs %} + +{% elsif include.platform == "Web" %} + +```javascript +braze.getUser().addAlias(ALIAS_NAME, ALIAS_LABEL); +``` + +{% elsif include.platform == "REST" %} + +```json +{ + "alias_name" : (required, string), + "alias_label" : (required, string) +} +``` + +{% endif %} From fcb0d9b7b604a906ae29fe69c744e97fa2110938 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:31 +0000 Subject: [PATCH 22/26] File content_cards.md committed. --- _lang/fr_fr/_includes/content_cards.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 _lang/fr_fr/_includes/content_cards.md diff --git a/_lang/fr_fr/_includes/content_cards.md b/_lang/fr_fr/_includes/content_cards.md new file mode 100644 index 00000000000..74e6678863d --- /dev/null +++ b/_lang/fr_fr/_includes/content_cards.md @@ -0,0 +1,9 @@ +{% tabs %} +{% tab Android %} +Par défaut, le [SDK Android](https://github.com/braze-inc/braze-android-sdk) natif de Braze ne prend pas en charge les GIF animés pour les cartes de contenu. Toutefois, vous pouvez utiliser une bibliothèque d'images tierce pour afficher des GIF à la place. Pour plus d'informations, voir [Cartes de contenu Android : GIFs]({{site.baseurl}}/developer_guide/platform_integration_guides/android/content_cards/GIFs/). +{% endtab %} + +{% tab iOS %} +Par défaut, le [SDK Swift de Braze](https://github.com/braze-inc/braze-swift-sdk) ne prend pas en charge les GIF animés pour les cartes de contenu. Toutefois, vous pouvez envelopper votre propre vue ou une vue tierce dans une instance de la méthode [`GIFViewProvider`](https://braze-inc.github.io/braze-swift-sdk/documentation/brazeui/gifviewprovider). Pour obtenir une présentation complète, consultez [Tutoriel : Prise en charge des GIF pour les cartes de contenu Swift](https://braze-inc.github.io/braze-swift-sdk/tutorials/braze/c3-gif-support/). +{% endtab %} +{% endtabs %} From 1ea97d6b1ca22bc86e746ef0870c192b10203f5b Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:39 +0000 Subject: [PATCH 23/26] File best_practices.md committed. --- _lang/fr_fr/_includes/best_practices.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 _lang/fr_fr/_includes/best_practices.md diff --git a/_lang/fr_fr/_includes/best_practices.md b/_lang/fr_fr/_includes/best_practices.md new file mode 100644 index 00000000000..ee765c9c92a --- /dev/null +++ b/_lang/fr_fr/_includes/best_practices.md @@ -0,0 +1,24 @@ +### Sauvegarde automatique de l’historique d’utilisateur anonyme + +| Contexte d’identification | Comportement de préservation | +| ---------------------- | -------------------------- | +| L'utilisateur **n'a pas** été identifié au préalable | L'historique anonyme **est fusionné** avec le profil utilisateur lors de l'identification. | +| L'utilisateur **a été** préalablement identifié dans l'application ou via l'API. | L'historique anonyme **n'est pas fusionné** avec le profil utilisateur lors de l'identification. | +{: .reset-td-br-1 .reset-td-br-2} + +Reportez-vous à la section [Profils utilisateurs identifiés]({{site.baseurl}}/user_guide/data_and_analytics/user_data_collection/user_profile_lifecycle/#identified-user-profiles) pour plus d'informations sur ce qui se passe lorsque vous identifiez des utilisateurs anonymes. + +### Remarques supplémentaires et meilleures pratiques + +Notez ce qui suit : + +- Si votre appli est utilisée par plusieurs personnes, vous pouvez attribuer à chaque utilisateur un identifiant unique pour le suivre. +- Une fois qu'un ID d'utilisateur a été défini, vous ne pouvez pas ramener cet utilisateur à un profil anonyme. +- Ne changez pas l'ID de l'utilisateur lorsqu'il se déconnecte, car cela risque de dissocier l'appareil du profil utilisateur. + - Par conséquent, vous ne pourrez pas cibler l'utilisateur précédemment déconnecté avec des messages de réengagement. Si vous anticipez plusieurs utilisateurs sur le même appareil, mais que vous souhaitez uniquement cibler l’un d’eux lorsque votre application est à l’état déconnecté, nous vous recommandons de suivre séparément l’ID utilisateur que vous souhaitez cibler durant la déconnexion et de basculer vers cet ID utilisateur dans le cadre du processus de déconnexion de votre application. Par défaut, seul le dernier utilisateur connecté recevra des notifications push de votre application. +- Le passage d'un utilisateur identifié à un autre est une opération relativement coûteuse. + - Lorsque vous demandez un changement d’utilisateur, la session actuelle de l’utilisateur précédent est automatiquement fermée et une nouvelle session est lancée. Braze effectuera automatiquement une demande d'actualisation des données pour les messages in-app et les autres ressources de Braze pour le nouvel utilisateur. + +{% alert tip %} +Si vous optez pour un hachage d'un identifiant unique comme ID utilisateur, veillez à normaliser l'entrée de votre fonction de hachage. Par exemple, si vous allez utiliser un hachage d'une adresse e-mail, confirmez que vous supprimez les espaces de début et de fin de l'entrée et que vous tenez compte de la localisation. +{% endalert %} \ No newline at end of file From da6159a02b61de2e23ee37d934953b101880615d Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:45 +0000 Subject: [PATCH 24/26] File naming_convention.md committed. --- _lang/fr_fr/_includes/naming_convention.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 _lang/fr_fr/_includes/naming_convention.md diff --git a/_lang/fr_fr/_includes/naming_convention.md b/_lang/fr_fr/_includes/naming_convention.md new file mode 100644 index 00000000000..6f3966d77ab --- /dev/null +++ b/_lang/fr_fr/_includes/naming_convention.md @@ -0,0 +1,14 @@ +Chez Braze, nous **recommandons vivement de** nommer les ID utilisateurs, également appelés ID externes, dans un format [UUIDs et GUIDs](https://en.wikipedia.org/wiki/Universally_unique_identifier). Les UUID et les GUID sont des identificateurs universellement uniques qui consistent en un nombre de 128 bits utilisé pour identifier les informations dans les systèmes informatiques. Cela signifie que ces UUID sont longs, aléatoires et bien distribués. Si vous choisissez une autre méthode pour nommer vos ID d'utilisateur, ils doivent également être longs, aléatoires et bien répartis. Il est également important de noter que les ID utilisateurs sont **sensibles à la casse**. Par exemple, « Abcdef » est un utilisateur différent de « abcdef ». + +Si vous constatez que vos ID comprennent des noms, des adresses e-mail, des horodatages ou des incréments, nous vous suggérons d'utiliser une nouvelle méthode de dénomination plus sûre afin que vos ID ne soient pas aussi faciles à deviner ou à usurper. Si vous choisissez de l'inclure dans vos ID d'utilisateur, nous **vous recommandons vivement d'** ajouter notre fonctionnalité d'[authentification SDK]({{site.baseurl}}/developer_guide/platform_wide/sdk_authentication/) pour empêcher l'usurpation d'identité. + +La communication de ces informations à des tiers peut permettre à des personnes extérieures à votre organisation de glaner des informations sur la façon dont vos ID d'utilisateur sont structurés, ce qui expose votre organisation à des mises à jour potentiellement malveillantes ou à la suppression d'informations. Le choix d'une convention d'appellation correcte dès le départ est l'une des étapes les plus importantes de la mise en place des ID utilisateurs. Toutefois, une migration est possible en utilisant notre [endpoint de migration de l'ID externe]({{site.baseurl}}/api/endpoints/user_data/external_id_migration/). + +| Dénomination des ID utilisateur | +| Recommandé | Non recommandé | +| ------------ | ----------- | +| 123e4567-e89b-12d3-a456-836199333115 | JonDoe829525552 | +| 8c0b3728-7fa7-4c68-a32e-12de1d3ed2d5 | Anna@email.com | +| f0a9b506-3c5b-4d86-b16a-94fc4fc3f7b0 | NomSociété-1-2-19 | +| 2d9e96a1-8f15-4eaf-bf7b-eb8c34e25962 | jon-doe-1-2-19 | +{: .reset-td-br-1 .reset-td-br-2} \ No newline at end of file From 72f55acf0e631522d16ab56682227199294eb282 Mon Sep 17 00:00:00 2001 From: Translationmanagement <148088307+Translationmanagement@users.noreply.github.com> Date: Fri, 10 Jan 2025 01:04:47 +0000 Subject: [PATCH 25/26] File campaign_analytics.md committed. --- _lang/fr_fr/_includes/campaign_analytics.md | 166 +++++++++++--------- 1 file changed, 91 insertions(+), 75 deletions(-) diff --git a/_lang/fr_fr/_includes/campaign_analytics.md b/_lang/fr_fr/_includes/campaign_analytics.md index f168d243041..3bf0939b050 100644 --- a/_lang/fr_fr/_includes/campaign_analytics.md +++ b/_lang/fr_fr/_includes/campaign_analytics.md @@ -1,16 +1,16 @@ ## Analyse de campagne -Une fois que vous avez lancé votre campagne, vous pouvez revenir à la page des détails de cette campagne pour afficher les indicateurs clés. Accédez à la page des **campagnes** et sélectionnez votre campagne pour ouvrir la page des détails. Pour les cartes de contenu {% if include.channel == "Content Card" %} {% elsif include.channel == "email" %} e-mail {% elsif include.channel == "in-app message" %}messages in-app {% elsif include.channel == "push" %}messages push {% elsif include.channel == "SMS" %}messages SMS {% elsif include.channel == "whatsapp" %}messages WhatsApp {% elsif include.channel == "webhook" %}webhooks {% endif %}envoyés dans Canvas, reportez-vous à [Canvas analytics]({{site.baseurl}}/user_guide/engagement_tools/canvas/testing_canvases/measuring_and_testing_with_canvas_analytics/). +Une fois que vous avez lancé votre campagne, vous pouvez revenir à la page des détails de cette campagne pour afficher les indicateurs clés. Accédez à la page des **campagnes** et sélectionnez votre campagne pour ouvrir la page des détails. Pour les cartes de contenu {% if include.channel == "Content Card" %} {% elsif include.channel == "email" %} e-mail {% elsif include.channel == "in-app message" %}messages in-app {% elsif include.channel == "push" %}messages push {% elsif include.channel == "SMS" %}messages SMS {% elsif include.channel == "whatsapp" %}messages WhatsApp {% elsif include.channel == "webhook" %}webhooks {% endif %}envoyés dans Canvas, reportez-vous à [Analytique Canvas]({{site.baseurl}}/user_guide/engagement_tools/canvas/testing_canvases/measuring_and_testing_with_canvas_analytics/). {% alert tip %} Vous recherchez des définitions pour les termes et les indicateurs répertoriés dans votre rapport ? Consultez notre - {% if include.channel == "email" %}[Glossaire de l'analyse/analytique des e-mails (si utilisé comme adjectif)]({{site.baseurl}}/user_guide/message_building_by_channel/email/reporting_and_analytics/analytics_glossary/) - {% elsif include.channel == "Content Card" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtre par cartes de contenu + {% if include.channel == "email" %}[Glossaire analytique pour l’e-mail]({{site.baseurl}}/user_guide/message_building_by_channel/email/reporting_and_analytics/analytics_glossary/) + {% elsif include.channel == "Content Card" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtrez par cartes de contenu {% elsif include.channel == "in-app message" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtrage par message in-app - {% elsif include.channel == "push" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtre par Push + {% elsif include.channel == "push" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtrez par notification push {% elsif include.channel == "SMS" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtrage par SMS - {% elsif include.channel == "whatsapp" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtre par WhatsApp - {% elsif include.channel == "webhook" %}[Report Metrics Glossaire]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtre par webhook{% endif %}. + {% elsif include.channel == "whatsapp" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtrez par WhatsApp + {% elsif include.channel == "webhook" %}[Glossaire des indicateurs de rapport]({{site.baseurl}}/user_guide/data_and_analytics/report_metrics/) et filtrez par webhook{% endif %}. {% endalert %} À partir de l'onglet **Analyse/analytique de la campagne**, vous pouvez consulter vos rapports dans une série d'adjectifs. Vous pouvez voir plus ou moins que ceux énumérés dans les sections ci-dessous, mais chacun a son propre objectif utile. @@ -21,9 +21,9 @@ Le panneau **Détails de la campagne** présente un aperçu de haut niveau de l' {% if include.channel == "Content Card" %}Carte de contenu. {% elsif include.channel == "email" %}e-mail. {% elsif include.channel == "in-app message" %}message in-app. - {% elsif include.channel == "push" %}envoi de messages. + {% elsif include.channel == "push" %}message push. {% elsif include.channel == "SMS" %}SMS. - {% elsif include.channel == "whatsapp" %}Envois de messages par WhatApp. + {% elsif include.channel == "whatsapp" %}messages WhatApp. {% elsif include.channel == "webhook" %}webhook. {% endif %} @@ -31,7 +31,7 @@ Examinez ce panneau pour voir les indicateurs globaux tels que le nombre de mess {% if include.channel == "whatsapp" %} {% alert note %} -Le canal WhatsApp comprend le taux de lecture. Cette mesure n'est fournie que pour les utilisateurs ayant activé les indicateurs de lecture, ce qui peut varier. +Le canal WhatsApp comprend le taux de lecture. Cette mesure n'est fournie que pour les utilisateurs ayant activé les reçus de lecture, ce qui peut varier. {% endalert %} {% endif %} @@ -99,49 +99,49 @@ The **Message Performance** panel outlines how well your message has performed a Le panneau " **Performance de la carte de contenu"** indique le niveau de performance de votre message en fonction de différents critères. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Carte de contenu message analyse/analytique des cartes]({% image_buster /assets/img/cc-message-performance.png %}) +![Analyse des performances des messages de carte de contenu]({% image_buster /assets/img/cc-message-performance.png %}) {% elsif include.channel == "email" %} ### Performances des e-mails Le tableau de bord des performances de **l'e-mail** indique le niveau de performance de votre message en fonction de différents critères. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Analyse/analytique des performances des messages e-mail]({% image_buster /assets/img_archive/email_message_performance.png %}) +![Analyse des performances des messages e-mail]({% image_buster /assets/img_archive/email_message_performance.png %}) {% elsif include.channel == "in-app message" %} ### Performance des messages in-app Le panneau de **performance des messages in-app** présente l'efficacité de votre message en fonction de différentes dimensions. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Analyse/analytique des messages in-app]({% image_buster /assets/img_archive/iam_message_performance.png %}) +![Analyse des performances des messages in-app]({% image_buster /assets/img_archive/iam_message_performance.png %}) {% elsif include.channel == "push" %} ### Performances des notifications push Le panneau " **Push Performance"** donne un aperçu de la performance de votre message en fonction de différents critères. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Analyse/analytique de la performance des messages envoyés]({% image_buster /assets/img_archive/push_message_performance.png %}) +![Analyse des performances des messages push]({% image_buster /assets/img_archive/push_message_performance.png %}) {% elsif include.channel == "SMS" %} ### Performances des SMS Le panneau " **Performance SMS"** indique le niveau de performance de votre message en fonction de différents critères. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Panneau de performance SMS/MMS comprenant un tableau d'indicateurs pour un groupe de contrôle, la variante 1 et la variante 2.]({% image_buster /assets/img_archive/sms_message_performance.png %}) +![Volet des performances des SMS/MMS qui comprend un tableau d'indicateurs pour un groupe de contrôle, la variante 1 et la variante 2.]({% image_buster /assets/img_archive/sms_message_performance.png %}) {% elsif include.channel == "webhook" %} ### Performances des webhooks Le tableau de bord des **performances des webhooks** donne un aperçu de l'efficacité de votre message en fonction de différents critères. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Panneau de performance du webhook comprenant un tableau d'indicateurs pour un groupe de contrôle et la variante 1.]({% image_buster /assets/img/webhook_message_performance.png %}) +![Panneau de performances du webhook comprenant un tableau d'indicateurs pour un groupe de contrôle et la variante 1.]({% image_buster /assets/img/webhook_message_performance.png %}) {% elsif include.channel == "whatsapp" %} ### Performances WhatsApp Le panneau **WhatsApp Performance** présente les performances de votre message en fonction de différents critères. Les indicateurs de ce volet varient en fonction de votre canal de communication choisi, et selon que vous exécutez ou non un test multivarié. Vous pouvez cliquer sur l'icône **Preview** pour visualiser votre message pour chaque variante ou canal de communication. -![Panneau de performance WhatsApp comprenant un tableau d'indicateurs pour la variante 1.]({% image_buster /assets/img/whatsapp_message_performance.png %}) +![Panneau de performances de WhatsApp comprenant un tableau d'indicateurs pour la variante 1.]({% image_buster /assets/img/whatsapp_message_performance.png %}) {% endif %} @@ -163,7 +163,7 @@ Dans cette vue, vous pouvez utiliser la bascule **Afficher la carte thermique** #### Métriques de la carte de contenu -Voici une description de certaines indicateurs clés que vous pouvez voir lors de l’examen des performances de vos messages. Pour obtenir les définitions complètes de tous les indicateurs des cartes de contenu, reportez-vous au [glossaire des indicateurs de rapport][1] et filtrez par carte de contenu. +Voici une description de certaines indicateurs clés que vous pouvez voir lors de l’examen des performances de vos messages. Pour obtenir les définitions complètes de tous les indicateurs des cartes de contenu, reportez-vous au [glossaire des indicateurs de rapport][1] et filtrez par cartes de contenu. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Type d’imageRapport hauteur/largeurQualité de l’imageTaille maximale de l'imageTypes de fichierRemarques
iOS2:1 (recommandé)1038 x 1038 px maximum5 MBPNG, JPG, GIFÀ compter du mois de janvier 2020, les notifications push enrichies pour iOS peuvent gérer des images de 1 038 x1 038 px tant que leur taille est inférieure à 10 Mo, mais nous recommandons d’utiliser des fichiers aussi petits que possible. En pratique, l’envoi de fichiers volumineux peut entraîner une surcharge inutile du réseau et rendre les échecs de téléchargement plus courants.

Pour plus d'informations, consultez la rubrique Notifications enrichies pour iOS.
Icône push Android1:1N/A500 KBPNG, JPG
Image de notification élargie sous Android2:1Petites : 512 x 256 px
Intermédiaire : 1024 x 512 px
Grandes : 2048 x 1024 px
500 KBPNG, JPGUtilisé dans les notifications riches d'Android.
Image d'inclinaison Android3:2N/AN/APNG, JPGPour plus de détails, consultez la section Notifications push d’images insérées pour Android.
+ +{% endif %} + +{% if include.variable_name == "email" %} + +| Type d'e-mail | Propriétés maximales recommandées | +| --- | --- | +| Texte uniquement | 25 KB | +| Texte avec images | 60 KB | +| Largeur de l'e-mail | 600 px | +{: .reset-td-br-1 .reset-td-br-2} + +| Spécifications des images | Propriétés maximales recommandées | +| --- | --- | +| Taille | 5 MB | +| Largeur | En-tête : 600 px
Corps : 480 px | +| Types de fichier | PNG, JPG, GIF | +{: .reset-td-br-1 .reset-td-br-2} + +| Spécifications du texte | Propriétés maximales recommandées | +| --- | --- | +| Longueur de la ligne d'objet | 35 caractères
6 à 10 mots | +| `"From: Name"` longueur | 25 caractères | +| Longueur du pré-en-tête | 85 caractères | +{: .reset-td-br-1 .reset-td-br-2} + +{% endif %} + +{% if include.variable_name == "content cards" %} + +| Type de carte | Rapport hauteur/largeur | Qualité de l’image | +| --------- | ---------------- | ------------------- | +| Classique | Format 1:1 | 60 x 60 px | +| Avec légende | Format 4:3 | Largeur minimale de 600 px | +| Bannière | N'importe quel rapport hauteur/largeur | Largeur minimale de 600 px | +{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3} + +Pour plus d'informations, reportez-vous aux [informations créatives des cartes de contenu]({{site.baseurl}}/user_guide/message_building_by_channel/content_cards/creative_details/). + +{% endif %} \ No newline at end of file