Recuperare le attività Target
Last update: Tue Jul 15 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
Creato per:
- Intermedio
- Esperto
- Sviluppatore
Le implementazioni mobili di Target utilizzano mbox regionali (ora noti come "ambiti") per distribuire contenuti da attività che utilizzano il Compositore esperienza basato su moduli di Target. È necessario aggiornare l’app mobile per includere gli ambiti nelle chiamate di rete.
Il contenuto restituito da Target, noto anche come "offerte", in genere è costituito da testo o json che devi utilizzare nell’applicazione per riprodurre l’esperienza finale del cliente. Le offerte di Target vengono spesso utilizzate per:
- Abilitare i flag di funzione nell’applicazione
- Distribuisci testo o immagini alternativi
Se hai attività che devono essere eseguite sia nella versione di estensione Target che in quella di estensione Offer Decisioning e Target dell'applicazione, assicurati di eseguire il test completo. Se devi utilizzare offerte diverse per versioni diverse dell’app, puoi utilizzare le opzioni di targeting nell’interfaccia per distribuire offerte diverse alle diverse versioni.
Assicurati sempre di includere la gestione degli errori per visualizzare le esperienze appropriate in condizioni di errore.
Richiedere e applicare contenuti su richiesta
Dopo aver applicato il contenuto all'app, è fondamentale attivare l'API
displayed per comunicare a Target che il visitatore ha visto il contenuto alternativo o predefinito specificato nell'attività. Per ulteriori dettagli, consulta la pagina
Traccia eventi di conversione Target.
| tabs |
|
| Ottimizza SDK |
| code language-java |
// Mboxes for Target activities
final DecisionScope decisionScope1 = DecisionScope("myTargetMbox1");
final DecisionScope decisionScope2 = new DecisionScope("myTargetMbox2");
final List<DecisionScope> decisionScopes = new ArrayList<>();
decisionScopes.add(decisionScope1);
decisionScopes.add(decisionScope2);
// Prefetch the Target mboxes
Optimize.updatePropositions(decisionScopes,
new HashMap<String, Object>() {
{
put("xdmKey", "xdmValue");
}
},
new HashMap<String, Object>() {
{
put("dataKey", "dataValue");
}
},
new AdobeCallbackWithOptimizeError<Map<DecisionScope, OptimizeProposition>>() {
@Override
public void fail(AEPOptimizeError optimizeError) {
// Log in case of error
Log.d("Target Prefetch error", optimizeError.title);
}
@Override
public void call(Map<DecisionScope, OptimizeProposition> propositionsMap) {
// Retrieve cached propositions if prefetch succeeds
Optimize.getPropositions(scopes, new AdobeCallbackWithError<Map<DecisionScope, OptimizeProposition>>() {
@Override
public void fail(final AdobeError adobeError) {
// handle error
}
@Override
public void call(Map<DecisionScope, OptimizeProposition> propositionsMap) {
if (propositionsMap != null && !propositionsMap.isEmpty()) {
// get the propositions for the given decision scopes
if (propositionsMap.contains(decisionScope1)) {
final OptimizeProposition proposition1 = propsMap.get(decisionScope1)
// read proposition1 offers and display them
}
if (propositionsMap.contains(decisionScope2)) {
final OptimizeProposition proposition2 = propsMap.get(decisionScope2)
// read proposition2 offers and display them
}
}
}
});
}
});
|
|
| tabs |
|
| Ottimizza SDK |
| code language-swift |
// Mboxes for Target activities
let decisionScope1 = DecisionScope(name: "myTargetMbox1")
let decisionScope2 = DecisionScope(name: "myTargetMbox2")
// Prefetch the Target mboxes
Optimize.updatePropositions(for: [decisionScope1, decisionScope2]
withXdm: ["xdmKey": "xdmValue"]
andData: ["dataKey": "dataValue"]) { data, error in
if let error = error as? AEPOptimizeError {
// handle error
return
}
// Retrieve cached propositions if prefetch succeeds
Optimize.getPropositions(for: [decisionScope1, decisionScope2]) { propositionsDict, error in
if let error = error {
// handle error
return
}
if let propositionsDict = propositionsDict {
// get the propositions for the given decision scopes
if let proposition1 = propositionsDict[decisionScope1] {
// read proposition1 offers and display them
}
if let proposition2 = propositionsDict[decisionScope2] {
// read proposition2 offers and display them
}
}
}
}
|
|
Successivamente, scopri come passare i parametri di Target utilizzando l'estensione di Offer Decisioning e Target.
Ci impegniamo ad aiutarti con la migrazione di Target per dispositivi mobili dall’estensione Target all’estensione Offer Decisioning e Target. Se incontri ostacoli con la migrazione o pensi che in questa guida manchino informazioni critiche, inviaci
questa discussione della community.