# Consent für Admob mit ump / funding choices



## celdri (11. Jul 2021)

Hallo zusammen,

um gdpr-konform zu sein, habe ich folgende Anleitung befolgt: https://developers.google.com/admob/ump/android/quick-start

Gemacht hab ich folgendes:

funding choices mit admob verbunden
ump zu build.gradle zugefügt
app ID im android manifest eingetragen
einen Dialog für meine App in admob erstellt und aktiviert
Dann habe ich diesen Code in die App eingefügt:


```
ConsentRequestParameters params = new ConsentRequestParameters
                .Builder()
                .setTagForUnderAgeOfConsent(false)
                .build();

        consentInformation = UserMessagingPlatform.getConsentInformation(this);
        consentInformation.requestConsentInfoUpdate(
                this,
                params,
                new ConsentInformation.OnConsentInfoUpdateSuccessListener() {
                    @Override
                    public void onConsentInfoUpdateSuccess() {
                        // The consent information state was updated.
                        // You are now ready to check if a form is available.
                        if (consentInformation.isConsentFormAvailable()) {
                            loadForm();
                        }
                        else {

                            Context context = getApplicationContext();

                            CharSequence toastText = "No Form Available";

                            int duration = Toast.LENGTH_LONG;

                            Toast toast = Toast.makeText(context, toastText, duration);
                            toast.show();
                        }

                        
                    }

                },
                new ConsentInformation.OnConsentInfoUpdateFailureListener() {
                    @Override
                    public void onConsentInfoUpdateFailure(FormError formError) {

                        Context context = getApplicationContext();

                        CharSequence toastText = "Error";

                        int duration = Toast.LENGTH_LONG;

                        Toast toast = Toast.makeText(context, toastText, duration);
                        toast.show();

                    }
                });
```

und


```
public void loadForm() {
        UserMessagingPlatform.loadConsentForm(
                this,
                new UserMessagingPlatform.OnConsentFormLoadSuccessListener() {
                    @Override
                    public void onConsentFormLoadSuccess(ConsentForm consentForm) {
                        MainActivity.this.consentForm = consentForm;
                        if(consentInformation.getConsentStatus() == ConsentInformation.ConsentStatus.REQUIRED) {
                            consentForm.show(
                                    MainActivity.this,
                                    new ConsentForm.OnConsentFormDismissedListener() {
                                        @Override
                                        public void onConsentFormDismissed(@Nullable FormError formError) {
                                            // Handle dismissal by reloading form.
                                            loadForm();
                                        }
                                    });

                        }
                    }
                },
                new UserMessagingPlatform.OnConsentFormLoadFailureListener() {
                    @Override
                    public void onConsentFormLoadFailure(FormError formError) {
                        // Handle the error
                    }
                }
        );
    }
```

Leider bekomme ich immer den "Error"-Toast und lande in onConsentInfoUpdateFailure(FormError formError) unabhängig ob ich auf meinem Handy oder auf einem virtuellen Device teste.

Kann mir da jemand helfen, fehlt mir noch was?


Danke und Grüsse
celdrion


----------



## Jw456 (14. Jul 2021)

Im allgemeinen ist es so das die Werbung erst geschaltet wird wenn du die App bei Google play hochgeladen hast. 
Zum test benutze die test ID und nicht deine die du für deine App erstellt hast.


----------



## mrBrown (14. Jul 2021)

Mal geguckt, was `formError` für Infos enthält?


----------



## Jw456 (14. Jul 2021)

Interessant wäre auch welcher Fehler in der logcat kommt.


----------



## celdri (15. Jul 2021)

Danke euch schon mal für eure Antworten. Ja sorry, den Fehler habe ich vergessen zu posten...
Logcat gibt eine Warning aus: "UserMessagingPlatform: Invalid response from server."
formError message ist nur: "Invalid response from server"



Jw456 hat gesagt.:


> Im allgemeinen ist es so das die Werbung erst geschaltet wird wenn du die App bei Google play hochgeladen hast.
> Zum test benutze die test ID und nicht deine die du für deine App erstellt hast.


Das Problem ist aber nicht die Werbung, die Testanzeigen funktionieren, wie sie sollen. Das Problem ist "nur" das Formular für den Consent.

Noch zur Info, folgende Permissions habe ich im manifest:

```
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
```


----------



## Jw456 (15. Jul 2021)

Perkussion sind ok. 
Wenn es am Formular ligen soll dann zeige mal dein layout. 

Nur wenn dein Layout nicht ok ist würde es mit der test ID nicht gehn.


----------



## celdri (15. Jul 2021)

Hier ist mein Layout zur Main Activity, das wird dann auch ganz normal geladen:


```
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_alignParentTop="true" />

    <ImageView
        android:id="@+id/logo"
        android:layout_below="@id/toolbar"
        android:layout_marginTop="40dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        app:srcCompat="@drawable/titel" />

    <Button
        android:id="@+id/button1"
        android:layout_below="@id/logo"
        android:layout_marginTop="40dp"
        android:layout_marginLeft="-5dp"
        android:layout_marginRight="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="viewEnd"
        android:paddingRight="40dp"
        android:textColor="@color/button_textColor"
        android:text="@string/button1_string" />

    <Button
        android:id="@+id/button2"
        android:layout_below="@id/button1"
        android:layout_marginTop="20dp"
        android:layout_marginRight="-5dp"
        android:layout_marginLeft="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="viewStart"
        android:paddingLeft="40dp"
        android:textColor="@color/button_textColor"
        android:text="@string/button2_string" />

    <Button
        android:id="@+id/button3"
        android:layout_below="@id/button2"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="-5dp"
        android:layout_marginRight="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="viewEnd"
        android:paddingRight="40dp"
        android:textColor="@color/orange"
        android:text="@string/button3_string"
        />

    <Button
        android:id="@+id/button4"
        android:layout_below="@id/button3"
        android:layout_marginTop="20dp"
        android:layout_marginRight="-5dp"
        android:layout_marginLeft="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/button4_string"
        android:textAlignment="viewStart"
        android:paddingLeft="40dp"
        android:textColor="@color/orange" />

    <Button
        android:id="@+id/button5"
        android:layout_below="@id/button4"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="-5dp"
        android:layout_marginRight="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="viewEnd"
        android:paddingRight="40dp"
        android:textColor="@color/orange"
        android:text="@string/button5_string" />

    <Button
        android:id="@+id/button6"
        android:layout_below="@id/button5"
        android:layout_marginTop="20dp"
        android:layout_marginRight="-5dp"
        android:layout_marginLeft="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/button6_string"
        android:textAlignment="viewStart"
        android:paddingLeft="40dp"
        android:textColor="@color/orange" />


</RelativeLayout>
```


----------

