Third-party consent manager

Ogury requires an explicit consent from the user to use their personal data. In addition to our Ogury Choice Manager, the Ogury SDK can collect the consent automatically from third-party consent manager (see case A for more details). Additionally we provide APIs to transmit the consent from third-party consent manager to the Ogury SDK in case it is not compatible with the automatic way (see case B and case C for more details).

Requirements

Your application must be registered on your Ogury dashboard and the SDK must be started. If not, you can refer to the Getting started.

To use automatic TCFV2 string retrieval (case A), make sure you have the SDK version 5.0.7 or latest.

The Ogury SDK (from version 5.0.7) will automatically synchronize the user's consent before each ad request.

The user's consent is read from the Shared preferences as specified in IAB GDPR Consent Framework and synchronized every time the user changes its choices. Your CMP must be initialized before doing any ad request in order for the consent to be retrieved.

Compatible third-party consent managers:

If you are using an Ogury SDK version prior to 5.0.7, you must update your Ogury SDK or use the method in case B.

If your consent notice is registered in the IAB CMP list and produces IAB-specified consent string, but is not leveraging the IAB GDPR Consent Framework you can pass the consent to Ogury SDK.

Call the following method once the consent has been collected after having initialized the Ogury SDK:

OguryChoiceManagerExternal.TcfV2.setConsent(iabString, new Integer[0]);

The setConsent method takes the following parameter:

The IAB-specified Consent String must be valid and be generated by a whitelisted CMP. Otherwise the call to the setConsent method will be ignored.

If, at any point, user consent is changed, call this method again with updated values.

Integration example

public class MyActivity extends Activity {

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        OguryConfiguration.Builder oguryConfigurationBuilder = new OguryConfiguration.Builder(this, "OGY-XXXXXXXXXXXX");
        Ogury.start(oguryConfigurationBuilder.build());
        
        YourCmp.getConsent(this, yourCmpConsentListener);
    }
    
    private final YourCmpConsentListener yourCmpConsentListener = new YourCmpConsentListener() {
        @Override public void onComplete(OguryChoiceManager.Answer answer) {
            // Transmit the user consent to Ogury
            OguryChoiceManagerExternal.TcfV2.setConsent(YourCmp.getIabString(), new Integer[0]);
            
            // and start GAM and other vendor SDKs    
        }
        @Override public void onError(OguryError error) {
            // handle error
            // and start GAM and other vendor SDKs
        }
    };
    
}

Case C: Your CMP is not compatible with TCFv2

As of November 13, 2023, this functionality is deprecated, and Ogury no longer provides support for this consent type. Please use a Consent Management Platform (CMP) that is compatible with TCFv2 to manage and generate user consents.

This feature is submitted to a whitelist. Please contact your account manager before starting using this method.

We provide an alternative programmatic way to provide a true/false user's consent to the Ogury SDK in case of any of the previous methods did not work.

Before using this method, to be compliant with last GDPR requirements, you must include a link to Ogury's Privacy Policy in your own privacy policy.

If you have not done it before, you must initialize the Ogury SDK before calling this method.

OguryChoiceManagerExternal.setConsent(consentBoolean, consentManagerName);

The setConsent method take the following parameter:

  • a boolean indicating whether the user has consented or not.

  • the name of the consent manager provider collecting the consent. The value must formatted in snake case

    • If you are using a third-party solution, enter the name of this solution in SCREAMING_SNAKE_CASE (all capital letters, space replaced by an underscore).

    • If you are using an in-house solution, use "CUSTOM".

If, at any point, user consent is changed, call this method again with updated values.

Integration example

OguryConfiguration.Builder oguryConfigurationBuilder = new OguryConfiguration.Builder(this, "OGY-XXXXXXXXXXXX");
Ogury.start(oguryConfigurationBuilder.build());
// [...]
OguryChoiceManagerExternal.setConsent(consentBoolean, "CUSTOM");

Finish your integration

You can go back to the Getting started to implement ad formats and finish your integration.

Last updated