[JAVA] So implementieren Sie den In-App-Kauf einfach über den Itemstore <Implementierung: Android>

itemstore ist ein Dienst, mit dem Sie In-App-Käufe auf Android- und iOS-Apps einfach implementieren können. Eine problematische In-App-Kaufabwicklung kann mit einem einfachen Quellcode realisiert werden, und die Verwaltung wie das Anzeigen / Nicht-Anzeigen von Verkaufsartikeln kann einfach über den Artikelspeicherbildschirm durchgeführt werden.

Der allgemeine Verwendungsfluss ist wie folgt.

[STEP1] Einstellungen auf der Entwicklerseite [SCHRITT2] Speichern Sie die Einstellungen [STEP3] Implementierung

Dieses Mal möchte ich "[STEP3] Implementierung: Android Edition" zusammenfassen.

Überblick

Betriebsumgebung

Android 4.0 (API Level 14) oder höher

Entwicklungsumgebung

Dieses Tutorial setzt die Entwicklung in Android Studio voraus.

SDK-Einstellungen

Kopieren Sie die heruntergeladene SDK-JAR-Datei in den Ordner libs.

Wenn Sie den libs-Ordner nicht sehen können, ändern Sie die Anzeige von Projekt im Werkzeugfenster, indem Sie im Pulldown-Menü "Projekt" auswählen.

Führen Sie nach der Bereitstellung des SDK einen sauberen Build durch, indem Sie in der Symbolleiste "Projekt mit Gradle-Dateien synchronisieren" oder im Menü [Build] -> [Projekt bereinigen] auswählen.

Erforderliche Unterstützung für API-Version 23 oder höher

Wenn die entsprechende API-Version 23 oder höher ist, fügen Sie unter android in build.gradle im App-Ordner Folgendes hinzu.

Erforderliche Unterstützung für API-Version 23 oder höher


android {
  〜
  useLibrary 'org.apache.http.legacy'
  〜
}

Geben Sie die Build-Einstellungen frei

Proguard-Einstellungen

Wenn Sie Build mit aktiviertem Proguard veröffentlichen möchten, fügen Sie proguard-rules.pro im App-Ordner Folgendes hinzu.

Proguard-Einstellungen


-dontwarn org.apache.http.**
-keep class net.app_c.sdk.** { *; }

Schnittstellenimplementierung

Implementieren Sie die OnAppCStartedListener-Schnittstelle in der Klasse, die die Hauptaktivität darstellt, um die Itemstore-Abrechnungsfunktion / Push-Benachrichtigungsfunktion zu implementieren.

Beispiel)

Implementierte OnAppCStartedListener-Schnittstelle


public class MainActivity extends Activity implements AppC.OnAppCStartedListener {

    private AppC appc;

・ ・ ・

Itemstore-Abrechnungsfunktion

Beispielcode

Itemstore-Abrechnungsfunktion


public class MainActivity extends Activity implements AppC.OnAppCStartedListener {

    private AppC appc;

    〜

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        〜

        //Itemstore-Initialisierung
        appc = new AppC(this).on(AppC.API.ITEM_STORE).setMediaKey(_MEDIA_KEY).start();

        〜

    }

    @Override
    public void onAppCStarted(boolean flg) {
        //Wird aufgerufen, nachdem der Itemstore-Initialisierungsprozess abgeschlossen ist
        //Wenn Sie die itemstore-bezogene Methode unmittelbar nach dem Starten der Anwendung aufrufen möchten,
        //Bitte führen Sie verschiedene Verarbeitungen durch, nachdem dieser Rückruf aufgerufen wurde.
    }

    〜

    @Override
    public void finish() {
        //Itemstore beenden
        appc.finish();
        
        super.finish();
    }

    〜

}

//Itemstore-Methode

//Aufruf der Itemstore-Ansicht
appc.ItemStore.openItemStore();

//Rufen Sie den Gruppennamen des Rechnungspostens ab
String groupName = appc.ItemStore.getItem("Gruppen-ID").getName();

//Holen Sie sich die Anzahl der Rechnungspositionen
int itemCount = appc.ItemStore.getItemCount("Gruppen-ID");

//Erhöhen oder verringern Sie die Anzahl der Rechnungspositionen
//Wenn Sie die Anzahl der Besitztümer reduzieren möchten, geben Sie im zweiten Argument einen negativen Wert ein
appc.ItemStore.addItemCount("Gruppen-ID", 1);

//Stellen Sie den angegebenen Wert für die Anzahl der Rechnungspositionen ein
appc.ItemStore.setItemCount("Gruppen-ID", 10);

//Anfrageschlüssel erhalten
String inquiryKey = appc.getInquiryKey();

Push-Benachrichtigungsfunktion

Beispielcode

Push-Benachrichtigungsfunktion


public class MainActivity extends Activity implements AppC.OnAppCStartedListener {

    private AppC appc;

    〜

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        〜

        //Itemstore-Initialisierung
        appc = new AppC(this).on(AppC.API.PUSH).setMediaKey(_MEDIA_KEY).start();

        /*
Standardmäßig ist die Aktivität, die beim Tippen auf die Push-Benachrichtigung beginnt, die Aktivität, die das AppC SDK initialisiert.
Wenn Sie eine Aktivität starten möchten, während Sie auf die Push-Benachrichtigung tippen, geben Sie die Aktivitätsklasse im zweiten Argument von on an.
Das in der Push-Benachrichtigung angezeigte Symbol ist standardmäßig ic_Der Launcher ist angegeben
Wenn Sie das durch Push-Benachrichtigung angezeigte Symbolbild ändern möchten, geben Sie im dritten Argument von on ein Symbol an.
        appc = new AppC(this).on(AppC.API.PUSH, MainActivity.class, R.drawable.ic_launcher)
                              .setMediaKey(_MEDIA_KEY)
                              .start();
        */
        〜

    }

    @Override
    public void onAppCStarted(boolean flg) {
        //Wird aufgerufen, nachdem der Itemstore-Initialisierungsprozess abgeschlossen ist
        //Wenn Sie die itemstore-bezogene Methode unmittelbar nach dem Starten der Anwendung aufrufen möchten,
        //Bitte führen Sie verschiedene Verarbeitungen durch, nachdem dieser Rückruf aufgerufen wurde.

        //Sie können den Zustellungstext (benutzerdefinierter Parameter) in der Push-Zustellung festlegen, wenn Sie mit der Push-Benachrichtigung beginnen.
        //Beispiel) Protokoll.d("appc", "onAppCStarted:" + appc.Push.getParam());
    }

    @Override
    protected void onNewIntent(final Intent intent) {
        super.onNewIntent(intent);
        //Sie können benutzerdefinierte Parameter abrufen, wenn sich die App in einem Aufgabenstatus befindet und eine Push-Benachrichtigung erhält
        
        //Sie können den Zustellungstext (benutzerdefinierter Parameter) in der Push-Zustellung festlegen, wenn Sie mit der Push-Benachrichtigung beginnen.
        //Beispiel) Protokoll.d("appc", "onNewIntent:" + appc.Push.getParam());
    }

    @Override
    public void finish() {
        //Itemstore beenden
        appc.finish();
        
        super.finish();
    }

    〜
}

//Push-Benachrichtigungsmethode

//Liefertext erhalten (benutzerdefinierte Parameter)
String customParameter = appc.Push.getParam();

//Anfrageschlüssel erhalten
String inquiryKey = appc.getInquiryKey();

AndroidManifest.xml Einstellungen

Bitte benutzen Sie es nach Bedarf. Wenn andere notwendige Elemente vorhanden sind, fügen Sie diese bitte entsprechend hinzu.

AndroidManifest.XML-Einstellungen


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="[Paketnamen]">

    <!-- require AppC -->
    <uses-permission android:name="android.permission.INTERNET" />
    
    <!-- require Push Start -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" >
    </uses-permission>
    <uses-permission android:name="[Paketnamen].permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="[Paketnamen].permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <!-- require Push End -->
    
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- require Push Start -->
        <receiver
            android:name="com.google.android.gcm.GCMBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="[Paketnamen]" />
            </intent-filter>
        </receiver>

        <service android:name="net.app_c.sdk.AppCPushService" />
        <!-- require Push End -->

    </application>
</manifest>

Recommended Posts

So implementieren Sie den In-App-Kauf einfach über den Itemstore <Implementierung: Android>
[Swift5] So implementieren Sie Animationen mit "lottie-ios"
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
So implementieren Sie die Brotkrumenfunktion mit gretel
[Version 2020] So senden Sie eine E-Mail mit Android Studio Javamail
So erstellen Sie eine App mit Tensorflow mit Android Studio
So implementieren Sie eine einzeilige Anzeige von TextView in der Android-Entwicklung
[Rails] So implementieren Sie Scraping
[Java] So implementieren Sie Multithreading
So autorisieren Sie mit graphql-ruby
Wie man eine Ansicht auf Android "aushöhlt"
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
[Rails] So implementieren Sie die Sternebewertung
[Android] So erstellen Sie ein Dialogfragment
So erstellen Sie CloudStack mit Docker
[Android] So aktivieren / deaktivieren Sie das Benachrichtigungsfeld mit StatusBarManager
So implementieren Sie eine Diashow mit Slick in Rails (einzeln und mehrfach nacheinander)
[Android] Übergeben von Bildern und Empfangen von Rückrufen beim Teilen mit ShareCompat
So sortieren Sie eine Liste mit Comparator
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
[Rails] So laden Sie Bilder mit Carrierwave hoch
[Android] Wie man mit dunklen Themen umgeht
So erkennen Sie Mikrofonkonflikte unter Android
[Java] So berechnen Sie das Alter mit LocalDate
So erzwingen Sie Codierungskonventionen in Java
Android Drücken Sie einfach eine Taste
So implementieren Sie TextInputLayout mit Validierungsfunktion
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
So fügen Sie Symbole mit Font awesome ein
Verwendung von ExpandableListView in Android Studio
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList