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 ```