---
title: "Store shiny app visitor views, likes and followers using shinyStorePlus 1.3"
author: "Obinna N. Obianom"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Store shiny app visitor views, likes and followers using shinyStorePlus 1.3}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---
```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

## The Importance of Visitor Data in Shiny Apps and the Corresponding Functionality that shinyStorePlus Provides

**Understanding how users interact with your Shiny app is crucial for its success.** By tracking visitor views, visitor likes, and visitor followers, you gain valuable insights into user engagement and preferences. This data allows you to:

* **Measure app reach and impact:** Track the number of users visiting your app to understand its overall reach and impact.
* **Identify popular features and content:** Analyze which app components receive the most views and likes to identify popular features and content that resonate with users.
* **Target your audience effectively:** Leverage visitor data to understand your user demographics and tailor your app's content and functionality to their specific needs and interests.
* **Improve user experience:** Use visitor data to identify areas for improvement and enhance the overall user experience of your Shiny app.

**RPKG has revolutionized the way developers can store and analyze visitor data in R-based Shiny apps.** With the `shinyStorePlus` R package, you can easily track views, likes, and followers, providing powerful and user-friendly features for data collection and analysis. This functionality empowers developers to gain deeper insights into user behavior, optimize their apps, and ultimately deliver a more engaging and valuable experience for their users.


### Demo app: https://rpkg.shinyapps.io/shiny-app-views-likes-followers/

## Example of storing View, User likes and followers

```
library(shiny)
library(shinyStorePlus)

ui <- fluidPage(
  titlePanel("Simplified shiny app storage of views, likes and followers"),
  initStore("all",rpkg.api.key = "c20c5eead7714c119dd3f20bd249a388e72db2aa0f9305d0380b683a37c5296a"),
  h2("Save App Views"),hr(),
  viewsBox("viewsshow","loading views..."),
  h2("Save App Likes, and allow user to Like!"),hr(),
  lfButton("liket",suffix="likes"),
  h2("Save App Followers, and allow user to Follow!"),hr(),
  lfButton("followt",suffix="followers"),
  hr(),p(p(i("Like or Follow and Refresh the page - the values are saved and the views are incremented.")))
)

server <- function(input, output, session) {
  # set up views, likes and follows, leave as NULL if you don't need tracking for either
  # in this case, we leave followID as NULL since we don't need to use that
  setupRPKG(viewsID = "viewsshow", likesID = "liket", followID = "followt")
}


shinyApp(ui = ui, server = server, options = list(launch.browser = TRUE,shiny.port =7171))


```


