本指南介绍了从一个Tapjoy SDK版本更新到另一个版本时所需的步骤,建议您执行所有步骤以防止出现任何问题或冲突。
Tapjoy SDK增加了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} `
);
}
}
);
同时我们还支持User Tags.
Tapjoy.addUserTag('');
Tapjoy.removeUserTag('');
Tapjoy.clearUserTags();
我们在connectFailure回调中添加错误代码和相关信息。原有回调方法已经被弃用,但是仍然起作用。
try {
await Tapjoy.connect(sdkKey, flags);
} catch (error: any) {
let errorString = `Tapjoy SDK failed to connect. code: ${error.code}, message: ${error.message}`;
}
您可以设置应用中的级别数目。在connect之前或之后都可以调用。
Tapjoy.setMaxLevel(10);
您可以在应用中设置用户的类型。在connect之前或之后都可以调用,在session中也可以调用。
Tapjoy.setUserSegment(TJSegment.VIP);
Tapjoy.setUserSegment(TJSegment.Payer);
Tapjoy.setUserSegment(TJSegment.NonPayer);
Tapjoy.setUserSegment(TJSegment.Unknown);
在调用_request connect_之前,您可以设置进入点。这个进入点表示广告展示位置在您应用中的位置。您可以从下面的预设值中选择。
let placement = new TJPlacement("myPlacement");
placement.setEntryPoint(TJEntryPoint.TJEntryPointMainMenu);
placement.requestContent();
// Available values
TJEntryPointUnknown
TJEntryPointOther
TJEntryPointMainMenu
TJEntryPointHud
TJEntryPointExit
TJEntryPointFail
TJEntryPointComplete
TJEntryPointInbox
TJEntryPointInit
TJEntryPointStore
您可以在创建展示位置之前设置用户账号余额。必须要在_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;
}
更新User Privacy相关接口,同时增加Android optOutAdvertisingId
接口.
let privacyPolicy = new TJPrivacyPolicy();
privacyPolicy.setSubjectToGDPRStatus(TJStatus.True);
privacyPolicy.setBelowConsentAgeStatus(TJStatus.False);
privacyPolicy.setUserConsentStatus(TJStatus.Unknown);
privacyPolicy.setUSPrivacy('1---');
privacyPolicy.optOutAdvertisingID(false);