Frequently Asked Questions
Overview
ROMDashboard provides a fast and secure method for developers to communicate with ROM users.
Two Main Components
- This web site and the companion Android application, ROMdB Dev Console serve as simple, quick and secure user interfaces to manage and interact with users of a developer's ROM.
- The Android application, ROMdB Dev Tool, that easily and securely provides the developer's and ROM's specific information to the user.
Install
ROMDashboard aims to make the setup and installation process as simple and convenient as possible.
How to Add ROMDashboard to a ROM
- From the Dev Dashboard, press the button labeled, Add a new ROM.
- Fill out four simple pieces of information (Title, Release Date, Supported Device and Welcome Message), then press the Add ROM button.
- Take the provided ROM ID hash and the ROM version key/values and add them to the end of the ROM /system/build.prop file.
- Drop the ROMdBDevTool.apk file into the /system/app directory of the ROM.
*Note: If the apk file is instead placed in /data/app/, the results will be unreliable, due to Android blocking the android.intent.action.BOOT_COMPLETED intent for non-system applications.
How to release an Upgrade with ROMDashboard
- Increment the ro.romdb.version value in the /system/build.prop file of the ROM by one integer. Example, current: ro.romdb.version=1 then to upgrade: ro.romdb.version=2
- Add the latest version of the ROMDashboard Dev Tool apk (available in Google Play or in the Dev Dashboard resources section) to the /system/app directory of the ROM .zip
- In the Dev Dashboard actions section use the upgrade button to easily create an updated version of the ROM.
- Add the new download mirror links and update the ROM details.
- When saving the upgrade ROM details, ROMDashboard will automatically announce the upgrade to all users of the previous version!
Android Application
The Android application, ROMdB Dev Tool, aims to make the communication process as secure and simple as possible.
Features
- After the 1st boot, once an internet connection has been established, a welcome message from the developer is displayed.
- The user is able to quickly, easily and securely subscribe/unsubscribe to future developer announcements.
- Users always receive ROM upgrade notifications, which include the updated ROM details and up to four download mirror links.
- Easily allow the user to download the ROM update, plus confirm the downloaded ROM hash matches.
- All the developer provided contact information (twitter link, forum profile links, personal web site link, etc.) is displayed front and center to the user.
- Specific current ROM information is provided to the user, such as ROM title, version, release date, forum links, etc.
- Easily accessible history of the last 10 developer announcements for the user to review.
- For the most efficient use of battery life and bandwidth, all push notifications use Google Cloud Messaging.
Technical Requirements
- Android versions 2.2 and newer are supported.
- To use the battery efficient Google Cloud Messaging (GCM) notifications, Google Play must be installed.
- If Google Play is not installed, a fallback method of interval polling will automatically be used.
Available build.prop keys
- Key: ro.romdb.hash.
Value
: ROMDashboard.com generated hash.Purpose
: Store the ROM Hash that is also used as part of the ROM identity.Example
ro.romdb.hash=12312312363a765c2a4065f92157686f18bda11d6a3b07412f199c22dcf2b123*Required
- Key: ro.romdb.version.
Value
: ROMDashboard.com provided integer.Purpose
: Store the version of the ROM that is also used as part of the ROM identity.Example
: ro.romdb.version=1*Required
- Key: ro.romdb.autosubscribe.
Value
: y.Purpose
: On the initial boot, subscribe users to the ROM specific developer announcements.Example
: ro.romdb.autosubscribe=y*Optional
- Key: ro.romdb.paranoid.
Value
: y.Purpose
: Prevent ROMdBDevTool.apk from reading, salting+SHA-512 hashing, encrypting, sending, and storing the salt+SHA-512 hash of the IMEI/ESN or WiFi MAC address on ROMDashboard.com.Example
: ro.romdb.paranoid=y*Optional
- To disable any of the optional build.prop keys, prefix the key with a "#".
Example
: #ro.romdb.paranoid=y
Screenshots
Dev Dashboard
Android Application
- Notification expanded: Welcome message from the developer received after first boot.
- Dialog: Welcome message from the notification with a prompt to subscribe to future developer announcements about the ROM.
- Notification expanded: Announcement message received from the developer for users of this specific ROM.
- Notification expanded: Upgrade notification received from the developer for users of this specific ROM version.
Purchasing
Due to the demand for reliable servers and time requirements for development, there are costs associated with ROMdB. The current pricing structure is designed to cover the costs and make the product available to as many ROM developers as possible.
Pricing Details
Google Play Subscriptions
- Provides ease of use for Android ROM Developers
- The security, conveniences and privacy of using Google Play's infrastructure
- Google Play details on subscriptions
Purchasing a Subscription
- The only method Google Play provides for purchasing a subscription is through an Android app
- Please use the ROMdB Developer Console application to purchase subscriptions
Managing a Subscription
- Google Play allows viewing and cancelling a subscription through the Google Play Android app
- ROMdB is able to provide subscription details on the Dev Dashboard
Cancellations
- Google Play automatically renews a subscription unless cancelled
- Once a subscription has been cancelled, the subscription will not renew
Refunds
- Google Play does not provide a 15-minute refund window
- All refund requests will need to be directed to ROMdB. Please use the contact form!
Finance Goals
- Hardware: Afford reliable and redudant professional grade servers
- Software: Provide the best experience for the developers and the users
Privacy
ROMDashboard takes the privacy of both the user and the developer very seriously. Below is detailed out the information that is transmitted from each Android device and the reason this information is received.
What data is received?
Unique irreversible salted SHA-512 hash of the IMEI or WiFi MAC address
This serves as the unique identifier for each device allowing the developer to understand how many unique users are running a specific ROM. The information can not be reversed back and linked to an individual user due to the irreversible one-way nature of a salted SHA-512 hash.
*Note: If the flag ro.romdb.paranoid=y is added at the end of the build.prop file, the salted hash of the IMEI/WiFi MAC will NOT be used (meaning NOT read, sent via encryption, or stored).
ROM ID Hash and Version
Notifies the developer of which specific ROM and version combination is being used
Android Device Type
Ensures the developer specified Android Device type matches for a specific ROM.