[JAVA] Comment mettre en œuvre facilement les achats intégrés à l'aide d'itemsstore <Implémentation: Android>

itemstore est un service qui vous permet de mettre en œuvre facilement des achats intégrés sur les applications Android et iOS. Un traitement d'achat in-app problématique peut être réalisé avec un simple code source, et une gestion telle que l'affichage / non-affichage des articles de vente peut être facilement effectuée à partir de l'écran du magasin d'articles.

Le flux général d'utilisation est le suivant.

[STEP1] Paramètres sur le site du développeur [STEP2] Enregistrer les paramètres [STEP3] Mise en œuvre

Cette fois, je voudrais résumer "[STEP3] Implementation: Android Edition".

Aperçu

Environnement d'exploitation

Android 4.0 (niveau d'API 14) ou version ultérieure

Environnement de développement

Ce didacticiel suppose le développement dans Android Studio.

Paramètres du SDK

Copiez le fichier jar du SDK téléchargé dans le dossier libs.

Si vous ne pouvez pas voir le dossier libs, modifiez l'affichage du projet dans la fenêtre d'outils en sélectionnant "Projet" dans le menu déroulant.

Après avoir déployé le SDK, effectuez une nouvelle génération en sélectionnant "Sync Project with Gradle Files" dans la barre d'outils ou [Build] -> [Clean Project] dans le menu.

Prise en charge requise pour la version 23 ou ultérieure de l'API

Si la version d'API correspondante est 23 ou ultérieure, ajoutez ce qui suit sous android dans build.gradle dans le dossier de l'application.

Prise en charge requise pour la version 23 ou ultérieure de l'API


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

Libérer les paramètres de build

paramètres proguard

Si vous souhaitez publier la version avec proguard activé, ajoutez ce qui suit à proguard-rules.pro dans le dossier de l'application.

paramètres proguard


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

Implémentation de l'interface

Pour implémenter la fonction de facturation / fonction de notification push itemstore, implémentez l'interface OnAppCStartedListener dans la classe qui est l'activité principale.

Exemple)

Implémentation de l'interface OnAppCStartedListener


public class MainActivity extends Activity implements AppC.OnAppCStartedListener {

    private AppC appc;

・ ・ ・

fonction de facturation itemstore

Exemple de code

fonction de facturation itemstore


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

        〜

        //initialisation d'itemsstore
        appc = new AppC(this).on(AppC.API.ITEM_STORE).setMediaKey(_MEDIA_KEY).start();

        〜

    }

    @Override
    public void onAppCStarted(boolean flg) {
        //Appelé après la fin du processus d'initialisation de l'itemstore
        //Si vous souhaitez appeler la méthode associée à itemstore immédiatement après le démarrage de l'application,
        //Veuillez effectuer divers traitements après l'appel de ce rappel.
    }

    〜

    @Override
    public void finish() {
        //sortie itemstore
        appc.finish();
        
        super.finish();
    }

    〜

}

//méthode itemstore

//appel de vue itemstore
appc.ItemStore.openItemStore();

//Obtenez le nom de groupe de l'élément de facturation
String groupName = appc.ItemStore.getItem("ID de groupe").getName();

//Obtenez le nombre d'éléments de facturation
int itemCount = appc.ItemStore.getItemCount("ID de groupe");

//Augmenter ou diminuer le nombre d'éléments de facturation
//Si vous souhaitez réduire le nombre de possessions, entrez une valeur négative dans le deuxième argument
appc.ItemStore.addItemCount("ID de groupe", 1);

//Définissez la valeur spécifiée pour le nombre d'éléments de facturation
appc.ItemStore.setItemCount("ID de groupe", 10);

//Obtenir la clé de demande
String inquiryKey = appc.getInquiryKey();

Fonction de notification push

Exemple de code

Fonction de notification push


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

        〜

        //initialisation d'itemsstore
        appc = new AppC(this).on(AppC.API.PUSH).setMediaKey(_MEDIA_KEY).start();

        /*
Par défaut, l'activité qui démarre lorsque vous appuyez sur la notification push est l'activité qui initialise le SDK appC.
Si vous souhaitez démarrer une activité lorsque vous appuyez sur la notification push, spécifiez la classe d'activité dans le deuxième argument de on.
L'icône affichée dans la notification push est ic par défaut_Le lanceur est spécifié
Si vous souhaitez modifier l'image de l'icône affichée par notification push, spécifiez une icône dans le troisième argument de on.
        appc = new AppC(this).on(AppC.API.PUSH, MainActivity.class, R.drawable.ic_launcher)
                              .setMediaKey(_MEDIA_KEY)
                              .start();
        */
        〜

    }

    @Override
    public void onAppCStarted(boolean flg) {
        //Appelé après la fin du processus d'initialisation de l'itemstore
        //Si vous souhaitez appeler la méthode associée à itemstore immédiatement après le démarrage de l'application,
        //Veuillez effectuer divers traitements après l'appel de ce rappel.

        //Vous pouvez obtenir le texte de livraison (paramètre personnalisé) défini dans la livraison push lors du démarrage avec la notification push.
        //Exemple) Journal.d("appc", "onAppCStarted:" + appc.Push.getParam());
    }

    @Override
    protected void onNewIntent(final Intent intent) {
        super.onNewIntent(intent);
        //Vous pouvez obtenir des paramètres personnalisés lorsque l'application est dans un état de tâche et reçoit une notification push
        
        //Vous pouvez obtenir le texte de livraison (paramètre personnalisé) défini dans la livraison push lors du démarrage avec la notification push.
        //Exemple) Journal.d("appc", "onNewIntent:" + appc.Push.getParam());
    }

    @Override
    public void finish() {
        //sortie itemstore
        appc.finish();
        
        super.finish();
    }

    〜
}

//Méthode de notification push

//Obtenir le texte de livraison (paramètres personnalisés)
String customParameter = appc.Push.getParam();

//Obtenir la clé de demande
String inquiryKey = appc.getInquiryKey();

Paramètres AndroidManifest.xml

Veuillez l'utiliser au besoin. S'il y a d'autres éléments nécessaires, veuillez les ajouter selon le cas.

AndroidManifest.paramètres xml


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

    <!-- 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="[nom du paquet].permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="[nom du paquet].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="[nom du paquet]" />
            </intent-filter>
        </receiver>

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

    </application>
</manifest>

Recommended Posts

Comment mettre en œuvre facilement les achats intégrés à l'aide d'itemsstore <Implémentation: Android>
[Swift5] Comment mettre en œuvre une animation à l'aide de "lottie-ios"
Pour implémenter la publication d'images à l'aide de rails
Comment mettre en œuvre la fonction de chapelure avec Gretel
[Version 2020] Comment envoyer un e-mail à l'aide d'Android Studio Javamail
Comment créer une application à l'aide de Tensorflow avec Android Studio
Comment implémenter l'affichage sur une seule ligne de TextView dans le développement Android
[Rails] Comment mettre en œuvre le scraping
[Java] Comment implémenter le multithreading
Comment autoriser à l'aide de graphql-ruby
Comment "évider" une vue sur Android
[Java] Essayez de mettre en œuvre à l'aide de génériques
[Rails] Comment mettre en œuvre le classement par étoiles
[Android] Comment créer un fragment de dialogue
Comment créer CloudStack à l'aide de Docker
[Android] Comment activer / désactiver le panneau de notification à l'aide de StatusBarManager
Comment mettre en œuvre un diaporama en utilisant Slick in Rails (un par un et plusieurs par un)
[Android] Comment transmettre des images et recevoir des rappels lors du partage à l'aide de ShareCompat
Comment trier une liste à l'aide du comparateur
Comment implémenter la fonctionnalité de recherche dans Rails
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
[Rails] Comment télécharger des images à l'aide de Carrierwave
[Android] Comment gérer les thèmes sombres
Comment détecter les conflits de microphone sur Android
[Java] Comment calculer l'âge à l'aide de LocalDate
Comment appliquer les conventions de codage en Java
Android Donner facilement une «pression» sur un bouton
Comment implémenter TextInputLayout avec la fonction de validation
Comment implémenter la fonctionnalité de classement dans Rails
Comment implémenter le traitement asynchrone dans Outsystems
Comment insérer des icônes à l'aide de Font awesome
Comment utiliser ExpandableListView dans Android Studio
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream