Flows de secours
Pour maintenir une expérience utilisateur fluide, il est important de configurer des versions de secours de vos flows.
Lorsque votre application demande un flow, le SDK Adapty contacte nos serveurs pour récupérer sa configuration. Si l’appareil ne peut pas joindre Adapty (problème réseau, panne de serveur), le SDK bascule sur les données locales :
- Si l’utilisateur a déjà vu le flow une fois, le SDK utilise la copie en cache.
- Si aucun cache n’existe, le SDK charge un fichier de configuration de secours inclus dans l’application.
Adapty génère automatiquement ces fichiers de secours. Le bundle de secours du flow est partagé avec les paywalls — un seul fichier JSON par plateforme contient les variantes de secours pour les deux. Le SDK lit la section dont il a besoin.
Les fallbacks de flow sont inclus dans le bundle Adapty SDK 4.0+. Si vous sélectionnez une version antérieure du SDK dans la fenêtre de téléchargement, le fichier ne contient que des variantes de paywall et d’onboarding — sans flows. Assurez-vous que votre application utilise une version du SDK compatible avec les flows avant de vous appuyer sur un fallback de flow.
Avant de commencer
- Créez un flow dans le Flow Builder.
- Créez un placement pour le flow.
Télécharger le fichier de secours
- Ouvrez la page Placements.
- Cliquez sur le bouton Fallbacks en haut à droite.
- Sélectionnez votre plateforme cible dans le menu déroulant.
- Choisissez la version du SDK qui correspond à celle embarquée dans votre application. Sélectionnez Adapty SDK v4.0.0 and higher (ou une option ultérieure) pour recevoir un bundle qui inclut les flows.
Le navigateur télécharge un fichier JSON par plateforme — par exemple, ios_4_0_0_fallback.json.
Exemple d’entrée de fallback de flow (cliquez pour développer)
"PLACEMENT_ID": {
"data": [
{
"developer_id": "PLACEMENT_ID",
"variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
"flow_id": "daf25858-3fa2-4981-8500-9c8a30e5b7e6",
"flow_name": "FLOW_NAME",
"flow_version_id": "FLOW_VERSION_ID",
"placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
"audience_name": "All Users",
"ab_test_name": "",
"cross_placement_info": null,
"weight": 100,
"variations": [
{
"variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
"paywall_id": "PAYWALL_ID",
"paywall_name": "PAYWALL_NAME",
"ab_test_name": "",
"products": [],
"revision": 1,
"custom_payload": null,
"weight": 100
}
],
"remote_configs": []
}
],
"meta": {
"placement": {
"developer_id": "PLACEMENT_ID",
"is_tracking_purchases": true,
"audience_name": "All Users",
"placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
"revision": 0,
"ab_test_name": ""
}
}
}La structure exacte peut changer entre les versions du SDK. Utilisez toujours le fichier généré par Adapty pour votre version du SDK plutôt que de le créer manuellement.
Après le téléchargement
Ajoutez le fichier à votre code d’application, puis suivez le guide de configuration propre à votre plateforme. Les mêmes API qui chargent les paywalls de secours chargent également les fallbacks de flow dès que votre application utilise une version du SDK compatible avec les flows :
Limitations
Les flows de secours sont codés en dur et stockés localement, ils ne bénéficient donc pas de toutes les capacités dynamiques des flows en direct :
- Une seule variante par placement. Si un placement comporte plusieurs flows (audiences différentes, variantes de test A/B), le fichier de secours utilise la variante ayant le poids le plus élevé, ou l’audience la plus large.
- Pas de test A/B. Un test A/B de flow en direct est résolu côté serveur ; le secours sert toujours une seule variante choisie.
- Pas de mises à jour à distance. Mettre à jour le fichier de secours nécessite une nouvelle version de l’application. Pour les mises à jour que vous feriez normalement via Remote Config, utilisez plutôt le flow en direct.