アプリへの実装を行うには、まずはじめに Tapjoy React Native プラグインをインストールします。NPM と Yarn をサポートしています。
npm install tapjoy-react-native-sdk
yarn add tapjoy-react-native-sdk
インストールが完了すると、Tapjoy をアプリにインポートしてプラグインを使用できます:
import {Tapjoy, TJPlacement} from 'tapjoy-react-native-sdk'
ACCESS_WIFI_STATE
パーミッションをアプリのマニフェストに任意で追加してください:
<manifest ...>
...
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
...
</manifest>
Tapjoy SDK を初期化するには、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}`;
}
SDK v13.4.0 から connectWarning
コールバックが追加されました。
これは connect 中に致命的でない問題が 発生した場合に呼ばれ、その後に 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 の接続設定完了後は、アプリのビルドおよび実行が可能です。
これでTapjoyがアプリで起動するようになりました。
Tapjoy にゲーム内でのレベルの最大値を伝えられます。この値は Connectの前、および後で設定できます。
Tapjoy.setMaxLevel(10);
setUserSegment
を呼び出して、ユーザーのセグメントを知らせられます。この値は Connectの前、および後で設定できます。
Tapjoy.setUserSegment(TJSegment.VIP);
Tapjoy.setUserSegment(TJSegment.Payer);
Tapjoy.setUserSegment(TJSegment.NonPayer);
Tapjoy.setUserSegment(TJSegment.Unknown);
アプリがApp Tracking Transparencyを使用する場合、IDFA(広告ID)にアクセスするための許可を求めるダイアログを表示するには、Info.plistに NSUserTrackingUsageDescription
キーとIDFAをアプリで使用する許可を求めるカスタムメッセージの値を追加します。
次に、 react-native-tracking-transparency
パッケージ をインストールします:
yarn add react-native-tracking-transparency
インストールしたライブラリをインポートし、パーミッションダイアログを表示します:
import {
getTrackingStatus,
requestTrackingPermission,
} from 'react-native-tracking-transparency';
...
let trackingStatus = await getTrackingStatus();
if (trackingStatus === 'authorized' || trackingStatus === 'unavailable') {
await Tapjoy.connect(sdkKey, flags);
}else{
trackingStatus = await requestTrackingPermission();
await Tapjoy.connect(sdkKey, flags);
}