Table of Contents

Android TVIP Appstore

Application description

TVIP App store is an application included in the basic firmware of TVIP S-Box mediacenters on Android OS starting from 4.4.1 firmware version. This application can be managed by provider. By default, the TVIP App store is configured from TVIP server. This behavior can be overridden using provisioning settings. Link to a JSON file can be specified in provisioning for configuring the App store.

Example of JSON file

{
  "protoVersion": 1,
  "lastUpdate": 1579259632,
  "updateCheckPeriodSec": 3600,
  "operator": {
    "name": "Example Operator",
    "logoUrl": "https://operatior.domain/operator.logo"
  },
  "apps": [
    {
      "package": "en.example.com",
      "version": "1.1.6",
      "buildNumber": 116,
      "title": "Example App",
      "description": "Best application in the world!",
      "releaseNotes": "All bugs fixed",
      "developer": "TVIP",
      "apkUrl": "https://operatior.domain/app.apk",
      "apkSize": 10240.0,
      "customerRating": 9.9,
      "downloadCount": 101,
      "ageRating": 12,
      "lastPublishDate": 1579259632,
      "firstPublishDate": 1579259632,
      "categoriesTags": [
        "Entertainments",
        "Video"
      ],
      "permissions": [
        "Internet"
      ],
      "media": {
        "logoUrl": "https://operatior.domain/logo.png",
        "bannerUrl": "https://operatior.domain/banner.png",
        "screenshots": ["https://operatior.domain/screen_01.png","http://operatior.domain/screen_02.png"]
     },
     "rules": {
       "forceInstall": true,
       "forceUpdate": false,
       "forceUninstall": false
     }
    }
  ]
}

Description of root object

Field Type Required Description
protoVersion int Yes Protocol version TVIP Appsore (at the moment 1)
lastUpdate int Yes timestamp of last update
updateCheckPeriodSec int No Update json file period
operator Object operator Operator Settings
apps Array app Yes List available application

Description of operator object

Field Type Required Description
name String Yes Operator name
logoUrl String Yes Operator logo
background String Background for Appstore

Description of app array

Field Type Required Description
package * String Yes Unique package name
version String Yes Application version
buildNumber int Yes Application build number
title String Yes Application title
description String Application description
releaseNotes String Application release notes
developer String Application developer
apkUrl String Yes Url for download apk file
apkSize int Size apk file. In Kbytes
customerRating double Customer rating
downloadCount int Count of downloaded application
ageRating int Application age rating
lastPublishDate int Application last publish date
firstPublishDate int Application first publish date
categoriesTags array categories Array of categories
permissions array permissions Array of permissions
media object media Array of media
rules object app-rules Array of rules

Description of media object

Field Type Required Description
logoUrl String Application logo
bannerUrl String Banner URL. Aspect ratio 1.77
screenshots array[String] Application screenshots

Description of app rules

Field Type Required Description
forceInstall bool Force install application without ask user
forceUpdate bool Force update application without ask user
forceUninstall bool Force delete application without ask user

Description of permissions object

Name Android permission Google Play
Internet android.permission.INTERNET full network access
AccessNetworkState android.permission.ACCESS_NETWORK_STATE view network connections
AccessWifiState android.permission.ACCESS_WIFI_STATE view Wi-Fi connections
UseCredentials android.permission.USE_CREDENTIALS find accounts on the device (?)
RecordAudio android.permission.RECORD_AUDIO record audio
WriteExternalStorage android.permission.WRITE_EXTERNAL_STORAGE write to SD card
WakeLock android.permission.WAKE_LOCK prevent sleeping
Vibrate android.permission.VIBRATE control vibration
ReadPhoneState android.permission.READ_PHONE_STATE read phone status
AccessFineLocation android.permission.ACCESS_FINE_LOCATION precise location
ReadExternalStorage android.permission.READ_EXTERNAL_STORAGE read SD card
AccessCoarseLocation android.permission.ACCESS_COARSE_LOCATION approximate location
ReceiveBootCompleted android.permission.RECEIVE_BOOT_COMPLETED run at startup
GetAccounts android.permission.GET_ACCOUNTS find accounts
Camera android.permission.CAMERA take pictures and videos
Bluetooth android.permission.BLUETOOTH pair with Bluetooth devices
ReadContacts android.permission.READ_CONTACTS read contacts
ChangeWifiState android.permission.CHANGE_WIFI_STATE connect and disconnect Wi-Fi
GetTasks android.permission.GET_TASKS retrieve running apps
WriteSettings android.permission.WRITE_SETTINGS modify system settings
ModifyAudioSettings android.permission.MODIFY_AUDIO_SETTINGS change your audio settings
Receive receive data from Internet

Description of categories object

Values
Entertainments
Video

Example of TVIP App store's display

1. app title

2. media bannerUrl

3. categories

4. app description

5. app lastPublishDate

6. app buildNumber

7. app apkSize