文档

支持

更新指南

按照 Unity 更新指南移除已弃用的方法并采用更新的替代方法以防止集成问题,从而在 Tapjoy SDK 版本之间进行安全升级。
阅读时间2 分钟最后更新于 5 天前

本指南介绍从一个 Tapjoy SDK 版本更新到另一个版本时所需的步骤,建议您执行所有步骤以防止出现任何问题或冲突。

14.3.0

此版本修改了 connect 调用的工作方式。以前如下所示:
try { let sdkKey = Platform.OS === 'ios' ? 'ios-sdk-key' : 'android-sdk-key' let flags: object = {TJC_OPTION_USER_ID: 'userId'}; await Tapjoy.connect(sdkKey, flags);} catch (error: any) { let errorString = `Tapjoy SDK failed to connect. code: ${error.code}, message: ${error.message}`;}
从 14.3.0 开始,connect 调用如以下示例所示:
try { let sdkKey = Platform.OS === 'ios' ? 'ios-sdk-key' : 'android-sdk-key' let flags: object = { TJC_OPTION_USER_ID: 'userId' }; await Tapjoy.connect(sdkKey, flags, (event:TapjoyEvent) => { // Handle Warning }, ); // Handle Success} catch (error: any) { // Handle Failure}

13.4.0

我们新增了一个
connectWarning
回调。当连接过程中出现非阻塞问题时将触发此回调,随后仍会触发
connectSuccess
。目前,此功能仅用于检测在 ConnectFlags 中发送的 UserId 的相关问题。
import { NativeEventEmitter, NativeModules,} from 'react-native';const TJ = NativeModules.TapjoyReactNativeSdk; const TapjoyEmitter = new NativeEventEmitter(TJ); const TapjoyEventType = 'Tapjoy'; const subscription = TapjoyEmitter.addListener( TapjoyEventType, (event: TapjoyEvent) => { if (event.name === TJConnect.TJC_CONNECT_WARNING) { subscription.remove(); setStatusLabelText( `Tapjoy SDK connected with Warning: ErrorCode: ${event.code} ${event.message} ` ); } } );
我们还增加了对用户标签的支持。
Tapjoy.addUserTag('');Tapjoy.removeUserTag('');Tapjoy.clearUserTags();

13.2.0

连接

我们向 connectFailure 回调添加了错误代码和消息参数。以前的回调现已弃用,但仍然有效。
try { await Tapjoy.connect(sdkKey, flags);} catch (error: any) { let errorString = `Tapjoy SDK failed to connect. code: ${error.code}, message: ${error.message}`;}

最大用户等级

现在可以设置游戏中的关卡数。此设置可以在连接之前或之后进行。
Tapjoy.setMaxLevel(10);

用户细分段

现在可以设置当前使用应用的用户类型。此设置可以在连接之前或之后或在会话期间进行。
Tapjoy.setUserSegment(TJSegment.VIP);Tapjoy.setUserSegment(TJSegment.Payer);Tapjoy.setUserSegment(TJSegment.NonPayer);Tapjoy.setUserSegment(TJSegment.Unknown);

入口点

在调用_请求连接_之前,可以设置入口点。该设置用于指定广告位将在应用中的显示位置。您可以从多个预设值中选择一个值。
let placement = new TJPlacement("myPlacement");placement.setEntryPoint(TJEntryPoint.TJEntryPointMainMenu);placement.requestContent(); // Available valuesTJEntryPointUnknownTJEntryPointOtherTJEntryPointMainMenuTJEntryPointHudTJEntryPointExitTJEntryPointFailTJEntryPointCompleteTJEntryPointInboxTJEntryPointInitTJEntryPointStore

货币

  • get/spend/earn 方法将不再接受负值。
  • 如果自管货币调用托管货币 API,则会返回错误。
现在可以在创建广告位之前设置用户余额。此设置必须在 requestContent 之前进行。
let placement = new TJPlacement('placementName');try { await placement?.setCurrencyBalance('1234', 100);} catch (e: any) { let code = e.code; let message = e.message;}
还可以设置用户在每个广告位上实现目标所需的货币数量。
let placement = new TJPlacement('placementName');try {await offerwallPlacement?.setRequiredAmount(100, '100');} catch (e: any) { let code = e.code; let message = e.message;}

用户隐私

更新了接口以便与其他平台保持一致。此外,还添加了对 Android
optOutAdvertisingId
接口的支持。
let privacyPolicy = new TJPrivacyPolicy();privacyPolicy.setSubjectToGDPRStatus(TJStatus.True);privacyPolicy.setBelowConsentAgeStatus(TJStatus.False);privacyPolicy.setUserConsentStatus(TJStatus.Unknown);privacyPolicy.setUSPrivacy('1---');privacyPolicy.optOutAdvertisingID(false);