GAEN Mobile Environment Setup
This page outlines the env variables needed to setup and build the PathCheck GAEN Mobile App for deployments.
### In App Supported Configuration Values
These configs define the in app functionality which HAs can/should define
‼️ **REQUIRED** ‼️
```
PRIVACY_POLICY_URL
a valid url, required - the location of the privacy policy, this link will be
displayed only on the Terms of Service/EULA screen
DISPLAY_NAME
a string, required - the user facing name of the app
MEASUREMENT_SYSTEM
metric or imperial - the unit system used in the app, defaults to imperial
SUPPORTED_LOCALES
a list of valid locales, separated by comma, required
DISPLAY_SELF_ASSESSMENT
boolean string, true or false - defines if the self assessment is shown
DISPLAY_ACCEPT_TERMS_OF_SERVICE
true or false - defines if the accept terms of service screen is shown during
the onboardig process. This screen displays a confirmation screen prompting the
user to accept the terms of service before continuing.
DISPLAY_DEBUG_MENU
boolean string, true or false - defines if the debug menu is shown
EMERGENCY_PHONE_NUMBER
a valid phone number pertaining to the emergencies services for the given
jurisdiction. This is the number where the user will dial when they press the
`Emergency Contact` call to action on the connect screen. If the value is not
present the link will not be displayed
By default is interpreted as 'false' if not provided
DISPLAY_CALLBACK_FORM
true or false, required - whether or not the callback form is shown
if provided we must also provide all the server config:
CALLBACK_FORM_URL=
CALLBACK_OAUTH_URL=
CALLBACK_CLIENT_ID=
CALLBACK_CLIENT_SECRET=
CALLBACK_REFRESH_TOKEN=
CALLBACK_REDIRECT_URI=
DISPLAY_AGE_VERIFICATION
true or false - defines if the age verification modal is shown after the Welcome
screen. This modal asks the user to confirm they are over the MINIMUM_AGE.
MINIMUM_AGE
a number indicating the minimum age of users. Shown on the age verification
modal which is toggled using the DISPLAY_AGE_VERIFICATION flag.
DISPLAY_CALL_EMERGENCY_SERVICES
true or false - defines if the call emergency services button is displayed on the
main Dashboard screen
EMERGENCY_PHONE_NUMBER
the phone number that is called when the user presses the call emeregency
services button
```
☑️ **OPTIONAL** ☑️
```
SHARE_APP_LINK
a valid url, optional - the link that is used for sharing the app
If not present the share functionality won't be available
AUTHORITY_ADVICE_URL=
a valid url, optional - the link that NextSteps goes to
By default, the next steps action is not shown if it is not present
EULA_URL
a valid url, optional - the location of the eula for the product, if it is not
provided, then the link won't appear on the onboarding flow.
LEGAL_PRIVACY_POLICY_URL
a valid url, optional - the location of the privacy policy to be displayed on
the legal screen, if it is not provided, then the link won't appear on the legal
screen, this one is not related to the policy url that shows on the eula/terms
of service screen
MINIMUM_PHONE_DIGITS
a number, optional - this will be used as the minimum number of digits required
whenever a phone number is entered
QUARANTINE_LENGTH
a number, optional - this will be used as the number of days recommended to quarantine
after an exposure. If not present the default is 10 days.
ENX_APPLINKS_DOMAIN
This is the applinks domain name for ens express compatable universal links
See OS configurations:
https://developer.android.com/training/app-links
https://developer.apple.com/ios/universal-links/
REMOTE_CONTENT_URL
If this url is present the app will attempt to download remote content for the
app. Currently we only have custom copy configured to be set remotely. The app
will fallback to the static content if the remote content is not provided or
available.
SUPPORT_PHONE_NUMBER
a string with phone number formatting e.g. 1-800-555-5555. If provided, the app
will render this number as a tapable link in several locations. When tapped the
device will call the number. No validation check for the number will be done.
```
### Server and Distribution Configuration Values
‼️ **REQUIRED** ‼️
```
ENABLE_ERROR_REPORTING
boolean to indicate if the app should try to log errors to an external service
IOS_BUNDLE_ID
Bundle identifier for the ios application, should be unique per HA
ANDROID_APPLICATION_ID
Application identifier for the Android application, should be unique per HA
DOWNLOAD_BASE_URL
url from where the TEK's should be downloaded
DOWNLOAD_PATH
relative path to request the download of temporary exposure keys, dependant on
the DOWNLOAD_BASE_URL
REGION_CODES
code that represents the region to where the HA belngs(US, PR, GR ...)
POST_DIAGNOSIS_KEYS_URL
url used to publish exposure keys during the affected user flow after a
verification code has been provided (EN Key Server)
GAEN_VERIFY_URL
url for the verification server, where the verification code provided by the HA
will be sent for validation and for generating the certificate/JWT to be used to
post exposure keys (EN Verification Server)
GAEN_VERIFY_API_TOKEN
token used to authorize the submission of verification codes to the verification
server on the GAEN_VERIFY_URL variable (EN Verification Server)
EN_DEVELOPER_REGION
more granular region to avoid duplication for all the US based one (IOS Specific)
https://developer.apple.com/documentation/bundleresources/information_property_list/endeveloperregion
EN_API_VERSION
api version used by the exposure notifications framework, generally "2" (IOS Specific)
https://developer.apple.com/documentation/bundleresources/information_property_list/enapiversion
ANDROID_EN_CONFIG_URL_V1_6
url for Android V1.6 Exposure Notification API configuration for determining exposure
settings, Example configuration:
https://cdn.projectaurora.cloud/cfg/android/v1.6.narrower.config.json,
https://cdn.projectaurora.cloud/cfg/android/v1.6.wider.config.json
Based on: https://github.com/lfph/gaen-risk-scoring/blob/main/risk-scoring.md
APPLE_EN_CONFIG_URL_V1
url for iOS/Apple V1.0 Exposure Notification API configuration for determining exposure
settings, Example configuration: https://cdn.projectaurora.cloud/cfg/ios/v1.config.json
APPLE_EN_CONFIG_URL_V2
url for iOS/Apple V2.0 Exposure Notification API configuration for determining exposure
settings, Example configuration:
https://cdn.projectaurora.cloud/cfg/ios/v2.narrower.config.json
https://cdn.projectaurora.cloud/cfg/ios/v2.wider.config.json
Based on: https://github.com/lfph/gaen-risk-scoring/blob/main/risk-scoring.md
```