Mobile: Was sind iOS Kampagnenrückrufe und wie werden sie verwendet?
Kurzübersicht
Ab WalkMe Mobile SDK Version 1.6.0 unterstützt das WalkMe Mobile SDK Kampagnenrückrufe.
Rückrufe sind eine programmatische Möglichkeit für eine App, sich für WalkMe-Kampagnenereignisse zu registrieren. Durch die Implementierung der Kampagnenrückruf-Schnittstelle können Apps die über die Rückruf-Objekte übertragenen Daten (einschließlich Kampagnen- und Benutzerinformationen) verwenden und sie für die Zwecke der App nutzen, z. B. App- oder Benutzereinstellungen gemäß der Benutzerinteraktion mit der Kampagne.
Anwendungsfälle
Kampagnenrückrufe können für Folgendes und vieles mehr verwendet werden:
- Das Onboarding von Benutzern von jedem Analytics-System verfolgen
- Generieren von Chancen in einem CRM basierend auf dem Benutzerengagement mit WalkMe Shoutout - z. B. „Sind Sie an einer kostenlosen Demo interessiert? Ja / Nein“
- Integrieren in bestehende Support-Systeme, um die/den WalkThru-Nutzung/-Abschluss mit den wichtigsten Support-Ticket-Themen zu verfolgen und zu vergleichen
Nachfolgend finden Sie eine Beschreibung aller erforderlichen Schritte, um Kampagnenrückrufe zu implementieren.
Verwenden von Kampagnenrückrufen
Um Kampagnen-Callbacks registrieren zu können, implementieren Sie zuerst dieses Protokoll:
/** * 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. */ - (void)campaignDidDismiss:(WMCampaignInfo *)campaignInfo; @end
Nachdem Sie das Protokoll implementiert haben, verwenden Sie die Methode,setCampaignInfoDelegate
um sich für die Callback-Ereignisse der Kampagne zu registrieren:
/** * Register a delegate to campaign events * *@param delegate The delegate * */ + (void)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate;
Das Callback-Rückgabeobjekt ist von der WMCampaignInfo
Klasse, die die folgenden Informationen enthält:
Artikel | Abgerufen von | Beschreibung |
Kampagne CTA | campaginCta |
Die Kampagne CTA, mit der der App-Benutzer interagiert hat. Für alle CTAs außer der benutzerdefinierten lautet die zurückgegebene CTA: |
Kampagnen-ID | campaignId | Die eindeutige ID, die der Kampagne zugewiesen ist |
Kampagnen-CTA-ID | campaignCtaId | Die eindeutige ID für die Kampagne CTA |
User Data (Benutzerdaten) | userData | Ein Objekt, das Informationen über den Benutzer hält, der mit der Kampagne interagiert. Sehen Sie die vollständige Beschreibung des Objekts unten. |
Kampagnendaten | campaignData | Ein Platzhalterobjekt, das für die mögliche zukünftige Verwendung zusätzlicher Daten hinzugefügt wird, die an die Kampagne angehängt werden. Hier werden Daten zum Einreichen von Umfragen eingetragen. |
@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
Wie oben erwähnt, WMCampaignInfo
enthält es das Objekt 1WMUserData
, das unten beschrieben wird:
Artikel | Abgerufen von | Beschreibung |
Öffentliche Benutzerattribute | *userAttributes | Alle öffentlichen Benutzerattribute die für den App-Benutzer in dem Moment festgelegt wurden, in dem der Benutzer mit der Kampagne interagiert. Die Liste enthält immer den Attributschlüssel und seinen Wert, z. B. ${ "lead_id" : "12345" , "account_type" : "family"} |
Private Benutzerattribute | *privateUserAttributes | Alle privaten Benutzerattribute die für den App-Benutzer in dem Moment festgelegt wurden, in dem der Benutzer mit der Kampagne interagiert. Die Liste enthält immer den Attributschlüssel und seinen Wert, z. B. ${ "lead_id" : "12345" , "account_type" : "family"} |
Sitzungsdauer | sessionDuration | Wie lange war die Benutzersitzung im Moment der Durchführung der Kampagneninteraktion |
iOS Version | systemVersion | Die Betriebssystemversion des Benutzers |
Eindeutige Geräte-ID | deviceId | Die einzigartige Geräte-ID |
Gerätemodell | deviceModel | Das Gerätemodell des Benutzers |
Geräteausrichtung | deviceOrientation | Die Ausrichtung der Geräte im Moment der Interaktion des Benutzers mit der Kampagne |
App-Version | appVersion | Die App-Version, die der Benutzer verwendet |
App-Name | appName | Der App-Name |
Standort | locale | Die Lokalisierung des Geräts des Benutzers |
SDK-Version | sdkVer | Die in die App des Benutzers integrierte SDK-Version. |
Sitzungs-ID | sessionId | Die einzigartige Sitzungs-ID von WalkMe |
Status von Push-Nachrichten | isPushEnabled | Hat der Benutzer Push-Benachrichtigung für die App aktiviert (wahr / falsch). Wenn die App keine Push-Benachrichtigungen enthält - ist der Wert „falsch“. |
Zeitzone des Geräts | timezone | Die Zeitzone des Benutzers wie auf dem Gerät eingestellt. |
Netzwerk | network | Der Netzwerktyp, den der Benutzer verwendet: WLAN / Cellular / Offline |
Systemname | systemName | Name des Betriebssystems des Benutzers – in diesem Fall ist es immer „iOS“. |
Aktueller Zeitstempel des Benutzers | timestamp | Der aktuelle Zeitstempel des Benutzers |
Dies ist die Struktur für das WMUserData
Objekt:
@interface WMUserData : NSObject /** * User Attributes in current session. */ @property (nonatomic,strong) NSDictionary *userAttributes; /** * Private User Attributes in current session. */ @property (nonatomic,strong) NSDictionary *privateUserAttributes; /** * User Session Duration in second. */ @property (nonatomic,strong) NSNumber* sessionDuration; /** * User's iOS version */ @property (nonatomic,strong) NSString* systemVersion; /** * Device Unique ID */ @property (nonatomic,strong) NSString* deviceId; /** * Device Model. */ @property (nonatomic,strong) NSString* deviceModel; /** * Device Orientation PRT_REG / LSL. */ @property (nonatomic,strong) NSString* deviceOrientation; /** * The application version. */ @property (nonatomic,strong) NSString* appVersion; /** * The application name. */ @property (nonatomic,strong) NSString* appName; /** * Locale language for user's device. */ @property (nonatomic,strong) NSString* locale; /** * WalkMe SDK version. */ @property (nonatomic,strong) NSString* sdkVer; /** * Session unique id. */ @property (nonatomic,strong) NSString* sessionId; /** * If Push notification approved for user. */ @property (nonatomic,strong) NSString* isPushEnabled; /** * User device timezone. */ @property (nonatomic,strong) NSString* timezone; /** * User current network ( WIFI / 3G ). */ @property (nonatomic,strong) NSString* network; /** * User OS System Name. */ @property (nonatomic,strong) NSString* systemName; /** * Current Timestamp for this User. */ @property (nonatomic,strong) NSString* timestamp; @end