简介

本指南旨在帮助您轻松完成从Tapjoy作为视频聚合平台的一部分转变为Tapjoy Offerwall在您的应用程序中的独立SDK。

聚合后台

建议不要改变任何在聚合后台配置,这样可以保证Tapjoy可以继续通过聚合平台初始化。如果您配置了多个展示位置,您可以保留一个展示位置来保证Tapjoy可以正常初始化。

SDK下载

下载完整的 Tapjoy SDK 非常简单,并且可以从多个渠道获取: dashboardCocoapods, 或者 通过NPM或者Yarn

SDK初始化

由于聚合SDK将不再初始化Tapjoy SDK,您需要自己手动进行设置和初始化。可以参考我们相关文档 iOS, Android, Unity, 和 React Native 最重要的一点,您要确保调用“connect”并且监听回调以防万一有连接问题。我们建议先初始化Tapjoy SDK,然后初始化聚合SDK。

隐私政策

就像在聚合平台上做的类似,请确保您向Tapjoy传递相关隐私标志(GDPR、CCPA、美国隐私法等),这样我们可以继续正确处理用户信息。 有关此的更多信息请参考 here.

开发者User ID

为了正确的给用户发放奖励,必须设置开发者User ID。有关如何设置,请参考 虚拟货币设置.

虚拟货币

您可能选择了绕过 Tapjoy 的虚拟货币奖励以便聚合平台为您管理您的货币。之后,对于如果您使用Offerwall,您需要自己直接处理这个问题。具体请参考虚拟货币

聚合平台指南

下面是各个聚合平台上的指南,我们提供了和聚合平台相对应的方法。

MAX

为了保证在您切换到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"};

Admob

建议在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);

Fyber/Digital Turbine

请参考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) {

  }
});