Indicador de funcionalidad

Los propietarios de productos de aplicaciones móviles necesitan la flexibilidad para implementar nuevas funciones en sus aplicaciones sin tener que invertir en varias versiones de aplicaciones. También es posible que deseen implementar las funciones gradualmente hasta un porcentaje de la base de usuarios para probar la eficacia. Adobe Target se puede utilizar para experimentar con funciones de experiencia de usuario como color, copiar, botones, texto e imágenes, y proporcionar esas funciones a audiencias específicas.

En esta lección, vamos a crear una oferta de "indicador de funcionalidad" que puede utilizarse como déclencheur para habilitar funciones específicas de la aplicación.

Objetivos de aprendizaje

Al final de esta lección, podrá hacer lo siguiente:

  • Añadir una nueva ubicación a la solicitud de recuperación previa de lotes
  • Crear una actividad Target con una oferta que se utilizará como indicador de funcionalidad
  • Cargue y valide la oferta de indicador de funcionalidad en la aplicación

Añadir una nueva ubicación a la solicitud de recuperación previa en la actividad de inicio

En la aplicación de demostración de nuestras lecciones anteriores, añadiremos una nueva ubicación llamada "wetravel_feature_flag_recs" a la solicitud de recuperación previa en la actividad de inicio y la cargaremos en la pantalla con un nuevo método de Java.

NOTE
Una de las ventajas de utilizar una solicitud de recuperación previa es que añadir una nueva solicitud no añade ninguna sobrecarga de red adicional ni provoca trabajo de carga adicional, ya que la solicitud se empaqueta dentro de la solicitud de recuperación previa

En primer lugar, compruebe que la constante wetravel_feature_flag_recs se agrega en el archivo Constant.java:

Agregar constante de indicador de funcionalidad

Este es el código:

public static final String wetravel_feature_flag_recs = "wetravel_feature_flag_recs";

Ahora agregue la ubicación a la solicitud de recuperación previa y cargue una nueva función llamada processFeatureFlags():

Código de marca de característica

Este es el código actualizado completo:

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
                            }
                        }
                    });
                }
            });
}

Validación de la solicitud de indicador de funcionalidad

Una vez agregado el código, ejecute el emulador en la actividad de inicio y observe cómo aparece la respuesta actualizada en Logcat:

Validar ubicación del indicador de funcionalidad

Crear una oferta JSON de indicador de funcionalidad

Ahora crearemos una oferta JSON simple que actuará como un indicador o déclencheur para una audiencia específica: la audiencia que recibiría el despliegue de la función en su aplicación. En la interfaz Target, cree una nueva oferta:

Crear oferta JSON de marcador de característica

Asignemos un nombre "Marca de característica v1" con el valor {"enable":1}

oferta JSON feature_flag_v1

Crear una actividad

Ahora vamos a crear una actividad Prueba A/B con esa oferta. Para ver los pasos detallados sobre la creación de una actividad, consulte la lección anterior. La actividad solo necesita una audiencia para este ejemplo. En un escenario en directo, es posible que desee crear audiencias personalizadas específicas para despliegues de funciones específicas y, a continuación, configurar la actividad para utilizar esas audiencias. En este ejemplo, asignaremos el tráfico 50/50 (50 % a los visitantes que verán las actualizaciones de funciones y el 50 % a los visitantes que verán una experiencia estándar). Esta es la configuración de la actividad:

  1. Asigne un nombre a la actividad "Marca de característica"

  2. Seleccione la ubicación "wetravel_feature_flag_recs"

  3. Cambiar el contenido a la oferta JSON "Marca de característica v1"

    Configuración de actividad de marcador de característica

  4. Haga clic Add Experience para agregar la experiencia B.

  5. Deje la ubicación "wetravel_feature_flag_recs"

  6. Dejar Default Content para el contenido

  7. Haga clic en Next para avanzar a la pantalla Targeting

    Configuración de actividad de marcador de característica

  8. En la pantalla Targeting, compruebe que el método Traffic Allocation está establecido en la configuración predeterminada (Manual) y que cada experiencia tiene la asignación predeterminada del 50 %. Seleccione Next para avanzar a Goals & Settings.

    Configuración de actividad de marcador de característica

  9. Establezca Primary Goal en Conversion.

  10. Establezca la acción en Viewed an Mbox. Usaremos la ubicación "wetravel_context_dest" (ya que esta ubicación está en la pantalla de confirmación, podemos usarla para ver si la nueva función conduce a más conversiones).

  11. Haga clic en Save & Close.

    Configuración de actividad de marcador de característica

Activar la actividad.

Validación de la actividad de indicador de funcionalidad

Ahora utilice el emulador para inspeccionar la solicitud. Como establecemos la segmentación en el 50 % de los usuarios, hay un 50 % en el que verá que la respuesta de indicador de funcionalidad contiene el valor {enable:1}.

Validación de marca de característica

Si no ve el valor {enable:1}, significa que no fue el destinatario de la experiencia. Como prueba temporal, para forzar que se muestre la oferta, puede:

  1. Desactive la actividad.
  2. Cambie la asignación de tráfico al 100 % en la nueva experiencia de funciones.
  3. Guarde y vuelva a activar.
  4. Borre los datos del emulador y reinicie la aplicación.
  5. La oferta debería devolver ahora el valor {enable:1}.

En un escenario activo, la respuesta {enable:1} se puede usar para habilitar una lógica más personalizada en la aplicación y mostrar el conjunto de características específico que desea para la audiencia de destino.

Conclusión

¡Buen trabajo! Ahora dispone de las habilidades necesarias para desplegar funciones para audiencias de usuario específicas.

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