本指南旨在帮助您轻松完成从Tapjoy作为视频聚合平台的一部分转变为Tapjoy Offerwall在您的应用程序中的独立SDK。
建议不要改变任何在聚合后台配置,这样可以保证Tapjoy可以继续通过聚合平台初始化。如果您配置了多个展示位置,您可以保留一个展示位置来保证Tapjoy可以正常初始化。
下载完整的 Tapjoy SDK 非常简单,并且可以从多个渠道获取: dashboard, Cocoapods, 或者 通过NPM或者Yarn。
由于聚合SDK将不再初始化Tapjoy SDK,您需要自己手动进行设置和初始化。可以参考我们相关文档 iOS, Android, Unity, 和 React Native 最重要的一点,您要确保调用“connect”并且监听回调以防万一有连接问题。我们建议先初始化Tapjoy SDK,然后初始化聚合SDK。
就像在聚合平台上做的类似,请确保您向Tapjoy传递相关隐私标志(GDPR、CCPA、美国隐私法等),这样我们可以继续正确处理用户信息。 有关此的更多信息请参考 here.
为了正确的给用户发放奖励,必须设置开发者User ID。有关如何设置,请参考 虚拟货币设置.
您可能选择了绕过 Tapjoy 的虚拟货币奖励以便聚合平台为您管理您的货币。之后,对于如果您使用Offerwall,您需要自己直接处理这个问题。具体请参考虚拟货币。
下面是各个聚合平台上的指南,我们提供了和聚合平台相对应的方法。
为了保证在您切换到Tapjoy SDK的过程中,Max可以继续初始化Tapjoy SDK,您需要做如下步骤: 1. 保持Tapjoy SDK key和至少一个在Max UI上配置的展示位置。
2. 保持Tapjoy广告平台依然激活。
以下是更改代码以直接调用Tapjoy时需要更新的关键内容。
请参考MAX关于隐私标志的相关文档: https://dash.applovin.com/documentation/mediation/ios/getting-started/privacy
MAX Method | Tapjoy Method | Notes |
---|---|---|
[ALPrivacySettings setHasUserConsent: YES] | [privacyPolicy setUserConsentStatus: TJStatusTrue]; | YES/True = TJStatusTrue; No/False = TJStatusFalse |
[ALPrivacySettings setIsAgeRestrictedUser: NO] | [privacyPolicy setBelowConsentAgeStatus: TJStatusFalse] | YES/True = TJStatusTrue; No/False = TJStatusFalse |
[ALPrivacySettings setDoNotSell: NO]; | [privacyPolicy setUSPrivacy: @"1YYY"]; | Please refer to the IAB doc on the privacy flag for more information on how to set this value. |
关于User ID的修改:
https://dash.applovin.com/documentation/mediation/ios/getting-started/integration
在您看到下面的地方:
[ALSdk shared].userIdentifier = @"USER_ID";
添加Tapjoy publisher user id方法:
NSDictionary *connectFlags = @{TJC_OPTION_USER_ID : @"USER_ID"};
建议在Tapjoy connect之后设置User ID。
Admob隐私相关文档: https://developers.google.com/admob/android/privacy
如果您需要遵守 California Consumer Privacy Act (CCPA) 或者 General Data Protection Regulation (GDPR), 请参考 CCPA settings 或者 GDPR settings 添加您的聚合合作伙伴到AdMob Privacy & messaging的CCPA或 GDPR广告合作伙伴列表中. 如果没有添加,会导致这些合作伙伴无法为您的应用提供广告服务。
Admob Method | Tapjoy Method | Notes |
---|---|---|
ConsentRequestParameters params = new ConsentRequestParameters.Builder().setTagForUnderAgeOfConsent(false).build(); | tjPrivacyPolicy.setUserConsent(TJStatus.FALSE); | |
ConsentRequestParameters params = new ConsentRequestParameters.Builder().setTagForUnderAgeOfConsent(true).build(); | tjPrivacyPolicy.setUserConsent(TJStatus.TRUE); |
请参考Digital Turbine相关文档:
https://developer.digitalturbine.com/hc/en-us/articles/360010915398-GDPR
https://developer.digitalturbine.com/hc/en-us/articles/9577916674333-COPPA
https://developer.digitalturbine.com/hc/en-us/articles/360010935578-US-Privacy-Compliance-
DT Method | Tapjoy Method | Notes |
---|---|---|
InneractiveAdManager.setGdprConsent(true); | tjPrivacyPolicy.setUserConsent(TJStatus.TRUE); tjPrivacyPolicy.setSubjectToGDPR(TJStatus.TRUE); | |
InneractiveAdManager.setUSPrivacyString("1YYY"); | tjPrivacyPolicy.setUSPrivacy("1YYY"); | |
InneractiveAdManager.currentAudienceAppliesToCoppa(); | tjPrivacyPolicy.setBelowConsentAge(TJStatus.TRUE); |
以下是您需要添加的开发者User ID设置:
iOS:
https://developer.digitalturbine.com/hc/en-us/articles/360009930737-Initializing-the-SDK
[FairBid user].userId = @"user_id";
Tapjoy:
[Tapjoy setUserIDWithCompletion:@"user_id>" completion:^(BOOL success, NSError *error) {}];
Android:
https://developer.digitalturbine.com/hc/en-us/articles/360010079697-Initialize-the-SDK
UserInfo.setUserId("user_id");
Tapjoy:
Tapjoy.setUserID("user_id", new TJSetUserIDListener() {
@Override
public void onSetUserIDSuccess() {
}
@Override
public void onSetUserIDFailure(String error) {
}
});