Adicione o parâmetro at_property à solicitação de pré-busca
As Propriedades do Adobe Target são definidas na interface Target e são usadas para estabelecer limites para personalizar aplicativos e sites. O parâmetro at_property identifica a propriedade específica em que suas ofertas e atividades são acessadas e mantidas. Adicionaremos uma propriedade às solicitações de pré-busca e de localização ao vivo.
Você pode recuperar seu valor at_property na interface Target em Setup > Properties. Passe o mouse sobre a propriedade, selecione o ícone do trecho de código e copie o valor at_property
:
Adicione-o como parâmetro para cada local na solicitação de pré-busca, desta forma:
Este é o código atualizado da função targetPrefetchContent()
(atualize o texto do espaço reservado 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);
}
Observação sobre parâmetros
Para projetos futuros, você pode implementar parâmetros adicionais. O método createTargetPrefetchObject()
permite três tipos de parâmetros: locationParams
, orderParams
e productParams
. Consulte a documentação para obter mais detalhes sobre como adicionar esses parâmetros à solicitação de pré-busca.
Observe também que diferentes parâmetros de localização podem ser adicionados a cada localização na solicitação de pré-busca. Por exemplo, você pode criar outro Mapa chamado param2, colocar um novo parâmetro nele e, em seguida, definir param2 em um local e param1 com outro local. Veja um exemplo:
prefetchList.add(Target.createTargetPrefetchObject(location1_name, params1);
prefetchList.add(Target.createTargetPrefetchObject(location2_name, params2);
Validar o parâmetro at_property na solicitação de pré-busca
Agora execute o emulador e use o Logcat para verificar se a at_property é exibida na solicitação de pré-busca e na resposta para ambos os locais:
Adicionar parâmetros personalizados à solicitação de localização ao vivo
A solicitação de localização ao vivo (wetravel_context_dest) foi adicionada na lição anterior para que possamos exibir uma promoção relevante na tela de confirmação final do processo de reserva. Gostaríamos de personalizar a promoção com base no destino do usuário e, para isso, adicionaremos isso como parâmetro à solicitação. Também adicionaremos um parâmetro para a origem do trop e o valor at_property.
Adicione os seguintes parâmetros à função targetLoadRequest() no controlador ThankYouActivity:
Este é o código atualizado da função targetLoadRequest() (certifique-se de atualizar o texto do espaço reservado "adicione seu valor at_property aqui"!):
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();
}