Surveys
Surveys will ultimately pop-up a native Webview we’ve 100% coded in Unity native code with some special controls for listening and communicating with the native layer like the X at the top.
Because it’s a webview we have a highly customizable UI to make the survey look/feel like your app in the UserWise Dashboard:
And as always these surveys can be segmented so you can target only specific players that have done X, or only pop-up this survey after Y triggered action. Or you can survey all players but filter data based on their previous behaviors.
On the SDK side you can consider having a survey invite component. This is nice as you can customize the look/feel of the invite pop-up to match your particular game. You don’t have to use one and can send a user directly in, but we find that the opt-in invite is nice in many cases.
private SurveyInviteComponent surveyInviteComponent;
surveyInviteComponent = surveyInviteDialog.GetComponent<SurveyInviteComponent>();
We also include our standard listeners as above. But we have a few additional methods to listen to - these are most important if you’re planning to reward a players for completing a survey just like you with with a rewarded video. But they can also be useful for things like pausing the gameplay/stopping music and such when the player enters the survey and then resuming when they close it. More detailed example here.
SurveysModule surveysModule = this.userwise.SurveysModule;
surveysModule.OnLoaded += SurveyEventHandler.OnLoaded;
surveysModule.OnActive += SurveyEventHandler.OnActive;
surveysModule.OnInactive += SurveyEventHandler.OnInactive;
surveysModule.OnSurveyInviteInitialized += SurveyEventHandler.OnSurveyInviteInitialized;
surveysModule.OnSurveyEntered += SurveyEventHandler.OnSurveyEntered;
surveysModule.OnSurveyEnterFailed += SurveyEventHandler.OnSurveyEnterFailed;
surveysModule.OnSurveyClosed += SurveyEventHandler.OnSurveyClosed;
surveysModule.OnSurveyCompleted += SurveyEventHandler.OnSurveyCompleted;
And once you’ve received a survey back you can initialize it here:
public void InitializeSurveyInvite(Survey survey)
{
SurveysModule surveysModule = this.userwise.SurveysModule;
surveyInviteComponent.surveysModule = surveysModule;
surveysModule.InitializeSurveyInvite(survey);
}
Powered by UserWise