Building Apps

Scripture App Builder: Building Apps 2021, SIL InternationalLast updated: 22 April 2021You are free to print this manual for personal use and for training workshops.The latest version is available urces/and on the Help menu of Scripture App Builder.2

Contents1. Preparing content for your app . 71.1. Preparing text . 71.2. Preparing images . 91.3. Preparing audio. 92. How to build your first app .103. Installing the app on your phone .134. App Creation Basics .174.1. How should I choose the app package name? . 174.2. Where do the default book names and abbreviations come from? . 174.3. Do I have to create a new keystore for each app, or can I reuse the samekeystore for several of my apps? . 184.4. How can I include pictures in my apps? . 194.5. How can I add a horizontal line to separate certain paragraphs in text? . 194.6. I don’t like the name “Scripture App”. Have you thought of calling the appsomething else? . 194.7. Can I build apps when I do not have internet access? . 204.8. How do the glossary entry popups work? . 214.9. Can I build an app from the command line? . 225. Fonts .245.1. What is Grandroid? . 245.2. When do I need to include the Grandroid libraries? . 245.3. What is Crosswalk? . 256. Audio.266.1. How can I associate audio files with the text? . 266.2. How do I create the audio timing files for audio-text synchronization? . 276.3. How do I distribute the audio files with the app? . 276.4. How are the timing files distributed for the app? . 316.5. How can I use audio clips in the app?. 317. Video .327.1. How do I include videos in the app? . 327.2. How do I specify where the videos will be displayed within the app?. 333

8. About Page .348.1. What information should I include in the About page? . 348.2. Which formatting codes can I use in the About page? . 348.3. Which variables can I use in the About page? . 359. Multiple Translations .369.1. Three different layouts . 369.2. How to add a translation to the app . 399.3. How to configure the Layouts dialog . 3910. Navigation Drawer .4011. Contents Menu .4111.1. How do I create a contents menu?. 4111.2. How do I create additional contents menu screens? . 4212. Verse on Image .4312.1. The Verse on Image editor in the app . 4312.2. Configuring Verse on Image in the app builder . 4513. Verse of the Day .4613.1. Verse of the Day notifications . 4613.2. Configuring Verse of the Day in the app builder . 4614. Highlighting, Notes and Bookmarks .4714.1. Highlighting . 4714.2. Notes . 4814.3. Bookmarks . 4914.4. Configuring highlights, notes and bookmarks . 5014.5. Questions about highlights, notes and bookmarks . 5015. Borders .5115.1. How do I add a border to the app? . 5115.2. How does the app draw the border image? . 5316. Picture Story Books .5416.1. How do I define a picture story book? . 5516.2. What do picture story books in Word documents look like? . 5516.3. What do picture story books in SFM format text files look like? . 5616.4. Where do the pictures go? . 5816.5. How can I get the pictures to move when the audio is playing? . 584

16.6. What about font and font size? . 5916.7. What audio timing labels are used? . 5916.8. How can I add background music when the audio is playing? . 5916.9. Where can I get sample story book text and pictures? . 6016.10. How can I record the audio files? . 6017. Song Books .6017.1. How do I define a song book? . 6017.2. What do song books in Word documents look like? . 6117.3. What do song books in SFM format text files look like? . 6417.4. How can we associate audio with each song? . 6618. Sharing Apps.6619. Deep Linking .6719.1. Setting up Deep Linking . 6719.2. Creating Deep Links . 6819.3. Deferred Deep Linking . 7020. Analytics .7120.1. Firebase Analytics . 7220.2. Amplitude Analytics . 7320.3. FCBH Digest Analytics . 7320.4. S3 Digest Analytics . 7420.5. Data Payload for FCBH and S3 Digest Analytics . 7521. Registration Screen .7721.1. Setting up the Registration Screen in Scripture App Builder. 7721.2. Setting up the database in the Google Firebase console . 7822. EPUB .8023. Progressive Web App .8223.1. Why Would I Want a Progressive Web App? . 8223.2. Installing Prerequisites for PWA on Windows . 8223.3. Installing Prerequisites for PWA on Linux . 8323.4. How do I export PWA files? . 8423.5. How do I Add Audio to my PWA? . 8424. Publishing and Distribution .855


1.Preparing content for your appBefore you build an app with Scripture App Builder (SAB), you need to get your content(text, images and audio) into formats that SAB can handle.1.1. Preparing textThe text format you need depends on the type of app content you have. Books of the Bible:The Scripture text needs to be in one of the following formats:o Paratext files (.usfm, .sfm, .ptx, etc.)o USX files (.usx)o Digital Bible Library Text Release Bundles (.zip) Other types of app content such as commentaries, picture story books, songbooks and Bible studies:The text needs to be in one of the following formats:o Word documents (.docx)o SFM text files (.sfm)o HTML files (.html)o Bloom books (.bloomd)Here are some more details about each of these formats:1. Paratext files for Bible booksSAB can import text from Paratext USFM (Unified Standard Format Marker) files.These are the files used in Paratext projects – one per book of the Bible.\c 5\s Kilɛ Kafila yɛrɛ lemu lʼa pye faaboboŋɔ ki ɲuŋɔ ni ge\p\v 1 Ayiwa, ba Yesu ya sipyiire ti ɲa wɛ, na dugi tiin faaboboŋɔ kiɲuŋɔ ni. A wu wo kalaapiire tʼi fulo wu na.\v 2 A wu ɲɔ kɔn na pu kalaa na:\s Piikɛ pʼi ɲɛ duba nagoo pu wɛ?\r (Luka 6:20-23)\q1\v 3 «Piimu pʼa li cɛ na funmɔ fɛɛ pee ɲɛ\q2 Kilɛ shizhaa na ge,\q2 pee ɲɛ duba nagoo,\q1 bani pee wuuro ti ɲɛ\q2 fugba saanra te.In USFM files, the chapters, section headings and paragraphs are marked bystandard format markers such as \c, \s and \p. For more details, please see

It is recommended that you run the Paratext Basic Checks to ensure the text is asclean as possible for publishing. Select Checking Run Basic Checks from theParatext main menu.Critical checks: Chapter/Verse Numbers: Checks for duplicate or invalid chapter or versenumbers. Checks that all chapters and verses defined in the versification forthe project are present. Markers: Checks you are using valid USFM markers and they are not inunexpected places. References: Checks that Scripture references, e.g. “Mat 6:1-5”, follow exactabbreviations and syntax. If not, they will not work as links in the app.Important checks: All of the remaining basic checks: Characters, Punctuation, Capitalization,Repeated Words, Unmatched Pairs of Punctuation, Quotations, Numbers. Spelling: In Paratext, select Checking Spell Check Current Book 2. Other SFM text filesSAB can import text from SFM files which contain content other than Biblebooks, such as commentaries, Bible studies, stories or songs. Like Paratext USFMfiles, the chapters, section headings and paragraphs need to be marked bystandard format markers such as \c, \s and \p.The first marker in the file must be \id XYZ, where XYZ is a code you choose. Donot choose a code already reserved for a Scripture book, e.g. GEN.SFM book files must be plain text files. If you have Unicode characters, the textfiles should use UTF-8 encoding.To create a text file in Windows, use a text editor such as Notepad.To create a text file on a Mac, use TextEdit, remembering to choose Pla