Welcome to the
WalkMe Help Center
Please log in to continue
Please log in to continue
As Etapas de Ação são um tipo de etapa muito útil para casos de uso de automação. A capacidade de agir em nome dos usuários finais melhora a produtividade e o tempo de retorno do valor para os usuários do aplicativo. Anteriormente, o WalkMe Mobile oferecia suporte a etapas de balão e banner, além de etapas de toque automático. O primeiro tipo de Etapa de Ação adicionado é "Rolagem" e, no futuro, mais tipos de ação serão adicionados.


| Tipo | Tipo de Subtipo | Valor |
| Rolar | Callback | Tipo de elemento (por exemplo, UILabel) |
Abaixo está uma descrição de todas as etapas necessárias para implementar os callbacks de etapa de ação.
Para poder se cadastrar nos callbacks da campanha, primeiro implemente este protocolo:
/** * 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 |
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);} |
Depois de implementar o protocolo, registre-se nos eventos de callback da campanha:
/** * Register a delegate to campaign events * *@param delegate The delegate * */+ (void)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate; |
/*** Register a listener to campaign events**@param campaignInfoListener The listener**/public static void setCampaignInfoListener(WMCampaignInfoListener campaignInfoListener) |
Por fim, implemente o método de ação da campanha para retornar o valor desejado para a ação:
- (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);} |
@Overridepublic 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); } }} |