I need an SDK that can be used by Android app developers to change the call ringback tone (RBT).
SDK/client App
- Android app developers use the SDK for their app, work with older versions of android
- Build a dummy app to used/install the SDK for test purposes
- Documentation for developers to use the SDK in their app.
- After installing the app
o User hears a music when making a call instead of operator RBT for ? times per days (set in settings)
o Push a notification to user (gets them from server)
o If the SDK used by multiple apps installed in the user’s phone, only first one works, if the first one uninstalled second one works, etc.
- At the end of the call a menu is displayed, possible options: request info (send sms/email/call to get more info about the music). The info should be connected to the music played at the beginning of the call.
- There must be a clear way to deactivate the SDK without uninstalling the app.
Connect to Server
- Automatically gets new music/files from MySql server and increases a counter for the music in the database
- Update the settings from MySql server every ? hours (specify in the settings)
- Save the last notification id (set to 0 to start) and get the last notification from server. If this notification is new show to user.
- Send logs to server, for each music: phone #, timestamp, music name/id, app name/id, duration_played, information_requested_at_the_end
o Option1: wifi connection is present, if musics are ? hours old (specify in the settings)
o Option2: over mobile data, if musics are ? hours old (specify in the settings)
o It is important that not all users connect to server at the same time (because of performance issues), so it may need to use some randomization on when to connect.
o Preferably update when phone is connected to a power source, and between 1-6am if possible.
Settings (read from the server)
- Number of musics per day: default: 3 music
- Update music with wifi: default=24h
- Update music with mobile data if the musics are old: default = 48 hours
- Number of music downloaded each time: default=3*number of musics per day
- Update settings: default=24h
- Send stat to server: default=24h
- Maximum times each music can be played for each user: default 2 times
- MySql query to get the music from server: default, SELECT * FROM table_name (I need be able to change this)