GDPRDialog
Simple reusable DialogFragment.
What it offers
This library offers following:
- supports
DialogFragment
orBottomSheetDialogFragment
style - supports multiple services, already defined ones are AdMob and Firebase
- supports intermediator services as well, also supports to load your ad providers from AdMob
- supports custom service definitions
- is set up via a setup class that allows you to select which possibilities you give the user - any combination of personalised ads, non personalised ads and paid version, depending on what you want. Examples:
- allow personalised ads or paid version only
- allow personalised ads, non personalised ads or paid or free version
- combine whatever you want here...
- optionally enable location checks (supports google's check from the SDK via the internet,
TelephoneManager
,TimeZone
,Locale
) and also allows to define to use fallback methods, by providing your own list of checks sorted by their priority - optionally adds a
Checkbox
for age confirmation - uses soft opt in by default if you offer e.g. a personalised ads vs non personalised ads version
- it closes the app if the user did not give any consent (i.e if the user clicks the back button in the dialog)
- it manages the user's selected consent decision and remembers it (including location, date and app version)
- it automatically reshows the dialog if the user did not give any consent or if the setup defines that the app is not allowed to be used without ads and the user has not accepted ads at all yet
GDPR and law safety
Such dialogs must always be adjusted to the use case in general, although this one should be fine in most cases.
Checkout following to find out more: EU GDPR
Just to make this clear, I'm no lawyer and I can't guarantee that you are save if you use this library.
Gradle (via JitPack.io)
- add jitpack to your project's
build.gradle
:
- add the compile statement to your module's
build.gradle
:
Usage
- Init the singleton in your application
- call following in your activities
onCreate
- implement the
GDPR.IGDPRCallback
in your activity
- Other usages
Check out the MinimalDemo to get something to start with or check out the DemoActivity with the example setups for a more complex example
Where can I add additional networks?
You can simply do this in the GDPRDefinitions. Of course you can always define new networks in project only as well, but if you think you use a service many others do use as well, fell free to add it to the definitions.
Migration
Migrations will be explained in the release notes
TODO
-
[ ] Localisation
At least translations for all official languages within the european union should be added
- [ ] Bulgarian
- [ ] Croatian
- [x] Czech
- [ ] Danish
- [ ] Dutch
- [x] English
- [ ] Estonian
- [ ] Finnish
- [ ] French
- [x] German
- [ ] Greek
- [ ] Hungarian
- [ ] Irish
- [x] Italian
- [ ] Latvian
- [ ] Lithuanian
- [ ] Maltese
- [ ] Polish
- [x] Portuguese
- [ ] Romanian
- [ ] Slovak
- [ ] Slovenian
- [x] Spanish
- [ ] Swedish