Aggiungere parametri alle richieste

In questa lezione verranno aggiunte le metriche del ciclo di vita e i parametri personalizzati di Adobe alle richieste Target aggiunte nella lezione precedente. Queste metriche e parametri verranno utilizzati per creare tipi di pubblico personalizzati più avanti nell’esercitazione.

Finalità di apprendimento

Alla fine di questa lezione, sarai in grado di:

  • Aggiungere le metriche del ciclo di vita mobile di Adobe
  • Aggiungere parametri a una richiesta di preacquisizione
  • Aggiungere parametri a una posizione live
  • Convalidare i parametri per entrambe le richieste

Aggiungere i parametri del ciclo di vita

Abilitiamo le metriche del ciclo di vita mobile di Adobe. Questo aggiungerà parametri alle richieste di posizione contenenti informazioni dettagliate sul dispositivo dell’utente e sul coinvolgimento con l’app. Nella prossima lezione verranno creati dei tipi di pubblico utilizzando i dati forniti dalla richiesta del ciclo di vita.

Per abilitare le metriche del ciclo di vita, aprire nuovamente il controller HomeActivity e aggiungere Config.collectLifecycleData(this); alla funzione onResume():

Richiesta ciclo di vita

Convalidare i parametri del ciclo di vita per la richiesta di preacquisizione

Esegui l’emulatore e utilizza Logcat per convalidare i parametri del ciclo di vita. Filtra "preacquisizione" per trovare la risposta di preacquisizione e cercare i nuovi parametri:
Convalida ciclo di vita

Anche se abbiamo aggiunto solo Config.collectLifecycleData() al controller HomeActivity, le metriche del ciclo di vita inviate con la richiesta Target dovrebbero essere visualizzate anche nella schermata Grazie.

Aggiungi il parametro at_property alla richiesta di preacquisizione

Le proprietà di Adobe Target sono definite nell'interfaccia Target e vengono utilizzate per stabilire i limiti per la personalizzazione di app e siti Web. Il parametro at_property identifica la proprietà specifica in cui accedere e mantenere le offerte e le attività. Aggiungeremo una proprietà alle richieste di preacquisizione e di posizione live.

NOTE
A seconda della licenza, è possibile che le opzioni Proprietà dell'interfaccia Target non siano visualizzate. Se non disponi di queste opzioni o se non utilizzi le Proprietà nella tua azienda, passa alla sezione successiva di questa lezione.

Puoi recuperare il valore at_property nell'interfaccia Target in Setup > Properties. Passa il puntatore del mouse sulla proprietà, seleziona l'icona dello snippet di codice e copia il valore at_property:

Copia at_property

Aggiungilo come parametro per ogni posizione nella richiesta di preacquisizione, come segue:
Aggiungi parametro at_property
Ecco il codice aggiornato per la funzione targetPrefetchContent() (assicurati di aggiornare il testo del segnaposto your at_property value goes here):

public void targetPrefetchContent() {
        List<TargetPrefetchObject> prefetchList = new ArrayList<>();

        Map<String, Object> params1;
        params1 = new HashMap<String, Object>();
        params1.put("at_property", "your at_property value goes here");

        prefetchList.add(Target.createTargetPrefetchObject(Constant.wetravel_engage_home, params1));
        prefetchList.add(Target.createTargetPrefetchObject(Constant.wetravel_engage_search, params1));
        Target.TargetCallback<Boolean> prefetchStatusCallback = new Target.TargetCallback<Boolean>() {
            @Override
            public void call(final Boolean status) {
                HomeActivity.this.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        String cachingStatus = status ? "YES" : "NO";
                        System.out.println("Received Response from prefetch : " + cachingStatus);
                        engageMessage();
                        setUp();

                    }
                });
            }};
        Target.prefetchContent(prefetchList, null, prefetchStatusCallback);
    }

Nota sui parametri

Per i progetti futuri, potrebbe essere utile implementare parametri aggiuntivi. Il metodo createTargetPrefetchObject() consente tre tipi di parametri: locationParams, orderParams e productParams. Consulta la documentazione per ulteriori dettagli sull'aggiunta di questi parametri alla richiesta di preacquisizione.

Inoltre, è possibile aggiungere parametri di posizione diversi a ciascuna posizione nella richiesta di preacquisizione. Ad esempio, puoi creare un'altra mappa denominata param2, inserirvi un nuovo parametro, quindi impostare param2 in una posizione e param1 con l'altra posizione. Ecco un esempio:

prefetchList.add(Target.createTargetPrefetchObject(location1_name, params1);
prefetchList.add(Target.createTargetPrefetchObject(location2_name, params2);

Convalidare il parametro at_property nella richiesta di preacquisizione

Ora esegui l’emulatore e utilizza Logcat per verificare che at_property sia visualizzato nella richiesta e nella risposta di preacquisizione per entrambe le posizioni:
Convalida il parametro at_property

Aggiungere parametri personalizzati alla richiesta di posizione live

La richiesta di posizione live (wetravel_context_dest) è stata aggiunta nella lezione precedente in modo da poter visualizzare una promozione rilevante nella schermata di conferma finale del processo di prenotazione. Vorremmo personalizzare la promozione in base alla destinazione dell'utente, aggiungendola come parametro alla richiesta. Aggiungeremo anche un parametro per l’origine della trappola e il valore at_property.

Aggiungere i seguenti parametri alla funzione targetLoadRequest() nel controller ThankYouActivity:
Aggiungi parametri alla richiesta di posizione live
Ecco il codice aggiornato per la funzione targetLoadRequest() (assicurati di aggiornare il testo del segnaposto "aggiungi qui il valore at_property" ):

public void targetLoadRequest(final ArrayList<Recommandation> recommandations) {
    Map<String, Object> locationParams = new HashMap<>();
    locationParams.put("at_property","add your at_property value here");
    locationParams.put("locationSrc", (""+Utility.getInSharedPreference(ThankYouActivity.this,Constant.departure,"")));
    locationParams.put("locationDest", (""+Utility.getInSharedPreference(ThankYouActivity.this,Constant.destination,"")));

    Target.loadRequest(Constant.wetravel_context_dest, "", null, null, locationParams, new Target.TargetCallback<String>() {
        @Override
        public void call(final String response) {
        try {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    AppDialogs.dialogLoaderHide();
                    filterRecommendationBasedOnOffer(recommandations, response);
                    recommandationbAdapter.notifyDataSetChanged();
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
        }
    });
    Target.clearPrefetchCache();
}

Convalidare i parametri personalizzati nella richiesta di posizione live

Esegui l’emulatore e apri Logcat. Filtra uno dei parametri per verificare che la richiesta contenga i parametri necessari:
Convalida i parametri personalizzati nella richiesta di posizione live

NOTE
Richieste e parametri di conferma ordine: anche se non vengono utilizzati in questo progetto demo, i dettagli dell'ordine vengono generalmente acquisiti in un'implementazione reale, quindi Target può utilizzare i dettagli dell'ordine come metriche/dimensioni. Fare riferimento alla documentazione per istruzioni su come implementare la richiesta di conferma dell'ordine e i parametri.
NOTE
Analytics for Target (A4T): Adobe Analytics può essere configurato come origine per la generazione di rapporti per Target. Questo consente di visualizzare in Adobe Analytics tutte le metriche/dimensioni raccolte da Target SDK. Per ulteriori dettagli, consulta la Panoramica di A4T.

Ottimo lavoro. Ora che i parametri sono operativi, possiamo utilizzarli per creare tipi di pubblico e offerte in Adobe Target.

AVANTI: "Crea tipi di pubblico e offerte" >

recommendation-more-help
8218628f-a032-465b-92c6-10af87ff3168