Móvil: pasos a seguir
Breve descripción general
Los pasos de acción son un tipo de paso que resulta muy útil para los casos de uso de automatización. La capacidad de actuar en nombre de los usuarios finales mejora la productividad y acelera el tiempo para obtener valor para los usuarios de aplicaciones. Anteriormente, WalkMe Mobile admitía pasos de globos y banners, así como pasos de auto-tap. El primer tipo de paso de acción añadido es "Desplazamiento" y en el futuro se añadirán más tipos de acciones
Casos de uso
- Desplazamiento automático hasta un «tipo» de elemento específico.
Pasos para añadir Acción.
- En la consola móvil, crea o modifica un SWT existente pasando el cursor sobre el signo + y haciendo clic en "Acción".
- Selecciona "Tipo", "Subtipo" y "Valor".
Tipo | Subtipo | Valor |
Desplazarse | Callback | Tipo de elemento (por ejemplo, UILabel). |
Cómo activar los pasos de acción
A continuación se muestra una descripción de todos los pasos necesarios para implementar callbacks de Paso de Acción.
Para poder registrarte en los callbacks de campaña, primero implementa este protocolo:
- iOS
/**
* Interface definition for a callback to be invoked in Campaign actions.
*/
@protocol
WMCampaignInfoDelegate <NSObject>
/**
* Called after campaign was dismissed.
*
* @param campaignInfo The dismissed campaign info.
*/
@optional
- (
void
)campaignDidDismiss:(WMCampaignInfo *)campaignInfo;
/**
* Called right before the campaign is about to be shown (will not be called on Power Mode preview)
*
* @param campaignInfo The shown campaign info.
*/
@optional
- (
void
)campaignWillShow:(WMCampaignInfo *)campaignInfo;
/**
* Return a value for SWT Action step of type "Callback"
*
* @param type the action type (ex. scroll).
* @param campaign The shown campaign info.
* @param args array of values from the Value field on the console (comma separated values).
*/
@optional
- (
void
)campaign:(WMCampaignInfo *)campaign didPerformAction:(NSString *)actionType withArgs:(NSArray<NSString *> *)args andCompletion:(
void
(^)(__nullable id result))completion;
@end
- Android
public
interface
WMCampaignInfoListener {
/**
* Called right before the campaign is about to be shown (will not be called on Power Mode preview)
*
* @param campaignInfo The shown campaign info.
*/
void
onCampaignPresented(WMCampaignInfo campaignInfo);
/**
* Called after campaign was dismissed.
*
* @param campaignInfo The dismissed campaign info.
*/
void
onCampaignDismissed(WMCampaignInfo campaignInfo);
/**
* Called on action step
*
* @param campaignInfo The campaign info.
* @param actionType The action type.
* @param args String array of arguments,
* @param completionStepListener The listener to receive the result.
*/
void
onCampaignAction(WMCampaignInfo campaignInfo, String actionType, String[] args, WMCampaignActionListener completionStepListener);
}
Después de implementar el protocolo, regístrate en los eventos de callback de la campaña:
- iOS
/**
* Register a delegate to campaign events
*
*@param delegate The delegate
*
*/
+ (
void
)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate;
- Android
/**
* Register a listener to campaign events
*
*@param campaignInfoListener The listener
*
*/
public
static
void
setCampaignInfoListener(WMCampaignInfoListener campaignInfoListener)
Por último, implementa el método de acción de la campaña para devolver el valor deseado para la acción:
- iOS
- (
void
)campaign:(WMCampaignInfo *)campaign didPerformAction:(NSString *)actionType withArgs:(NSArray<NSString *> *)args andCompletion:(
void
(^)(id _Nullable))completion {
if
(args.firstObject) {
NSLog(@
"Value for action type: %@ with args: %@"
, type, args.firstObject);
// Value for action type: scroll with args: ProductCardTypeClass
}
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:
4
inSection:
1
];
if
(completion) {
completion(indexPath);
}
- Android
@Override
public
void
onCampaignAction(WMCampaignInfo campaignInfo, String actionType, String[] args, ABBI.WMCampaignActionListener completionStepListener) {
if
(args !=
null
&& args.length >
0
) {
Integer index =
null
;
// Calculate the index based on the provided args
index = myCardIndexCalculator();
if
(completionStepListener !=
null
) {
completionStepListener.onActionCompleted(index);
}
}
else
{
if
(completionStepListener !=
null
) {
completionStepListener.onActionCompleted(
null
);
}
}
}
Requisitos/limitaciones
- Versión del SDK para iOS 2.9.7 y versión del SDK para Android 2.10.9.
- El paso capturado normal debe seguir inmediatamente después del paso de acción "scroll". Esto proporciona el contexto de acción de desplazamiento para desplazarse hasta el contenedor adecuado donde existe el elemento.