Play Billing in deinen vertrauenswürdigen Webaktivitäten verwenden

Du erlaubst deiner App nicht nur, digitale Waren und Abos im Play Store zu verkaufen, Google Play Billing bietet hilfreiche Tools zum Verwalten deines Katalogs, deiner Preise und deiner Abos. Berichte und einen Bezahlvorgang über den Play Store, mit dem die Nutzer bereits vertraut sind. Es ist auch eine Voraussetzung für im Play Store veröffentlichte Apps, die digitale Waren verkaufen.

Wir starten Chrome 88 mit einem Ursprungstest für Android, der die Integration von Vertrauenswürdige Web-Aktivitäten mit der Payment Request API und der Digital Goods API, um Kaufprozesse über Google Play Billing implementieren Dieser Ursprungstest sollte ebenfalls verfügbar sein für ChromeOS in Version 89.

Um die Integration in die Android-App zu erleichtern, führt das Team für vertrauenswürdige Webaktivitäten eine Erweiterungsbibliothek für android-browser-helper. In diesem Leitfaden werden die erforderlichen Änderungen erläutert. um diese Bibliothek in eine vorhandene Anwendung zu integrieren.

Hinweis:In diesem Artikel wird die Integration für die Android-App beschrieben. Wenn Sie Bubblewrap zum Erstellen Ihrer App. Anschließend können Sie das Tool verwenden, um Ihre App zu aktualisieren. Die Die Implementierung auf Bubblewrap wird in diesem Problem verfolgt. Dieser Leitfaden richtet sich an Personen, die Bubblewrap nicht zum Aktualisieren ihrer App verwenden.

build.gradle

Die Bibliothek der Abrechnungserweiterung selbst hängt von Version 2.1.0 von android-browser-helper ab. Sicherstellen, Ihre Anwendung eine Version verwendet, die gleich oder größer ist.

Außerdem müssen Sie eine Implementierungserklärung für die Bibliothek der Abrechnungserweiterung hinzufügen:

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

DelegationService.java

„android-browser-helper“ wird mit einer Standard-DelegationService ausgeliefert, die direkt von Apps verwendet werden kann. Wenn Sie die Abrechnungserweiterung verwenden, benötigen Sie eine leicht angepasste Version des DelegationService

Dazu müssen Sie Ihre eigene DelegationService-Klasse erstellen, die die ursprüngliche Anzeige und überschreibt onCreate(). Innerhalb von onCreate() müssen Sie ein , der die Anwendung als Handler für die Digital Goods API registriert:

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

Im Android-Manifest müssen Sie den Verweis auf die Delegationsbibliothek selbst ändern Implementierung. Ersetzen Sie in der entsprechenden service-Deklaration com.google.androidbrowserhelper.trusted.DelegationService durch den neu erstellten Kurs.

<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>

Die Billing Library enthält außerdem zwei neue Komponenten, die Ihrem Android-Gerät Manifest: ein Dienst, zu dem der Browser eine Verbindung herstellen und prüfen kann, ob die App den Dienst Zahlung und einer Activity, die den Zahlungsvorgang selbst abwickelt:

<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>

Weitere Informationen zur Digital Goods API und Google Play Billing

In diesem Artikel werden die Schritte behandelt, die speziell für die Android-App erforderlich sind, die Trusted Web verwendet. Aktivität, aber die Google Play Billing API hat ihre eigene Terminologie und umfasst Client und Backend. Komponenten. Wir empfehlen dir dringend, Google Play Billing und die Digital Goods API-Dokumentation und Verständnis der Konzepte vor der Integration in eine in der Produktion eingesetzt wird.