GDPR (General Data Protection Regulation)
Introduction
The General Data Protection Regulation(GDPR) is a regulation in EU law on data protection and privacy for all individuals within European Union and the European Economic Area.
To comply with GDPR, Buzzvil provides additional methods to obtain/manage user consent. The BuzzScreen privacy policy has also been updated accordingly. Publishers with EU traffic MUST implement these methods. Only EU users will be affected by these changes.
Please apply all methods in the following Usage part.
Extra caution is especially required on the following Usage - Methods to Add part.
Children under age 16 are unable to activate lockscreen as Buzzvil will not collect user data of them to comply with GDPR.
User Flow
1. Consent Dialog
Under GDPR, explicit user consent is required for lawful personal data processing.
When
activateIfConsent()
is called, the consent dialog will be displayed on the activity where this method is called.
2. Revoke Dialog
Under GDPR, publishers are required to provide users with accessible channel(s) to revoke their consent for data processing at any time.
Appears when
showRevokeConsentDialog()
is called.
Usage
1. Methods to Modify required
BuzzScreen.init(String appKey, Context context, Class lockerActivityClass, int imageResourceIdOnFail, PrivacyPolicy privacyPolicy)
A parameter (
PrivacyPolicy
) is added to the existing. For those else than the additional method, please refer to the https://buzzvil.atlassian.net/wiki/spaces/BDG/pages/392462350 doc.Parameters
PrivacyPolicy
: Parameter to be used by the publisher that must receive user consent due to GDPR. For publishers who have EU users where GDPR applies, please passPrivacyPolicy.GDPR
to this parameter.
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
...
// PrivacyPolicy.GDPR : this parameter indicates that the publisher needs to get GDPR consent from users
BuzzScreen.init("app_key", this, SimpleLockerActivity.class, R.drawable.image_on_fail, PrivacyPolicy.GDPR);
}
}
BuzzScreen.getInstance().activateIfConsent(Activity activity, OnActivateListener listener)
Replace
BuzzScreen.getinstance().activate()
with the method above.Parameters
activity
: Pass the current activity.OnActivateListener
onActivated()
: This method will be called when the lockscreen is activated.onCancelledByUser()
: This method will be called when a user cancels the consent dialog.onNetworkError()
: This method will be called when a network error occurs.
BuzzScreen.getInstance().activateIfConsent(MainActivity.this, new BuzzScreen.OnActivateListener() {
@Override
// When the lockscreen is activated
public void onActivated() {
showActivatedToast();
}
// When the dialog is closed by the user
@Override
public void onCancelledByUser() {
showCancelledToast();
}
// When network error occurs
@Override
public void onNetworkError() {
showNetworkErrorToast();
}
});
2. Methods to Add required
BuzzScreen.getInstance().isConsentGranted()
Use this method to check consent status of a user.
This method returns
True
if the user has already consented, andFalse
if not.It is useful when you want to manage the state of a BuzzScreen opt-out switch/button.
BuzzScreen.getInstance().showRevokeConsentDialog(Activity activity, OnConsentRevokeListener listener)
Use this method to show a revoke dialog. It is useful when you implement your own BuzzScreen opt-out switch/button.
Parameters
activity
: Pass current activity.OnConsentRevokeListener
onConsentRevoked()
: This method will be called when a user revokes consent.onCancelledByUser()
: This method will be called when a user closes the revoke dialog by pressing the cancel button.
Sample Code
if(! BuzzScreen.getInstance().isConsentGranted()){
BuzzScreen.getInstance().showRevokeConsentDialog(MainActivity.this, new BuzzScreen.OnConsentRevokeListener() {
@Override
//when consent is revoked by user
public void onConsentRevoked() {
showRevokedToast();
}
@Override
//when revoke dialog is closed by user
public void onCancelledByUser() {
showCancelledToast();
}
});
}else{
doNotShowDialog();
}
Appendix - How to use Sample App
Set
boolean useGDPR
totrue
inConstants.java
.Build
Sample App
.Before running the app, make sure you change the IP address to that of any EU country.