Utiliser Play�Billing dans votre activit� Web fiable

En plus de vous permettre de vendre des produits num�riques et des abonnements sur le Play�Store, Google Play�Billing propose des outils pour g�rer votre catalogue, vos prix et vos abonnements. et un processus de paiement d�j� connu de vos utilisateurs, optimis� par le Play�Store. Il est �galement obligatoire pour les applications publi�es sur le Play�Store qui vendent des produits num�riques.

Chrome 88 est lanc� avec une phase d'�valuation sur Android qui permet d'int�grer Activit�s Web fiables avec l'API Payment Request et l'API Digital Goods pour impl�menter des parcours d'achat via Google Play�Billing. Cette phase d'�valuation devrait �galement �tre disponible pour ChromeOS sur la version 89.

Afin de faciliter l'int�gration dans l'application Android, l'�quipe charg�e de l'activit� Web fiable lance une biblioth�que d'extensions vers android-browser-helper. Ce guide pr�sente les modifications requises pour int�grer cette biblioth�que � une application existante.

Remarque:Cet article concerne l'intégration de l'application Android. Si vous utilisez Bubblewrap pour créer votre application. Vous pourrez la mettre à jour à l'aide de l'outil. La l'implémentation de Bubblewrap fait l'objet d'un suivi dans ce problème. Ce guide est destiné aux Ceux qui n'utilisent pas Bubblewrap pour mettre à jour leur application.

build.gradle

La bibliothèque d'extensions de facturation dépend de la version 2.1.0 de android-browser-helper. Assurez-vous que votre application utilise une version égale ou supérieure à cette version.

Vous devez également ajouter une déclaration d'implémentation pour la bibliothèque d'extensions de facturation:

dependencies {
    ...
    implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.1.0'
    implementation 'com.google.androidbrowserhelper:billing:1.0.0-alpha05'
}

DelegationService.java

android-browser-helper est fourni avec un DelegationService par défaut qui peut être utilisé directement par les applications. Lorsque vous utilisez l'extension de facturation, vous avez besoin d'une version légèrement personnalisée de DelegationService

Pour ce faire, vous devez créer votre propre classe DelegationService qui étend le celle d'origine et remplace onCreate(). Dans onCreate(), vous devez ajouter un seul qui enregistre l'application en tant que gestionnaire pour l'API Digital Goods:

package com.example.yourapp;

import com.google.androidbrowserhelper.playbilling.digitalgoods.DigitalGoodsRequestHandler;
import com.google.androidbrowserhelper.trusted.DelegationService;

public class DelegationService
        extends com.google.androidbrowserhelper.trusted.DelegationService {
    @Override
    public void onCreate() {
        super.onCreate();
        registerExtraCommandHandler(new DigitalGoodsRequestHandler(getApplicationContext()));
    }
}

AndroidManifest.xml

Dans le fichier manifeste Android, vous devez modifier vous-même la référence à la bibliothèque de délégation. la mise en œuvre. Dans la déclaration service correspondante, remplacez com.google.androidbrowserhelper.trusted.DelegationService par la classe que vous venez de créer.

<service
    android:name=".DelegationService"
    android:exported="true">

    <intent-filter>
        <action android:name="android.support.customtabs.trusted.TRUSTED_WEB_ACTIVITY_SERVICE"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</service>

La biblioth�que de facturation introduit �galement deux nouveaux composants qui devront �tre ajout�s � votre Fichier manifeste: un service auquel le navigateur peut se connecter et qui v�rifie si l'application est compatible avec paiement, et une Activity qui g�re lui-m�me le flux de paiement:

<activity
    android:name="com.google.androidbrowserhelper.playbilling.provider.PaymentActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|keyboard|orientation|screenLayout|screenSize"
    android:exported="true">
    <intent-filter>
        <action android:name="org.chromium.intent.action.PAY" />
    </intent-filter>
    <meta-data
        android:name="org.chromium.default_payment_method_name"
        android:value="https://play.google.com/billing" />
</activity>
<!-- This service checks who calls it at runtime. -->
<service
    android:name="com.google.androidbrowserhelper.playbilling.provider.PaymentService"
    android:exported="true" >
    <intent-filter>
        <action android:name="org.chromium.intent.action.IS_READY_TO_PAY" />
    </intent-filter>
</service>

En savoir plus sur l'API Digital Goods et Google Play�Billing

Cet article d�crit les �tapes � suivre sp�cifiquement pour l'application Android qui utilise le Web de confiance. Activit�, mais l'API Google Play�Billing poss�de sa propre terminologie et inclut le client et le backend composants. Nous vous recommandons vivement de lire les documents Google Play�Billing et les la documentation de l'API Digital Goods et la compr�hension de ses concepts avant de l'int�grer � un l'application en production.