[JAVA] Publier le code de coupon utilisé sur le point de terminaison spécifié

Il s'agit d'une méthode pour notifier les résultats lorsqu'il est nécessaire de renvoyer au point final du système de mesure des informations telles que le code de coupon utilisé pour mesurer les résultats de la publicité.

Cette fois, j'ai utilisé HttpURLConnection.

paramètres de configuration de sécurité et paramètres du manifeste

Ce paramètre n'est pas nécessaire si l'URL de destination de publication à définir est https: // ~. Android 9 (Pie) n'autorise pas la communication non chiffrée, c'est-à-dire que la communication vers les URL commençant par http: // n'est pas possible par défaut.

paramètres de configuration de sécurité

Créez les fichiers suivants dans le répertoire app / xml.

network_security_config.xml


<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">XXXX.net</domain>
    </domain-config>
</network-security-config>

Autorise la communication non chiffrée (http: //) avec le domaine spécifié (cleartextTrafficPremitted true).

paramètres du manifeste

Après cela, dans la partie attribut de la balise d'application d'Android Manifest

android:networkSecurityConfig="@xml/network_security_config

Ajouter. (Exemple)

AndroidManifest.xml


<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:networkSecurityConfig="@xml/network_security_config">

Postback

Exécutez la méthode suivante lorsqu'un événement ou autre pour lequel vous souhaitez générer une publication se produit. Les valeurs d'entrée utilisateur qui peuvent changer pour chaque événement, telles que les codes de réduction, sont définies pour être reçues en tant qu'arguments.

Activity.java


public void postBack(final String cp){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try{
                    URL url = new URL("https:/XXXX.net?coupon="+cp);
                    HttpURLConnection con = (HttpURLConnection)url.openConnection();
                    String str = InputStreamToString(con.getInputStream());
                    Log.d("HTTP",str);
                }catch(Exception e){
                    System.out.println(e);
                }
            }
        }).start();
    }

    static String InputStreamToString(InputStream is) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
        String line;
        while( (line=br.readLine()) != null ){
            sb.append(line);
        }
        br.close();
        return sb.toString();
    }

référence

HttpURLConnection (Java Platform SE 8)

Recommended Posts

Publier le code de coupon utilisé sur le point de terminaison spécifié
Code utilisé pour connecter Rails 3 à PostgreSQL 10
Une fois que tu le vois, c'est un putain de code
Que faire si vous n'aimez pas le code généré par swagger-codegen-cli
J'ai essayé de résumer les méthodes utilisées
Pourquoi le code était-il pénible à lire?
Code utilisé lorsque vous souhaitez traiter Json avec uniquement des bibliothèques standard en Java (version améliorée) gson inutile