Implémenter des paywalls web dans le SDK Flutter

Avant de commencer, assurez-vous d’avoir configuré votre paywall web dans le tableau de bord et d’avoir installé la version 3.6.1 ou ultérieure du SDK Adapty.

Si vous travaillez avec un paywall que vous avez développé vous-même, vous devez gérer les paywalls web via la méthode du SDK. La méthode .openWebPaywall :

  1. Génère une URL unique permettant à Adapty d’associer un paywall spécifique affiché à un utilisateur particulier à la page web vers laquelle il est redirigé.
  2. Détecte quand vos utilisateurs reviennent dans l’application, puis appelle .getProfile à intervalles courts pour déterminer si les droits d’accès du profil ont été mis à jour.

Ainsi, si le paiement a réussi et que les droits d’accès ont été mis à jour, l’abonnement s’active dans l’application presque immédiatement.

try {
  await Adapty().openWebPaywall(product: <YOUR_PRODUCT>);
  // The web paywall will be opened
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}

Il existe deux versions de la méthode openWebPaywall :

  1. openWebPaywall(product) qui génère des URLs à partir du paywall et y ajoute également les données du produit.
  2. openWebPaywall(paywall) qui génère des URLs à partir du paywall sans y ajouter les données du produit. Utilisez-la lorsque vos produits dans le paywall Adapty diffèrent de ceux du paywall web.

Dans le SDK v4, le paramètre paywall prend un AdaptyFlowPaywall — une variante de paywall du flow récupéré. Vérifiez que flow.paywalls n’est pas vide avant d’y accéder par index, par exemple flow.paywalls[0].

Gérer les erreurs

ErreurDescriptionAction recommandée
AdaptyError.paywallWithoutPurchaseUrlLe paywall n’a pas d’URL d’achat web configuréeVérifiez que le paywall a bien été configuré dans l’Adapty Dashboard
AdaptyError.productWithoutPurchaseUrlLe produit n’a pas d’URL d’achat webVérifiez la configuration du produit dans l’Adapty Dashboard
AdaptyError.failedOpeningWebPaywallUrlImpossible d’ouvrir l’URL dans le navigateurVérifiez les paramètres de l’appareil ou proposez une autre méthode d’achat
AdaptyError.failedDecodingWebPaywallUrlImpossible d’encoder correctement les paramètres dans l’URLVérifiez que les paramètres d’URL sont valides et correctement formatés

Ouvrir les paywalls web dans un navigateur intégré

L’ouverture des paywalls web dans un navigateur intégré est prise en charge à partir du SDK Adapty v3.15.

Par défaut, les paywalls web s’ouvrent dans le navigateur externe.

Pour offrir une expérience utilisateur fluide, vous pouvez ouvrir les paywalls web dans un navigateur intégré. Cela affiche la page d’achat web directement dans votre application, permettant aux utilisateurs de finaliser leurs transactions sans changer d’application.

Pour activer cette option, définissez le paramètre in sur .inAppBrowser :

try {
  await Adapty().openWebPaywall(
    product: <YOUR_PRODUCT>,
    openIn: AdaptyWebPresentation.inAppBrowser,
  );
  // The web paywall will be opened in the in-app browser
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}