Passer de la bibliothèque Google Play Billing 6 ou 7 à la version 8

Ce document explique comment passer de la bibliothèque Google Play Billing (PBL) 6 ou 7 à la PBL 8 et comment intégrer les nouvelles fonctionnalités d'abonnement facultatives.

Pour obtenir la liste complète des modifications apportées à la version 8.0.0, consultez les notes de version.

Présentation

La PBL 8 contient des améliorations apportées aux API existantes, ainsi que la suppression des API précédemment obsolètes. Cette version de la bibliothèque inclut également de nouvelles API pour les produits ponctuels.

Rétrocompatibilité pour la mise à niveau de la PBL

Pour migrer vers la PBL 8, vous devez mettre à jour ou supprimer certaines de vos références d'API existantes de votre application, comme décrit dans les notes de version et plus loin dans ce guide de migration.

Mettre à niveau la PBL 6 ou 7 vers la PBL 8

Pour mettre à niveau la PBL 6 ou 7 vers la PBL 8, procédez comme suit :

  1. Mettez à jour la version de la dépendance de la bibliothèque Play Billing dans le fichier build.gradle de votre application.

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (Applicable uniquement pour la mise à niveau de la PBL 6 vers la PBL 8). Gérez les modifications d'API liées aux abonnements dans votre application.

    Le tableau suivant répertorie les API liées aux abonnements qui sont supprimées dans la PBL 8 et l'API alternative correspondante que vous devez utiliser dans votre application.

    API précédemment obsolète supprimée dans la PBL 8 API alternative à utiliser
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. Mettez à jour l'implémentation de la queryProductDetailsAsync méthode.

    La signature de la méthode ProductDetailsResponseListener.onProductDetailsResponse a été modifiée, ce qui nécessite des modifications dans votre application pour l'implémentation queryProductDetailsAsync. Pour en savoir plus, consultez Afficher les produits disponibles à l'achat.

  4. Gérez les API supprimées.

    Mettre à niveau à partir de

    La PBL 8 n'est plus compatible avec les API listées dans le tableau suivant. Si votre implémentation utilise l'une de ces API supprimées, reportez-vous au tableau pour connaître les API alternatives correspondantes.

    API précédemment obsolète supprimée dans la PBL 8 API alternative à utiliser
    API queryPurchaseHistoryAsync Consultez Interroger l'historique des achats.
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sans paramètres) enablePendingPurchases(PendingPurchaseParams params)
    Notez que la méthode obsolète enablePendingPurchases() est fonctionnellement équivalente à enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    Mettre à niveau à partir de

    Le tableau suivant répertorie les API qui sont supprimées dans la PBL 8 et les API alternatives correspondantes que vous devez utiliser dans votre application.

    API précédemment obsolète supprimée dans la PBL 8 API alternative à utiliser
    API queryPurchaseHistoryAsync Consultez Interroger l'historique des achats.
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sans paramètres) enablePendingPurchases(PendingPurchaseParams params)
    Notez que la méthode obsolète enablePendingPurchases() est fonctionnellement équivalente à enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (Recommandé) Activez la reconnexion automatique au service.

    La bibliothèque Play Billing peut tenter de rétablir automatiquement la connexion au service si un appel d'API est effectué alors que le service est déconnecté. Pour en savoir plus, consultez Activer la reconnexion automatique au service.

  6. Modifications facultatives.