User IDs can be used for reporting purposes and for storing the read status of users. By default, the Storyteller SDK creates an externalId
for users when the SDK is first initialized. This is stored until the user uninstalls the app.
However, if you have a user account system then you may wish to set your own user IDs within the Storyteller SDK.
The externalId
should be an identifier which is unique per user and does not change. Therefore, using something like the user's email address is not a good choice for an externalId
as the user may change it at some point in the future. However, using a unique UUID/GUID would be a good choice as it is guaranteed to not change over time.
In order to supply the externalId
to the Storyteller SDK, call the following method:
let userInput = UserInput(externalId: "user-id")
Storyteller.sharedInstance.initialize(apiKey: <apiKey>, userInput: userInput, onComplete: { in
// Do something on completion...
}, onError: { error in
// Handle the error
})
This should be called as soon as the value for the externalId
is known in your app.
If it is not set but Storyteller
is initialized then externalId
would be autogenerated.
You can access the following information about the current user via the following static variables:
Storyteller.currentUserId // Returns the current user id
Storyteller.currentApiKey // Returns the current api key
If you use login in your app and wish to allow users to logout and log back in as a new user (or proceed as an anonymous user) then when a user logs out you should call initialize
again specifying a new externalId
. Note that this will reset the local store of which Pages the user has viewed.