Collect the user consent

As of November 13, 2023, Ogury Choice Manager is deprecated, meaning it will no longer be supported or updated.

Consequently, no new consent notices will be delivered through Ogury Choice Manager's APIs. Therefore, it is strongly advised against using Ogury Choice Manager in new versions of applications. In case you have migrated to a new Consent Management Platform (CMP), ensure that Ogury and its partners are included as vendors.

For earlier versions of applications still using Ogury Choice Manager, the API will maintain its functionality, continuing to return consent for users who have previously responded to a consent notice. This will remain in effect until their consent expires.

Ogury Choice Manager handles user consent collection and storage for all your vendors, with a simple integration, ensuring compliance with the GDPR regulation. Your users are shown a single consent notice giving them the choice of the data they want to share, if any.

As an IAB Transparency and Consent Framework (TCF) approved solution, Ogury Choice Manager not only meets the letter of the law, but is also aligned with all relevant best practice standards.

Also, Ogury Choice Manager facilitates CCPA compliance by IAB California Consumer Privacy Act (CCPA) framework.

But where other solutions draw the line here, Ogury Choice Manager goes one step further by incorporating vendors that fall outside of IAB jurisdiction, including Facebook and Google. The net result is a definitive, one-stop consent notice that covers most vendors available on the market today.

Requirements

You have a registered application on your Ogury Dashboard. If not, please follow the guidelines in the getting started section.

To collect the user consent for the all registered vendors, call the Ask method in the Start of your first scene.

This method displays a consent notice allowing the user to choose with which vendors and purposes they agree to share data. This notice is only displayed when there is no existing consent status for this user. Otherwise the Ask method synchronizes the consent signal and makes it available through the SDK methods.

You can call the method as follows:

OguryChoiceManager.Ask();

You can register to following events, before calling the Ask method, to receive the consent status of the user:

The Ask method must be called at each launch of your application to be sure to have an up-to-date consent status. Pay attention to call the Start method prior to calling the Ask method.

Integration example

You must initialize Ogury Ads in the callbacks of both events to have the user consent for the first ad impression.

Note that the Ogury SDK will only serve non-personalized ads, lowering your expected revenue, if (i) you don't initialize the Ogury Ads in these callbacks, or if (ii) an error occurs.

Once the Ogury Ads are correctly initialized, the user consent is automatically synchronized across all Ogury products.

using OgurySdk;

public class MyScene : MonoBehaviour {

    void Start() {
        Ogury.Start("ANDROID_ASSET_KEY", "IOS_ASSET_KEY");
        
        // get user consent
        OguryChoiceManager.OnAskComplete += OnCMComplete;
        OguryChoiceManager.OnAskError += OnCMError;
        OguryChoiceManager.Ask();
    }
    
    private void OnDestroy() {
        OguryChoiceManager.OnAskComplete -= OnCMComplete;
        OguryChoiceManager.OnAskError -= OnCMError;
    }
    
    private void OnCMComplete(OguryChoiceManager.Answer answer) {
        // will serve personalized ads when the user consents
        StartSdks();
    }

    private void OnCMError(OguryError error) {
        // will serve personalized ads when the user consents
        StartSdks();
    }
    
    private void StartSdks() {
        // initialize Ogury Ads
        Ogury.StartAds();
    }
}

As per the GDPR regulation, publishers need to ensure the users can access and edit their consent choices through their application at any time.

The Edit method forces the display of the consent notice and let users update their choices. If an error occurred, nothing is displayed to the user. In this case, you need to handle the error to inform the user.

OguryChoiceManager.Edit();

You can register to following events, before calling the Edit method, to receive the consent status of the user:

We recommend to expose a button to edit the consent in the application settings.

Step 3: Finish your integration

Congratulations! Ogury Choice Manager is now implemented.

The user consent is automatically synchronized across all Ogury products, so you don't need to transmit it to them. You can now go back to the getting started section to implement ad formats and finish your integration.

However, should you have other vendors' SDKs processing user data, you can learn how to transmit them the consent signal in the Advanced usages section of the Ogury Choice Manager documentation.

Advanced Topics

Check the availability of the edit method

The edit option might not be available and then calling the edit method will return an error in the following cases:

  • if the user is not located in the EU, i.e. not in a country where the GDPR applies;

  • if the user has already paid to access your app using the Fair Choice feature;

  • as a result of a specific configuration on the Ogury Dashboard;

Before displaying the edit button, you should check this option with the following method:

OguryChoiceManager.EditAvailable;

Calling this method make sense only once the synchronization triggered by ask method has completed. Otherwise this method returns true by default.

Answer

In the OnAskComplete/OnEditComplete event callbacks, you can get the answer of the user through an Answer object. The Answer has one of the following values:

Error handling

If Ogury Choice Manager fails to get the consent signal for any reason during an Ask or an Edit, it triggers the corresponding onAskError /OnEditError events with an OguryError as parameter. The OguryError provides the ErrorCode property to retrieve the error code:

error.ErrorCode

The error can be one of the following:

The OguryError may provide additional details for the issue. You can access them using following property:

error.Description

Last updated