white label android application installation and ... · basic requirements ! ... utf-16 character...
TRANSCRIPT
White Label Android Application Installation and Customization Guide
Background
Background
§ Application built for civic agencies to bring voting information to the public
§ Code written to make deployment easy, without extensive Android development experience
Background
https://developers.google.com/civic-information/
Background
This is your data that Google is serving!
Background - API
Background - API
Response includes: § Contest and Referendum § Candidate information § Polling locations § State and local election official contact info
Background – White Label
§ App not in the Play Store, but ready to deploy
§ Customizable text and images § Feature complete and ready to go
Background – Open Source
§ BSD 3-Clause License § https://github.com/votinginfoproject/ android-white-label-app
Basic Requirements
§ Recent Windows, Macintosh, or Linux computer § Java SDK § GitHub (use desktop app, or command line) § Android Studio § Device drivers for your Android device § Technical proficiency
Setup – before you start
First, get your API keys: § Google Civic Information API Key § Google Maps Android SDK API Key § Google Directions API Key § Google Analytics Tracking ID
Setup – before you start
Google makes this really easy: https://console.developers.google.com
Setup – before you start
Google makes this really easy: https://console.developers.google.com
(There are a lot of APIs when you first get to this page, but they’re listed alphabetically)
Setup – before you start
Google makes this really easy: https://console.developers.google.com
Create these two keys
Setup – before you start
Setup – before you start
Google makes this really easy: https://www.google.com/analytics/web
Setup – Dependencies
Java SDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Details at: https://github.com/votinginfoproject/android-white-label-app
Setup – Dependencies
Android Studio – required for Android development: https://developer.android.com/sdk/installing/studio.html
Details at: https://github.com/votinginfoproject/android-white-label-app
Setup – Dependencies
GitHub https://windows.github.com/
Details at: https://github.com/votinginfoproject/android-white-label-app
Setup – get the code
Go to https://github.com/votinginfoproject/android-white-label-app
If you have the desktop app installed, click “Clone in Desktop”
Setup – get the code
Open Android Studio and import the project
To pull updates from GitHub, go to VCS -> Git -> Repository -> Pull Or use the GitHub app or command line
Setup – install dependencies
Go to Tools -> Android -> SDK Manager
Setup – install dependencies
Install dependencies listed at https://github.com/votinginfoproject/android-white-label-app
Setup – Settings Copy xmltemplates/api_keys.xml.template to app/src/main/res/values/api_keys.xml
Setup – Settings
Open the api_keys.xml file…
it should look like this…
Setup – Settings
Get your API keys together and update the api_keys.xml file. You can also do this with a plain text editor. Update the Android and Browser keys, and the Analytics Tracking ID
The official only and test election options can be set here, too
Setup – Settings Copy xmltemplates/app_tracker.xml.template to app/src/main/res/xml/app_tracker.xml Update the Analytics Tracking ID
Setup – Settings Also, update the “Brand Name” text with what you want the app to be called. This text will be at the top of the home page – and can be edited on line 36 of app/src/main/res/values/strings.xml
Setup – Settings The Google Maps API key requires some information about your specific build of the project. Detailed instructions are in the repository’s README file.
Setup – Settings There is also a way to do this in Android Studio from “Build -> Generate Signed APK”
More info can be found at http://developer.android.com/tools/publishing/app-signing.html
Setup – Settings Copy the APK fingerprint you generate and paste it in the API key in the Google Developer Console
Setup – Emulator and Devices The Android Emulator does not support Google Play Services, which are required for the Google Maps SDK to function properly. We recommend using an actual Android device for testing. Get documentation about using devices: http://developer.android.com/tools/device.html And drivers for your device: http://developer.android.com/tools/extras/oem-usb.html
Setup – Build the project
Click the “Run” button in the Run menu…
Run – Build the project
And the app should load on your device
Run – Additional Configurations
There are a few more things to consider before packaging the app for submittal to the Play Store § About, Terms, and Privacy Policy content § Customized images § Additional language support
Run – Additional Configurations
About, Terms, and Privacy Policy content are in app/src/main/res/values/strings.xml
Run – Additional Configurations
Edit, save, and rebuild You can change any of the text in Android Studio or a plain text editor that supports UTF-16 character encoding.
Run – Additional Configurations
Translations are also in app/src/main/res/ Each translation gets its own “values” directory
Spanish translations are not available yet, but are in progress
Run – Additional Configurations
Customize the app’s images by updating files in the app/src/main/res/drawable-{size} directories
Tips: § Use the same name § Keep the same pixel dimensions § There are different sets of images to support
different screen sizes § More detail at: http://developer.android.com/design/style/iconography.html
Run – Additional Configurations
Customize the AppIcons (app_icon.png), an Background (bg_home.png) images for a complete visual rebranding. You don’t need to change these, though.
Publish
That’s everything for setup and configuration! The next step is to package the app and submit it to the Play Store. Google has lots of documentation on this process. http://developer.android.com/distribute/googleplay/
Publish
The publishing process requires completing several steps. http://developer.android.com/distribute/tools/launch-checklist.html
Publish
Set up a developer account to get started…
Publish
The process takes some time to work through, but isn’t particularly difficult. Many of the issues you may encounter are not new, and resolutions can likely be found with a quick Google search. If additional technical support is needed, contact: Jen Tolentino at [email protected]
Good luck!
White Label Android Application Installation and Customization Guide