Third-party consent manager
Ogury requires an explicit consent from the user to use their personal data. In addition to our Ogury Choice Manager, we 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 for more details).

Requirements

You have a registered application on your Ogury dashboard. If not, you can refer to the getting started.
To use automatic TCFV2 string retrieval (case A), make sure you have the SDK version 1.3.4 or latest.

Case A: Your CMP is compatible with the IAB GDPR Consent Framework

The Ogury SDK (from version 1.3.4) will automatically synchronize the user's consent before each ad request.
The user's consent is read from the User defaults as specified in IAB GDPR Consent Framework and synchronized every time to 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:
You must import OguryChoiceManager and start it to use this case. more information here
If you are using an Ogury SDK version prior to 1.3.4, you must update your Ogury SDK or use the method in case B.

Case B: Your CMP generates TCFv2 consent string

If your consent notice is registered in the IAB CMP list and produces IAB-specified consent string, you can pass the consent programmatically to Ogury SDK.
Call the following method after the consent has been collected:
Swift
Objective-C
1
OguryChoiceManagerExternal.setConsentForTCFV2WithAssetKey("ASSET_KEY", iabString: "IAB_STRING", andNonIABVendorsAccepted: Array<NSNumber>())
Copied!
1
[OguryChoiceManagerExternal setConsentForTCFV2WithAssetKey:@"ASSET_KEY" iabString:@"IAB_STRING" andNonIABVendorsAccepted:[NSArray array]];
Copied!
The setConsentWithAssetKey method takes the following parameters:
The IAB-specified Consent String must be valid and be generated by a whitelisted CMP. Otherwise the call to thesetConsentForTCFV2WithAssetKey method will be ignored.
If, at any point, user consent is changed, call this method again with updated values.
We recommend to only start the Ogury SDK once you have collected the consent of the user even in case of an error of the third-party consent manager. Otherwise it will limit the inventory we are able to choose from for the first impressions.

Integration example

You must initialize the Ogury SDK after passing the user consent through the setConsentForTCFV2WithAssetKey method. Otherwise we will serve non-personalized ads.
Swift
Objective-C
1
OguryChoiceManagerExternal.setConsentForTCFV2WithAssetKey("ASSET_KEY", iabString: "IAB_STRING", andNonIABVendorsAccepted: Array<NSNumber>())
2
OguryAds.shared().setup(withAssetKey: "ASSET_KEY")
Copied!
1
[OguryChoiceManagerExternal setConsentForTCFV2WithAssetKey:@"ASSET_KEY" iabString:@"IAB_STRING" andNonIABVendorsAccepted:[NSArray array]];
2
[[OguryAds shared] setupWithAssetKey:@"ASSET_KEY"];
Copied!

Case C: Your CMP is not supported by any of the above cases.

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.
Swift
Objective-C
1
OguryChoiceManagerExternal.setTransparencyAndConsentStatus(consentBoolean,
2
origin: consentManagerName,
3
assetKey: "ASSET_KEY")
Copied!
1
[OguryChoiceManagerExternal setTransparencyAndConsentStatus:consentBoolean
2
origin:consentManagerName
3
assetKey:@"ASSET_KEY"];
Copied!
The setTransparencyAndConsentStatus 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".
  • the Asset Key of your application. If you do not have one, please refer to the getting started section.
If, at any point, user consent is changed, call this method again with updated values.

Integration example

You must initialize the Ogury SDK after passing the user consent through the setTransparencyAndConsentStatus method. Otherwise we will serve non-personalized ads.
Swift
Objective-C
1
OguryChoiceManagerExternal.setTransparencyAndConsentStatus(consentBoolean,
2
origin: "CUSTOM",
3
assetKey: "ASSET_KEY")
4
OguryAds.shared().setup(withAssetKey: "ASSET_KEY")
Copied!
1
[OguryChoiceManagerExternal setTransparencyAndConsentStatus:consentBoolean
2
origin:@"CUSTOM"
3
assetKey:@"ASSET_KEY"];
4
[[OguryAds shared] setupWithAssetKey:@"ASSET_KEY"];
Copied!

Finish your integration

You can go back to the getting started to finish your integration.
Last modified 3mo ago