> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.drimify.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Intégrer Drimify en utilisant Webview

# Comment intégrer les expériences Drimify dans votre application mobile à l'aide de WebView

Vous pouvez facilement intégrer vos expériences Drimify (comme les jeux, quiz et parcours interactifs) dans votre application mobile en utilisant un WebView. Cela permet aux utilisateurs d'accéder à vos expériences logo-tisées et responsives sans quitter votre application.

Ce guide couvre :

* **Prérequis**
* **Comment intégrer les WebViews sur Android & iOS**
* **Meilleures pratiques**
* **Intégrations avancées optionnelles**
* **Support des liens profonds dans les boutons d'appel à l'action (CTA)**

### Prérequis

Avant d'intégrer une expérience Drimify, assurez-vous d'avoir :

* Un lien d'expérience Drimify publié, par exemple, `https://apps.drimify.com/XBs15jKF/`
* Une méthode pour collecter ou transmettre un identifiant utilisateur (par exemple, email, numéro de téléphone ou ID de session)
* Une application mobile (iOS/Android) capable de rendre un WebView

### Intégration Android (WebView)

Voici comment charger une expérience Drimify dans un WebView Android :

```
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;

public class DrimifyActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WebView webView = new WebView(this);
        setContentView(webView);

        webView.setWebViewClient(new WebViewClient());
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);

        // Charger l'URL de l'expérience (avec session_id optionnel)
        String sessionId = "user_abc_123"; // Remplacez par l'ID réel
        String url = "https://apps.drimify.com/XBs15jKF/?session_id=" + sessionId;
        webView.loadUrl(url);
    }
}
```

### Intégration iOS (WKWebView)

Pour intégrer sur iOS, utilisez WKWebView avec JavaScript activé :

```
import UIKit
import WebKit

class DrimifyViewController: UIViewController {
    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let config = WKWebViewConfiguration()
        config.preferences.javaScriptEnabled = true

        webView = WKWebView(frame: self.view.bounds, configuration: config)
        self.view.addSubview(webView)

        let sessionId = "user_abc_123" // Remplacez par l'ID réel
        let url = URL(string: "https://apps.drimify.com/XBs15jKF/?session_id=\(sessionId)")!
        webView.load(URLRequest(url: url))
    }
}
```

### Identification de l'utilisateur et gestion des sessions

Pour suivre les utilisateurs et reprendre les sessions, utilisez :

* **Écran de démarrage avec saisie de données :** Collectez des identifiants comme l'email ou le numéro de téléphone.
* **Formulaires intermédiaires de collecte de données :** Offrez des formulaires plus complets avant l'accès.
* Paramètre **`session_uid` :** Ajoutez à l'URL (par exemple, `?session_uid=abc123`).
* **Guide complet de gestion des sessions :** Aide Drimify : [Identifiant de session unique](https://help.drimify.com/fr/article/identifiant-de-session-unique-session-unique-id-or1nml/)

### Support des liens profonds dans les CTA

Les expériences Drimify peuvent inclure des liens profonds dans les boutons d'appel à l'action (CTA) au sein du jeu. Cela signifie que les utilisateurs peuvent être dirigés vers des pages ou des actions spécifiques dans votre application mobile après avoir complété certaines étapes de l'expérience Drimify. Par exemple, un bouton "Terminer" dans un jeu peut être configuré pour lier directement à une page produit ou une offre spéciale dans votre application. Le lien profond permet une navigation fluide entre l'expérience Drimify et le contenu de votre application. Pour mettre en œuvre cela, assurez-vous que votre application dispose des gestionnaires de liens profonds nécessaires pour répondre aux URL ou actions spécifiques.

### Meilleures pratiques

* Assurez-vous que JavaScript est activé dans le WebView.
* Activez le stockage DOM pour une expérience plus fluide.
* **Ne désactivez pas JavaScript ou ne bloquez pas les scripts comme Angular :** Certains paramètres de WebView peuvent désactiver JavaScript ou bloquer des bibliothèques essentielles (comme Angular), ce qui peut empêcher le bon fonctionnement de l'expérience Drimify.
* Les expériences Drimify sont entièrement conçues pour être mobiles et responsives.### Intégration avancée d'événements (optionnelle)

Si vous souhaitez :

* Suivre l'achèvement des expériences
* Récupérer les scores
* Personnaliser le comportement

Utilisez l'API d'intégration HTML de Drimify et écoutez les événements via JavaScript à l'intérieur du WebView.

**Guide complet:** [Integration avancée API HTML Drimify](https://help.drimify.com/fr/article/integration-avancee-du-code-dintegration-html-widget-via-lapi-1bipl1k/)

> Remarque : Cela nécessite d'injecter du JavaScript et de gérer les messages entre le WebView et l'application.


### Besoin d'aide ?

Si vous rencontrez des problèmes avec les identifiants de session, le rendu WebView, les liens profonds, ou d'autres questions d'intégration, veuillez nous contacter.