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.
Android 4.0 (API Level 14) oder höher
Dieses Tutorial setzt die Entwicklung in Android Studio voraus.
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.
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'
〜
}
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.** { *; }
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
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
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();
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