Micro Community Widgets - GluedIn
Introduction
The Micro Community feature of the GluedIn SDK can be plugged-in into any page within an existing business application. It facilitates users to create & upload content related to a particular offering. The system also incentivises user participation through a reward mechanism and encourages healthy competition with a leaderboard highlighting the top contributors. The goal is to enhance user engagement and drive business growth.
Increase Engagement through content on asset detail
Step 1: Console setup and get Keys
  • Follow onboarding steps on console
  • Create your project in the dashboard and get the API Key and Secret key.
  • Follow the steps in the console, then copy and use the API key and secret key in your application.
Step 2: Integrate Dependency
  • Add/Replace below listed dependency code inside your app/build.gradle file, as shown below.
  • 
    implementation com.gluedin.nocode:gluedin:4.0.3
    
  • Add below code into project build.gradle file
  • 
    maven {
          name = "GitHubPackages"
          url = uri("https://maven.pkg.github.com/plussaw/GluedIn")
          credentials {
              username = "plussaw"
              password = "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"
          }
    }
    
  • Click on the Sync Now button in Android Studio
  • Open Application class of the project and add below code in onCreate()
  • 
    override fun onCreate() {
           super.onCreate()
           GluedInInitializer.initSdk(this)
    }
    
Step 3: Assets Creation on console
  • Goto, “Asset Catalog” section on GluedIn console
  • Click on “Create Asset” button and fill in the assets information.
  • Now enable “Add Widget” toggle
  • Once enabled, all the content tagged against this asset will be shown in the assets detail of the app
  • You can set the Title of the widget from CMS.
  • “Asset Id” must be unique and same as in the existing system
  • Once an Asset is created on CMS, it will automatically be part of Full Community and all content tagged against this asset will have a CTA and Asset information on the content screen
Step 4: Enable the widget on the Asset detail page
  • First, validate the GluedIn SDK on the Asset Detail page before consuming any APIs or method of SDK
  • 
    val gluedInConfigurations = GluedInInitializer.Configurations.Builder()
        .setSdkInitCallback(mGIInitCallback)
        .setApiKey("put_your_api_key")
        .setSecretKey("put_your_secret_key")
        .setFeedType(GluedInInitializer.Configurations.FeedType.VERTICAL)
        .create()
    
    gluedInConfigurations?.validateGluedInSDK(this)
    
  • Use the below API methods of the SDK to check whether Micro Community is enabled on the Asset or not
  • 
    val interactor = WidgetInteractor()
    interactor.getWidgetDetails("asset_id", 
      success = { widgetConfig, widgetData ->                    
      },
      failure = { failedMessage, failedCode ->                    
      }
    )
    
    When Success: SDK will return the widget configuration and widget data
    
    WidgetConfig:
      success: ture if data has been fetched succesfully, false otherwise
      WidgetConfigDetails: 
        widgetEnabled: true, if widget has been enabled for an asset, false otherwise
      
    When Failure: SDK will return the failure message and code
    
  • If the widget is enabled on the asset then using the SDK API data, you can render the UI on the assets detail page. Refer to the Link for sample app.
  • Now, launch the GluedIn SDK when user clicks on any of the items.
  • 
    gluedInConfigurations?.launchSDK(
        this,
        LaunchConfig(
            GluedInConstants.EntryPoint.SUB_FEED,
            ProductInformation(),
            selectedVideoId
        )
    ) 
    
Content creation around an asset
As Admin if you can enable the content creation around a particular asset from CMS, it will allow the end user to create content, thus increasing user engagement.
Step 1: Enable Creator via Console
  • In the “Asset Catalog” menu in CMS, you can enable the “Add Creator” toggle while creating the asset on GluedIn CMS.
Step 2: Enable Creator on the Asset detail page
  • Once the creator will be enabled then on the Asset Detail page, the end user will have the option to create content.
  • Use the below API methods of the SDK to check whether Creator is enabled on asset or not
  • 
    val interactor = WidgetInteractor()
    interactor.getWidgetDetails("asset_id", 
      success = { widgetConfig, widgetData ->                    
      },
      failure = { failedMessage, failedCode ->                    
      }
    )
    
    When Success: SDK will return the widget configuration and widget data
    
    WidgetConfig:
      success: ture if data has been fetched succesfully, false otherwise
      WidgetConfigDetails: 
        widgetEnabled: true, if widget has been enabled for an asset, false otherwise
        creatorEnabled: true, if creator is enabled on an asset, false otherwise 
      
    When Failure: SDK will return the failure message and code
    
  • If the Creator is enabled on the asset then using the SDK API data, you can render the UI of creator entry point on the assets detail page. Refer to the Link for sample app.
  • Now, launch the GluedIn SDK when the user clicks on the creator entry point.
  • 
    gluedInConfigurations?.launchSDK(
        this,
        LaunchConfig(
            GluedInConstants.EntryPoint.CREATOR,
            ProductInformation(),
        )
    ) 
    
Incentivise via challenge & leaderboard
Using GluedIn SDK challenge (with leaderboard) and reward module, admin can incentivise the end user and increase the traction on the App.
Step 1: Create a Challenge via Console
  • Goto “Challenge” section on GluedIn Console
  • Click on “Create Challenge” option. It will open a form like below:
  • Enter the required details of the challenge and click the “Submit” button.
  • In next step, enable the leaderboard by clicking on “Turn On Leaderboard” button.
  • Now configure the leaderboard setting , eg: Rank Logic, Winner Frequency, Rewards setting
  • In next step, if you want to use the GluedIn Rewards system or want to push rewards data to your system.
  • Now, link the challenge to an asset, as in the below screenshot.
  • Now, “Save” the changes.
Step 2: Enable challenge & leaderboard on Asset detail page
  • Once the creator will be enabled then on the Asset Detail page, end user will have the option to create content.
  • Use the below API methods of the SDK to check whether Creator is enabled on asset or not
  • 
    val interactor = WidgetInteractor()
    interactor.getWidgetDetails("asset_id", 
      success = { widgetConfig, widgetData ->                    
      },
      failure = { failedMessage, failedCode ->                    
      }
    )
    
    When Success: SDK will return the widget configuration and widget data
    
    WidgetConfig:
      success: ture if data has been fetched succesfully, false otherwise
      WidgetConfigDetails: 
        widgetEnabled: true, if widget has been enabled for an asset, false otherwise
        creatorEnabled: true, if creator is enabled on an asset, false otherwise 
      
    When Failure: SDK will return the failure message and code
    
  • If the creator is enabled on the asset then using the SDK API data, you can render the UI of creator entry point on the assets detail page. Refer to the Link for sample app.
  • Use the below launch mechanism based on user clicks.
  • 
    --- When user clicks on challenge/creator entry popint -----
    gluedInConfigurations?.launchSDK(
        this,
        LaunchConfig(
            GluedInConstants.EntryPoint.CREATOR,
            ProductInformation(),
        )
    ) 
    
    --- When user clicks on leaderboard entry popint -----
    gluedInConfigurations?.launchSDK(
        this,
        LaunchConfig(
            GluedInConstants.EntryPoint.LEADERBOARD
        )
    ) 
    
    
    --- When user clicks on rewards entry popint -----
    gluedInConfigurations?.launchSDK(
        this,
        LaunchConfig(
            GluedInConstants.EntryPoint.REWARD
        )
    )