Wiqaytna is the official Moroccan exposure notification app.
Sample Configuration ``` ORG="MAR" STOREURL="" PRIVACYURL=""
SERVICEFOREGROUNDNOTIFICATIONID=771579 SERVICEFOREGROUNDCHANNELID="Wiqaytna Updates" SERVICEFOREGROUNDCHANNEL_NAME="Wiqaytna Foreground Service"
PUSHNOTIFICATIONID=771578 PUSHNOTIFICATIONCHANNELNAME="Wiqaytna Notifications" ERRORNOTIFICATION_ID=771580
SCANDURATION=8000 MINSCANINTERVAL=36000 MAXSCAN_INTERVAL=43000
ADVERTISINGDURATION=180000 ADVERTISINGINTERVAL=5000
PURGEINTERVAL=86400000 PURGETTL=1814400000 MAXQUEUETIME=7000 BMCHECKINTERVAL=540000 HEALTHCHECKINTERVAL=900000 CONNECTIONTIMEOUT=6000 BLACKLISTDURATION=100000
FIREBASE_REGION = ""
STAGINGFIREBASEUPLOADBUCKET = "wiqayetna-app-staging" STAGINGSERVICE_UUID = "17E033D3-490E-4BC9-9FE8-2F567643F4D3"
V2CHARACTERISTICID = "117BDD58-57CE-4E7A-8E87-7CCCDDA2A804"
PRODUCTIONFIREBASEUPLOADBUCKET = "wiqaytna-app" PRODUCTIONSERVICE_UUID = "B82AB3FC-1595-4F6A-80F0-FE094CC218F9"
android.useAndroidX=true android.enableJetifier=true ```
ORG: For international federation usage
To obtain the official BlueTrace Service ID and Characteristic ID, please email [email protected]
Change the package name and other configurations accordingly such as the
resValuein in the different settings in
buildTypesFor example, ```groovy buildTypes { debug { buildConfigField "String", "FIREBASEUPLOADBUCKET", STAGINGFIREBASEUPLOADBUCKET buildConfigField "String", "BLESSID", STAGINGSERVICEUUID
String ssid = STAGING_SERVICE_UUID versionNameSuffix "-debug-${getGitHash()}-${ssid.substring(ssid.length() - 5,ssid.length() - 1 )}" resValue "string", "app_name", "Wiqaytna" applicationIdSuffix "stg" }
> Values such as STAGING_FIREBASE_UPLOAD_BUCKET, STAGING_SERVICE_UUID have been defined in gradle.properties as described above.
Firebase and google-services.json
Setup Firebase for the different environment. Download the google-services.json for each of the environments and put it in the corresponding folder.
Debug: ./app/src/debug/google-services.json
Production: ./app/src/release/google-services.json
The app currently relies on Firebase Functions to work. More information can be obtained by referring to opentrace-cloud-functions.
Remote Config
Remote config is used for retrieving the "Share" message used in the app. The key for it is "ShareText". If it is unable to be retrieved, it falls back to R.string.share_message
Protocol Version
Protocol version used should be 2 (or above) Version 1 of the protocol has been deprecated
Security Enhancements
SSL pinning is not included as part of the repo. It is recommended to add in a check for SSL certificate returned by the backend.
Statement from Google
The following is a statement from Google: "At Google Play we take our responsibility to provide accurate and relevant information for our users very seriously. For that reason, we are currently only approving apps that reference COVID-19 or related terms in their store listing if the app is published, commissioned, or authorized by an official government entity or public health organization, and the app does not contain any monetization mechanisms such as ads, in-app products, or in-app donations. This includes references in places such as the app title, description, release notes, or screenshots. For more information visit https://android-developers.googleblog.com/2020/04/google-play-updates-and-information.html"
Acknowledgements
Wiqaytna uses the following third party libraries / tools.