クイックスタート

1. 最小必要構成

  • React Native: 0.71.6
  • Node 14 またはそれ以降
  • Ruby 2.7.6
  • iOS: 12.4
  • Android: 5.0 (API 21)

2. SDK 実装

アプリへの実装を行うには、まずはじめに Tapjoy React Native プラグインをインストールします。NPM と Yarn をサポートしています。

NPM

npm install tapjoy-react-native-sdk

Yarn

yarn add tapjoy-react-native-sdk

インストールが完了すると、Tapjoy をアプリにインポートしてプラグインを使用できます:

import {Tapjoy, TJPlacement} from 'tapjoy-react-native-sdk'

パーミッションを追加する (Android 用)

ACCESS_WIFI_STATE パーミッションをアプリのマニフェストに任意で追加してください:

<manifest ...>
  ...
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  ...
</manifest>

3. Tapjoy Connect の実装

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);

4. App Tracking Transparency によるトラッキングの許可を求める

アプリが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);
}