musurveys-android-sdk

µSurveys official Android SDK

License

License

GroupId

GroupId

com.musurveys
ArtifactId

ArtifactId

musurveys-android-sdk
Last Version

Last Version

0.5.0
Release Date

Release Date

Type

Type

aar
Description

Description

musurveys-android-sdk
µSurveys official Android SDK
Project URL

Project URL

https://github.com/uSurveys/usurveys-android
Source Code Management

Source Code Management

https://github.com/uSurveys/usurveys-android/tree/master

Download musurveys-android-sdk

How to add to project

<!-- https://jarcasting.com/artifacts/com.musurveys/musurveys-android-sdk/ -->
<dependency>
    <groupId>com.musurveys</groupId>
    <artifactId>musurveys-android-sdk</artifactId>
    <version>0.5.0</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/com.musurveys/musurveys-android-sdk/
implementation 'com.musurveys:musurveys-android-sdk:0.5.0'
// https://jarcasting.com/artifacts/com.musurveys/musurveys-android-sdk/
implementation ("com.musurveys:musurveys-android-sdk:0.5.0")
'com.musurveys:musurveys-android-sdk:aar:0.5.0'
<dependency org="com.musurveys" name="musurveys-android-sdk" rev="0.5.0">
  <artifact name="musurveys-android-sdk" type="aar" />
</dependency>
@Grapes(
@Grab(group='com.musurveys', module='musurveys-android-sdk', version='0.5.0')
)
libraryDependencies += "com.musurveys" % "musurveys-android-sdk" % "0.5.0"
[com.musurveys/musurveys-android-sdk "0.5.0"]

Dependencies

compile (2)

Group / Artifact Type Version
com.musurveys : musurveys-android-sdk-api jar 0.5.0
androidx.appcompat » appcompat jar 1.2.0

runtime (1)

Group / Artifact Type Version
com.musurveys : musurveys-android-sdk-internal jar 0.5.0

Project Modules

There are no modules declared in this project.

µSurveys Android Client

µSurveys is an application for showing micro-suveys embedded in your own application. You can learn more and setup an account at https://musurveys.com

Get Started

Add the dependency to gradle:

dependencies {
    // ...
    
    // µSurveys library
    implementation "com.musurveys:musurveys-android-sdk:<latest-release>"
}

Configurations in your Application class:

@Override
public void onCreate() {
    super.onCreate();
    // Sign up at musurveys.com, to get an API key.
    UserSneak.get()
        .configureUserSneakApiKey(USER_SNEAK_API_KEY)
        // See docs.usersneak.com to learn how to setup your sheet.
        .configureSheetsId(SHEET_ID)
        // Set the minimum amount of time that must pass before the user is shown another survey.
        // See docs.userneak.com to learn more.
        .configureResurveyWindowMillis(TimeUnit.SECONDS.toMillis(5));
}

Track and show surveys like so:

ActivityResultLauncher<Intent> muSurveysLauncher =
    registerForActivityResult(
        new StartActivityForResult(),
        result -> {
            // TODO: Survey complete, update the UI.
        });

StatusCallback callback =
    status -> {
      switch (status) {
        case NO_SURVEY:
        case SURVEY_MALFORMED:
          // TODO: Handle no survey present
          break;

        case AVAILABLE:
          MuSurveys.get().showSurvey(requireActivity(), eventName, muSurveysLauncher);
          break;
      }
    };
MuSurveys.get().track(eventName, callback);

Contributor Guide

Setup

  1. clone the project
  2. setup pre-commit
  3. Install Android Studio (check gradle properties file, but probably the latest canary version)
  4. import into AS
  5. Press Run

Deploy Instructions

  1. See scripts/README

TODO

P0:

  1. Implement some error and stacktrace reporting

P1:

  1. Make the surveys look prettier
  2. Upload demo app to the play store
com.musurveys

µSurveys

Deploy Micro-Surveys in your app in under 30 minutes

Versions

Version
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0