Functiemarkering
Eigenaars van producten voor mobiele apps hebben de flexibiliteit nodig om nieuwe functies in hun app te implementeren zonder te hoeven investeren in meerdere app-releases. Om de doeltreffendheid te testen, kunnen zij ook de eigenschappen geleidelijk willen uitrollen tot een percentage van de gebruikersbasis. Adobe Target kan worden gebruikt om te experimenteren met UX-functies, zoals kleur, kopiëren, knoppen, tekst en afbeeldingen, en om deze functies aan specifieke doelgroepen te bieden.
In deze les maken we een "feature flag"-aanbieding die kan worden gebruikt als trigger om specifieke toepassingsfuncties in te schakelen.
Leerdoelen
Aan het eind van deze les, zult u kunnen:
- Een nieuwe locatie toevoegen aan de aanvraag voor de batchprefetch
- Een Target -activiteit maken met een aanbieding die wordt gebruikt als een functiemarkering
- De functiemarkering in uw app laden en valideren
Een nieuwe locatie toevoegen aan de Prefetch-aanvraag aan de thuisactiviteit
In de demo-app uit onze vorige lessen voegen we een nieuwe locatie met de naam "wetravel_feature_flag_recs" toe aan het prefetch-verzoek in de Home Activity en laden we deze met een nieuwe Java-methode naar het scherm.
Controleer eerst of de constante wetravel_feature_flag_recs is toegevoegd aan het bestand Constant.java:
Hier volgt de code:
public static final String wetravel_feature_flag_recs = "wetravel_feature_flag_recs";
Voeg nu de locatie toe aan de prefetch-aanvraag en laad een nieuwe functie met de naam processFeatureFlags() :
Hier volgt de volledige bijgewerkte code:
public void targetPrefetchContent() {
List<TargetPrefetchObject> prefetchList = new ArrayList<>();
Map<String, Object> params1;
params1 = new HashMap<String, Object>();
params1.put("at_property", "7962ac68-17db-1579-408f-9556feccb477");
prefetchList.add(Target.createTargetPrefetchObject(Constant.wetravel_engage_home, params1));
prefetchList.add(Target.createTargetPrefetchObject(Constant.wetravel_engage_search, params1));
prefetchList.add(Target.createTargetPrefetchObject(Constant.wetravel_feature_flag_recs, 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();
processFeatureFlags();
setUp();
}
});
}};
Target.prefetchContent(prefetchList, null, prefetchStatusCallback);
}
public void processFeatureFlags() {
Target.loadRequest(Constant.wetravel_feature_flag_recs, "", null, null, null,
new Target.TargetCallback<String>(){
@Override
public void call(final String s) {
runOnUiThread(new Runnable() {
@Override
public void run() {
System.out.println("Feature Flags : " + s);
if(s != null && !s.isEmpty()) {
//enable or disable features
}
}
});
}
});
}
Valideer de aanvraag voor een functiemarkering
Zodra de code wordt toegevoegd, stel de Mededinger op de Activiteit van het Huis in werking en bekijk Logcat voor de bijgewerkte reactie:
Een JSON-aanbieding met functiemarkering maken
We gaan nu een eenvoudige JSON-aanbieding maken die fungeert als vlag of trigger voor een specifiek publiek, het publiek dat de functie-uitrol in zijn app zou ontvangen. Maak een nieuwe aanbieding in de interface van Target :
Laten wij het "Vlag van de Eigenschap v1"met de waarde {"toelaten":1 noemen
Een activiteit maken
Laten we nu een A/B-testactiviteit maken met die aanbieding. Zie de vorige les voor gedetailleerde stappen voor het maken van een activiteit. De activiteit zal slechts één publiek voor dit voorbeeld nodig hebben. In een levend scenario, kunt u specifieke douanepubliek voor specifieke eigenschaproll-outs willen opbouwen, dan de activiteit plaatsen om dat publiek te gebruiken. In dit voorbeeld wijzen we alleen verkeer 50/50 toe (50% voor bezoekers die de functie-updates zouden zien en 50% voor bezoekers die een standaardervaring zouden zien). Hier is de configuratie voor de activiteit:
-
Geef de activiteit de naam "Feature Flag"
-
Selecteer de locatie "wetravel_feature_flag_recs"
-
Wijzig de inhoud in de JSON-aanbieding met de functie Vlag 1
-
Klik op Add Experience om ervaring B toe te voegen.
-
De locatie "wetravel_feature_flag_recs" behouden
-
Default Content behouden voor de inhoud
-
Klik op Next om naar het Targeting -scherm te gaan
-
Controleer in het scherm Targeting of de methode Traffic Allocation is ingesteld op de standaardinstelling (Handmatig) en of elke ervaring de standaardtoewijzing van 50% heeft. Selecteer Next om naar Goals & Settings te gaan.
-
Stel de waarde Primary Goal in op Conversion .
-
Stel de handeling in op Viewed an Mbox . We gebruiken de locatie "wetravel_context_dest" (aangezien deze locatie zich op het bevestigingsscherm bevindt, kunnen we deze gebruiken om te zien of de nieuwe functie tot meer conversies leidt).
-
Klik op Save & Close.
Activeer de activiteit.
Valideer de kenmerkvlagactiviteit
Gebruik nu de emulator om te controleren op de aanvraag. Aangezien we de focus hebben ingesteld op 50% van de gebruikers, wordt een percentage van 50% weergegeven waarin de markering van de functie de waarde {enable:1} bevat.
Als u de waarde {enable:1} niet ziet, betekent dat dat u niet voor de ervaring bent aangewezen. Als tijdelijke test kunt u het voorstel afdwingen om te tonen:
- Deactiveer de activiteit.
- Verander de verkeerstoewijzing in 100% op de nieuwe eigenschapervaring.
- Opslaan en opnieuw activeren.
- Veeg de gegevens over de emulator en start de app opnieuw.
- De aanbieding moet nu de waarde
{enable:1}retourneren.
In een live scenario kan de reactie van {enable:1} worden gebruikt om meer aangepaste logica in uw app in te schakelen voor het weergeven van de specifieke functieset die u voor het doelpubliek wilt weergeven.
Conclusie
Mooi werk! U hebt nu de vaardigheden nodig om eigenschappen aan specifiek gebruikerspubliek uit te voeren.