TJPlacement(...)
), instead of factory method (TJPlacement.placement(...)
)NB: If you are updating from a previous version of the Tapjoy SDK and have set privacy values using the old method don’t worry – the new SDK will still read the previously set values and you do not need to manually set them again. However, we would recommend eventually migrating your code to use this new method.
@protocol TJPlacementDelegate <NSObject>
@optional
- (void)didClick:(TJPlacement*)placement;
This release adds a "user is below consent age" flag that helps publishers monetize their user base while remaining in compliance with COPPA. Note that it is the publisher’s responsibility to implement this function; it is not automatically implemented when the Tapjoy SDK is integrated into an application. Responsibility for overall compliance with COPPA and other applicable laws and regulations remains with the publisher.
In the US, the Children’s Online Privacy Protection Act (COPPA) imposes certain requirements on operators of online services that (a) have actual knowledge that the connected user is a child under 13 years of age, or (b) operate services (including apps) that are directed to children under 13.
Similarly, the GDPR imposes certain requirements in connection with data subjects who are below the applicable local minimum age for online consent (ranging from 13 to 16, as established by each member state).
For applications that are not directed towards children under 13 years of age, but still have a minority share of users known to be under the applicable minimum age, utilize this method to access Tapjoy’s monetization capability. This method will set ad_tracking_enabled to false for Tapjoy which only shows the user contextual ads. No ad tracking will be done on this user.
+(void)belowConsentAge:(BOOL)isBelowConsentAge;
Setting this to TRUE means the Tapjoy SDK will treat the user as if the "Limit Ad Tracking" switch in their settings is on. This means they will still see Tapjoy ads, but the ads will not be targeted based on user behavior, and the user’s ad behavior will not be tracked by Tapjoy.
Note that as of April 2019, the web-based offerwall is no longer available. You can now get a direct link to the web-based Tapjoy offerwall, rather than having the user click on a special offer in the app-based offerwall. Note that to enable the web-based offerwall, you must make sure the ‘Show "More Rewards" banner’ checkbox is checked on your virtual currency screen, and you must have a sufficiently large number of daily users (>100). If you try to obtain the URL for the web-based offerwall when it is not enabled, the call will return an error. Here’s an example:
[Tapjoy getOfferwallURL:placementName completion:^(NSURL *url, NSDate *expires, NSError *error) {
if (error) {
// handle the error
}
else {
[self openURL:url]; //actually open the web-based offerwall in Safari browser
}
}
];
You can also see an implementation in the TapjoyEasyApp that is in the SDK download folder. Pressing the "Show Offerwall in Safari" button gets the url, and then launches it in the Safari browser.
Bug fixes:
This release is compatible with iOS 12 and Android 9 "Pie".
This release contains features that help publishers comply with the General Data Protection Regulation (GDPR). Each platform (iOS, Android, Unity, AIR) has two new functions. Tapjoy is GDPR-compliant based on "legitimate interest," therefore the following functions are not mandatory. However, we offer these functions for those publishers who wish to pass consent information to Tapjoy. If the publisher implements these functions and the user does not consent, Tapjoy will serve non-interest based content to that user.
These functions can be called before the application calls the Tapjoy Connect function, and should be called before the application requests any content from Tapjoy:
A setUserConsent function that takes either "0″ (user does not consent), "1″ (user does consent) or a more detailed consent string. This more detailed string is the consent string is described in the Transparency and Consent Framework as supported by the IAB. An optional "subject to GDPR" flag that can be set to YES/TRUE (if the user is subject to GDPR rules) or NO/FALSE (if the user is not subject to GDPR rules). This function should only be called if the application has made its own determination as to whether GDPR is applicable to the user or not. If this function is not called, Tapjoy assumes the application has not made such a determination, and therefore Tapjoy makes its own determination of GDPR applicability.
If a user does not consent or withdraws existing consent, will the Tapjoy SDK still send advertising identifiers to Tapjoy? Yes. The functions listed above are designed for interest-based advertising, and they send the user consent status for interest-based advertising to Tapjoy. Therefore, the status of the consent does not disable Tapjoy SDK from sending advertising identifier (IDFA for iOS or GAID for Android) at SDK initialization or during ad requests.
Tapjoy’s legal basis for compliance is ‘legitimate interest’. However, the publisher’s legal basis for compliance, and consequently their requirement for advertiser identifier collection, could be different than Tapjoy’s.
It is left to application to determine if the Tapjoy SDK should be initialized or not, depending on the application’s compliance need. For example, if an application’s legitimate basis for collection of advertising identifier is consent, and user has not consented, then the Tapjoy SDK should not be initialized for such users.
If a user from a country that is not covered by GDPR does not consent or withdraws consent, would Tapjoy limit advertising to non-interest-based ads for such a user? The Tapjoy SDK provides flexibility to handle different types applications, including applications that have no in-app method for determining whether the user is subject to GDPR or not.
Therefore, when an Application does not make any determination (i.e. the subjectToGDPR function is not called), Tapjoy servers determine whether the user is subject to GDPR. Then, Tapjoy honors the user’s consent preferences only for ad requests that Tapjoy determines are coming from GDPR-covered users.
If the intent is to allow users from any country to withdraw consent as if they were governed by GDPR, this can be done by calling the subjectToGDPR method with TRUE for all non-consenting users. In this case, Tapjoy’s servers will honor the content of the subjectToGDPR method call, and will not make its own determination as to whether or not the user is covered by GDPR. The publisher may also contact support@tapjoy.com and request that Tapjoy honor the consent preferences of all users of their application, regardless of whether they are covered by GDPR or not.
Added:
+(void)setUserConsent:(NSString*) value;
Example:
[Tapjoy setUserConsent:@"0″]; // user does not consent
+(void)subjectToGDPR:(BOOL) gdprApplicability;
Example:
[Tapjoy subjectToGDPR:NO]; // This user is not subject to GDPR
Bug fixes: