Mobile: o que são Callbacks de Campanhas iOS e como são usados?

Last Updated dezembro 10, 2025

Breve Visão Geral

A partir da versão 1.6.0 do WalkMe Mobile SDK, o WalkMe Mobile SDK oferece suporte a callbacks de campanha.

Callbacks são uma maneira programática de um aplicativo se registrar nos eventos da Campanha WalkMe. Ao implementar a interface Campaign Callbacks, os aplicativos podem usar os dados transferidos por meio dos objetos de callback (incluindo informações da campanha e do usuário) e utilizá-los para os fins do aplicativo, como passar essas informações para qualquer sistema de análise ou CRM não relacionado ao WalkMe, ou atualizar qualquer aplicativo ou configurações do usuário de acordo com a interação do usuário com a campanha.

Casos de uso

Os callbacks de campanha podem ser usados para o seguinte e muito mais:

  • Acompanhe a integração de usuários em qualquer sistema de análise
  • Gere oportunidades em um CRM com base no envolvimento do usuário com o WalkMe Shoutout, por exemplo, "Interessado em uma demonstração gratuita? Sim/Não"
  • Integre com os sistemas de suporte existentes para rastrear e comparar o uso/conclusão do WalkThru com os principais tópicos do ticket de suporte

Abaixo está uma descrição de todas as etapas necessárias para implementar os callbacks da campanha.

Usando Callbacks de Campanha

Para poder se cadastrar nos callbacks da campanha, primeiro implemente este protocolo:

/**
 * Definição de interface para que um callback seja invocado nas ações da campanha.
 */
@protocol WMCampaignInfoDelegate <NSObject>

/**
 * Chamado após o encerramento da campanha.
 *
 * @param campaignInfo As informações da campanha descartada.
 */
- (void)campaignDidDismiss:(WMCampaignInfo *)campaignInfo;

@end

Depois de implementar o protocolo, use o método para se registrar nos eventos de retorno de campanha:

/**
 * Registrar um delegado para eventos de campanha
 *
 *@param delegate O delegado
 *
 */
+ (void)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate;

O objeto de retorno será da classe , que inclui as seguintes informações:

Item Recuperado por Descrição
CTA da campanha campaginCta

O CTA da campanha com o qual o usuário do aplicativo interagiu.

Para todos os CTAs que não sejam o personalizado, o CTA retornado será:
abbi://cta , por exemplo: abbi://ok ou abbi://never

ID da campanha campaignId O ID exclusivo atribuído à campanha
ID do CTA da campanha campaignCtaId O ID exclusivo para o CTA da campanha
Dados do usuário userData Um objeto que contém informações sobre o usuário que interagiu com a campanha. Consulte a descrição completa do objeto abaixo.
Dados da campanha campaignData Um objeto de espaço reservado adicionado para possível uso futuro de dados adicionais anexados à campanha. Os dados de envio da pesquisa são preenchidos aqui.
@interface WMCampaignInfo : NSObject

@property (nonatomic,strong) NSString* campaginCta;
@property (nonatomic,strong) NSString* campaignCtaId;
@property (nonatomic,strong) NSString* campaignId;
@property (nonatomic,strong) WMUserData* userData;
@property (nonatomic,strong) NSDictionary* campaignData;

@end

Conforme mencionado acima, inclui o objeto , descrito abaixo:

Item Recuperado por Descrição
Atributos de usuário público *userAttributes Todos os atributos de usuário público que foram definidos para o usuário do aplicativo no momento em que o usuário interagiu com a campanha. A lista sempre incluirá a chave de atributo e seu valor, por exemplo, { "lead_id" : "12345" , "account_type" : "family"}
Atributos de usuário privado *privateUserAttributes Todos os atributos de usuário privado que foram definidos para o usuário do aplicativo no momento em que o usuário interagiu com a campanha. A lista sempre incluirá a chave de atributo e seu valor, por exemplo, { "lead_id" : "12345" , "account_type" : "family"}
Duração da sessão sessionDuration Quanto tempo durou a sessão do usuário no momento em que o usuário fez a interação da campanha
Versão iOS systemVersion A versão do SO do usuário
ID exclusiva do dispositivo deviceId O ID exclusivo do dispositivo
Modelo de Dispositivo deviceModel O modelo do dispositivo do usuário
Orientação do Dispositivo deviceOrientation A orientação do dispositivo no momento em que o usuário interagiu com a campanha
Versão do aplicativo appVersion A versão do aplicativo que o usuário está usando
Nome do aplicativo appName O nome do aplicativo
Local locale O local do dispositivo do usuário
Versão do SDK sdkVer A versão do SDK integrada ao aplicativo que o usuário está usando
ID da sessão sessionId O ID de sessão exclusivo gerado pelo WalkMe
Status das Notificações Push isPushEnabled O usuário ativou a notificação push para o aplicativo (verdadeiro/falso). Se o aplicativo não tiver notificações push, o valor será "false".
Fuso horário do dispositivo fuso horário O fuso horário do usuário, conforme definido no dispositivo.
Rede rede O tipo de rede que o usuário está usando: WiFi / Celular / Offline
Nome do Sistema nomeDoSistema O nome do sistema operacional do usuário - neste caso, será sempre "iOS"
Carimbo de data e hora do usuário atual timestamp O carimbo de data e hora atual do usuário

Esta é a estrutura do objeto:

@interface WMUserData : NSObject

/** 
* Atributos do usuário na sessão atual.
*/
@property (nonatomic,strong) NSDictionary *userAttributes;

/**
* Atributos de usuário privados na sessão atual.
*/
@property (nonatomic,strong) NSDictionary *privateUserAttributes;

/**
 * Duração da sessão do usuário em segundos.
 */
@property (nonatomic,strong) NSNumber* sessionDuration;

/**
 * Versão do iOS do usuário
 */
@property (nonatomic,strong) NSString* systemVersion;

/**
 * ID exclusivo do dispositivo
 */
@property (nonatomic,strong) NSString* deviceId;

/**
 * Modelo do Dispositivo.
 */
@property (nonatomic,strong) NSString* deviceModel;

/**
 * Orientação do Dispositivo PRT_REG / LSL.
 */
@property (nonatomic,strong) NSString* deviceOrientation;

/**
 * A versão do aplicativo.
 */
@property (nonatomic,strong) NSString* appVersion;

/**
 * O nome do aplicativo.
 */
@property (nonatomic,strong) NSString* appName;

/**
 * Idioma local para o dispositivo do usuário.
 */
@property (nonatomic,strong) NSString* locale;

/**
 * Versão WalkMe SDK.
 */
@property (nonatomic,strong) NSString* sdkVer;

/**
 * ID exclusivo da sessão.
 */
@property (nonatomic,strong) NSString* sessionId;

/**
 * Se a notificação push for aprovada para o usuário.
 */
@property (nonatomic,strong) NSString* isPushEnabled;

/**
 * Fuso horário do dispositivo do usuário.
 */
@property (nonatomic,strong) NSString* timezone;

/**
 * Rede atual do usuário (WIFI / 3G).
 */
@property (nonatomic,strong) NSString* rede;

/**
 * Nome do sistema operacional do usuário.
 */
@property (nonatomic,strong) NSString* systemName;

/**
 * Carimbo de data e hora atual para este usuário.
 */
@property (nonatomic,strong) NSString* timestamp;

@end

Was this article helpful?

Thanks for your feedback!

Faça parte de algo maior.

Interaja com colegas, tire dúvidas e compartilhe ideias.

Explore nossa comunidade
×