Smart Profiles SDK
Last updated
Was this helpful?
Last updated
Was this helpful?
This guide shows how to use the user profile associated with each wallet
Our embedded widget is more than just a wallet. It is a comprehensive profile solution. Each wallet has n different profiles attached to it, one of which is tagged to your application based on the customizations that you did when setting up the widget.
Each profile contains basic user information like name, bio, avatar and description. Moreover, it also has the user's interests & reputation which are analyzed from the social accounts connected to that profile. Lastly, it also supports scores, some of which are calculated by the protocol, others you can setup for your specific application.
The Smart Profiles Schema can be viewed .
As an application developer, you can get profile data from the connected wallet. This will allow you to customize your interface according to your user. Also, it will allow you to cater to your user’s interests and tailor experience accordingly.
For example, you can offer product recommendations, or curate user’s feed or show them relevant content.
You can also gate access to certain content or area of your application based on the profile’s information.
Every time the user does a successful login, you will get a response in the data handler that’s attached to the embedded widget
If login has been successful and there is now a valid session, the handleDataReturned function will get a valid jwt token showing that there is now an active session.
To fetch the smart profile data, you can use the following function.
At any point in your application, if you want to fetch the login information of the connected account i.e. the status of the connected and session token (JWT), then you can use the following function.
When the user logs in to the platform the first time, they are asked whether they want to share their data with this platform or not. If the user decides not to share data, then the application only gets basic user information including name, avatar, bio. However, if the user decides to share their information then the application gets all the required data e.g. interests, reputation, scores, etc. However, user can change their decision anytime throughout the application flow. If at any point throughout the application flow, you want to ask users to reconsider their consent, then the update consent function can be used.
As a decentralized application developer, you might also need to store user’s information in a verifiable, decentralized, but gasless and privacy-preserving way. If you want to store any information about the user derived from their actions on your platform, you can set that information in your user’s profile. Next time when the user logs in to you application again, your application will have access to this data again through the SDK functions. This provides an out-of-the-box profile solution for your application without you having to worry about setting up a database or taking any liability for user data. With Plurality’s SDK, managing user profiles is as simple as calling get and set functions.
Since user profiles are shared amongst different apps and platforms, if you want to ensure that the data you put in your user’s profile cannot be seen by any other application, then your application needs to set it in a private way.
The application has two options:
Store data publicly: Suitable for any data that is not sensitive for the application. It will be available to all other applications as well if they want to read it.
Store data privately: Suitable for sensitive data. It will only be readable for the application that stored it initially. No other application will be able to read it even if they use the same profile schema.
Applications can store data for handling any business logic on the application publicly.
To get previously stored data, the application can get it using the following function
Applications can store data for handling any business logic on the application privately.
To get previously stored data, the application can get it using the following function
To view the profiles data, you can visit the