Table of Contents generated with DocToc
maoni-github aims at sending the valuable feedback of your app users to the specified Github repository (as a Github issue).
Add this to your build.gradle
:
dependencies {
implementation('org.rm3l:maoni:10.0.0@aar') {
transitive = true
//Needed because of https://github.com/rm3l/maoni/issues/294
exclude module: 'unspecified'
}
implementation('org.rm3l:maoni-github:10.0.0@aar') {
transitive = true
//Needed because of https://github.com/rm3l/maoni/issues/294
exclude module: 'unspecified'
}
}
And set it as the listener for your Maoni instance:
//Customize the maoni-github listener, with things like your user personal Access Token on Github
final org.rm3l.maoni.github.MaoniGithubListener listenerForMaoni =
new org.rm3l.maoni.github.MaoniGithubListener(...);
new Maoni.Builder(MY_FILE_PROVIDER_AUTHORITY)
.withListener(listenerForMaoni) //Callback from maoni-github
//...
.build()
.start(MaoniSampleMainActivity.this); //The screenshot captured is relative to this calling context
You're good to go! Maoni will take care of validating / collecting your users' feedbacks and call maoni-github as needed.
At this time, the Github API does not provide any ways to upload images or files to issues created.
As such, the capability to attach screen captures and application logs to user feedback is not supported
by maoni-github
.
Please note however that you can always provide your own callback implementation by extending MaoniGithubListener
class and
overriding its onSendButtonClicked(Feedback)
method, so as to:
- upload the feedback attachments on any remote services of your choice;
- then update the
Feedback
object to include the attachments URLs; - and call
super.onSendButtonClicked(Feedback)
to create the issue on your Github repo.
This is written in the excellent Kotlin programming language, and leverages some other excellent Open-Source libraries:
- Anko, by Kotlin
- khttp, by jkcclemens