Breaking News

GDPR for mobile Apps part 2


GDPR  for mobile Apps part 2


it will give us the following:



        package="com.gdprjavawe.arbouh.mygdprweb">  

permission>  

permission>  


          


 


       


                android:allowBackup="true"  


                android:icon="@mipmap/ic_launcher"  


                android:label="@string/app_name"  


                android:roundIcon="@mipmap/ic_launcher_round"  


                android:supportsRtl="true"  


                android:theme="@style/AppTheme">  


                  


                          


                                  


                                  


                       
 


               
 


       





We go to Activity of java (xml file) :


import  android.support.v7.app.AppCompatActivity;  




 We add this import



import android.os.Bundle;  


import  android.util.Log;  


import  com.google.ads.consent.*;  


import  java.net.MalformedURLException;  


import  java.net.URL;  


import  com.google.android.gms.ads.MobileAds;  


import  com.google.android.gms.ads.AdRequest;  


import  com.google.android.gms.ads.AdView;  




after this line we add this private :


public  class  MainActivity  extends  AppCompatActivity  {  




this is   private file to add :

  start  1/3  /////////////////////////  

private  static  final  String  TAG  ="MainActivity  -----  :  "  ; 

ConsentForm  form;  



end  1/3  ////////////////////////// 

after private we find onCreate :




@Override  


protected  void  onCreate(Bundle  savedInstanceState)  {  


        super.onCreate(savedInstanceState);  


        setContentView(R.layout.activity_main);  


here we add code  GDPR  1/2    




      }  


here we add  code    GDPR  1/3  




}  






We add this code after on create :


ConsentInformation  consentInformation  =  


ConsentInformation.getInstance(MainActivity.this);  




////  test  


ConsentInformation.getInstance(MainActivity.this).addTestDevice("62577C087ADC54975  


24E2FAF2B0E67AE");  


/////  






String[]  publisherIds  =  {"pub  -  


consentInformation.requestConsentInfoUpdate(publisherIds,  new  


ConsentInfoUpdateListener()  {  


        @Override  


        public  void  onConsentInfoUpdated(ConsentStatus  consentStatus)  {  


                //  User's consent status successfully updated.  


                Log.d(TAG,"onConsentInfoUpdated");  




                switch  (consentStatus){  


                        case  PERSONALIZED:  


                                Log.d(TAG,"PERSONALIZED");  


                                ConsentInformation.getInstance(MainActivity.this)  


                                                .setConsentStatus(ConsentStatus.PERSONALIZED);  


                                break;  






                        case  NON_PERSONALIZED:  


                                Log.d(TAG,"NON_PERSONALIZED");  


                                ConsentInformation.getInstance(MainActivity.this)  


                                                .setConsentStatus(ConsentStatus.NON_PERSONALIZED);  


                                break;  



                        case  UNKNOWN:  

                                Log.d(TAG,"UNKNOWN");  


                                if  


(ConsentInformation.getInstance(MainActivity.this).isRequestLocationInEeaOrUnknown  


()){  




                                        URL  privacyUrl  =  null;  


                                        try  {  


                                                //  TODO:  Replace with your app's privacy policy  URL.  


                                                privacyUrl  =  new  URL("https://www.your.com/privacyurl");  


                                        }  catch  (MalformedURLException  e)  {  


                                                e.printStackTrace();  


                                                //  Handle error.  


                                        }  


                                              form  =  new  ConsentForm.Builder(MainActivity.this,  


privacyUrl)  


                                                        .withListener(new  ConsentFormListener()  {  


                                                                @Override  


                                                                public  void  onConsentFormLoaded()  {  


                                                                        //  Consent form loaded successfully.  


                                                                        Log.d(TAG,"onConsentFormLoaded");  


                                                                        showform();  


                                                                }  




                                                                @Override  


                                                                public  void  onConsentFormOpened()  {  


                                                                        //  Consent form was displayed.  


                                                                        Log.d(TAG,"onConsentFormOpened");  


                                                                }  




                                                                @Override  


                                                                public  void  onConsentFormClosed(  


                                                                                ConsentStatus  consentStatus,  Boolean  


userPrefersAdFree)  {  


                                                                        //  Consent form was closed.  


                                                                        Log.d(TAG,"onConsentFormClosed");  


                                                                }  




                                                                @Override  


                                                                public  void  onConsentFormError(String  


errorDescription)  {  


                                                                        //  Consent  form  error.  


                                                                        Log.d(TAG,"onConsentFormError");  


                                                                        Log.d(TAG,errorDescription);  


                                                                }  


                                                        })  


                                                        .withPersonalizedAdsOption()  


                                                        .withNonPersonalizedAdsOption()  


                                                        .build();  




                                        form.load();  




                                }  else  {  


                                        Log.d(TAG,"PERSONALIZED  else");  


                                        ConsentInformation.getInstance(MainActivity.this)  


                                                        .setConsentStatus(ConsentStatus.PERSONALIZED);  


                                }  




                                break;  










                        default:  

                                break;  


                }  


        }  




        @Override  


        public  void  onFailedToUpdateConsentInfo(String  errorDescription)  {  


                //  User's consent status failed to update.  


                Log.d(TAG,"onFailedToUpdateConsentInfo");  


                Log.d(TAG,errorDescription);  


        }  


});  





This is the second file for GDPR :



private  void  showform(){  


        if  (form!=null){  


                Log.d(TAG,"show  ok");  


                form.show();  


        }  


}  







After add 1st and 2nd code, now we have:




@Override  


        protected  void  onCreate(Bundle  savedInstanceState)  {  


                super.onCreate(savedInstanceState);  


                setContentView(R.layout.activity_main);  








                GDPR    start  1/2  /////////////////////////////////  


                ConsentInformation  consentInformation  =  


ConsentInformation.getInstance(MainActivity.this);  




                ////  test  




ConsentInformation.getInstance(MainActivity.this).addTestDevice("62577C087ADC54975  


24E2FAF2B0E67AE");  


                /////  






                String[]  publisherIds  =  {"pub-xxxxxx"};  


                consentInformation.requestConsentInfoUpdate(publisherIds,  new  


ConsentInfoUpdateListener()  {  


                        @Override  


                        public  void  onConsentInfoUpdated(ConsentStatus  consentStatus)  {  


                                //  User's consent status successfully updated.  


                                Log.d(TAG,"onConsentInfoUpdated");  




                                switch  (consentStatus){  


                                        case  PERSONALIZED:  


                                                Log.d(TAG,"PERSONALIZED");  


                                                ConsentInformation.getInstance(MainActivity.this)  


                                                                .setConsentStatus(ConsentStatus.PERSONALIZED);  


                                                break;  










                                        case  NON_PERSONALIZED:  

                                                Log.d(TAG,"NON_PERSONALIZED");  


                                                ConsentInformation.getInstance(MainActivity.this)  


                                                                .setConsentStatus(ConsentStatus.NON_PERSONALIZED);  


                                                break;  






                                        case  UNKNOWN:  


                                                Log.d(TAG,"UNKNOWN");  


                                                if  


(ConsentInformation.getInstance(MainActivity.this).isRequestLocationInEeaOrUnknown  


()){  




                                                        URL  privacyUrl  =  null;  


                                                        try  {  


                                                                //  TODO:  Replace  with  your  app's  privacy  policy  


URL.  


                                                                privacyUrl  =  new  


URL("https://www.your.com/privacyurl");  


                                                        }  catch  (MalformedURLException  e)  {  


                                                                e.printStackTrace();  


                                                                //  Handle  error.  


                                                        }  


                                                              form  =  new  ConsentForm.Builder(MainActivity.this,  


privacyUrl)  


                                                                        .withListener(new  ConsentFormListener()  {  


                                                                                @Override  


                                                                                public  void  onConsentFormLoaded()  {  


                                                                                        //  Consent form loaded successfully.  


                                                                                        Log.d(TAG,"onConsentFormLoaded");  


                                                                                        showform();  


                                                                                }  




                                                                                @Override  


                                                                                public  void  onConsentFormOpened()  {  


                                                                                        //  Consent form was displayed.  


                                                                                        Log.d(TAG,"onConsentFormOpened");  


                                                                                }  




                                                                                @Override  


                                                                                public  void  onConsentFormClosed(  


                                                                                                ConsentStatus  consentStatus,  


Boolean  userPrefersAdFree)  {  


                                                                                        //  Consent form was closed.  


                                                                                        Log.d(TAG,"onConsentFormClosed");  


                                                                                }  




                                                                                @Override  


                                                                                public  void  onConsentFormError(String  


errorDescription)  {  


                                                                                        //  Consent  form  error.  


                                                                                        Log.d(TAG,"onConsentFormError");  


                                                                                        Log.d(TAG,errorDescription);  


                                                                                }  


                                                                        })  


                                                                        .withPersonalizedAdsOption()  


                                                                        .withNonPersonalizedAdsOption()  


                                                                        .build();  




                                                        form.load();  








                                                }  else  {  

                                                        Log.d(TAG,"PERSONALIZED  else");  


                                                        ConsentInformation.getInstance(MainActivity.this)  


                                                                        .setConsentStatus(ConsentStatus.PERSONALIZED);  


                                                }  




                                                break;  






                                        default:  


                                                break;  


                                }  


                        }  




                        @Override  


                        public  void  onFailedToUpdateConsentInfo(String  errorDescription)  {  


                                //  User's consent status failed to update.  


                                Log.d(TAG,"onFailedToUpdateConsentInfo");  


                                Log.d(TAG,errorDescription);  


                        }  


                });  


                GDPR    end  1/2//////////////////////////////////  






        }  






        GDPR    start  1/3  /////////////////////////////////  


        private  void  showform(){  


                if  (form!=null){  


                        Log.d(TAG,"show  ok");  


                        form.show();  


                }  


        }  


        GDPR    end  1/3  /////////////////////////////////  











We enter to Admob :


                                                ⃝    blocking controls



you are transferred to the next page, click on  EU USER CONSENT 



                               Custom set of ad technology providers…………………save changes.



You have this message

Save changes.




For this, you will wait 30 minutes.
x