クイックスタート

1. ダッシュボード実装ガイド

Tapjoy ダッシュボード に、Tapjoy の実装を手順を追って説明する 実装ガイド が組み込まれました。従来通り、この実装ガイドにしたがって実装を進める事も可能です。最後に登録したアプリの実装ガイドを直接参照するか、Tapjoy ダッシュボードでアプリを選択し、「ツール」メニューのドロップダウンから「実装方法」を選択してください。

2. SDK 実装

A. Cocoapods

CocoaPods は Objective-C および Swift の依存関係マネージャです。

Tapjoy を利用する場合には、Podfile に下記のように付け加えます:

    platform :ios, '10.0'
    source 'https://github.com/CocoaPods/Specs.git'

    use_frameworks!

    target 'MyApp' do
        pod 'TapjoySDK'
    end

B. Swift Package Manager

SDK v13.4.0 から Swift Package Manager をサポートしました。

File > Add Packages Dependancies を開きます。 上部右の検索バーにレポジトリ https://github.com/Tapjoy/swift-packages.git をペーストし、 Add Package を選択します。

3. SKAdNetworkを有効にする

TapjoyはAppleのSKAdNetworkのネットワーク パートナーとして登録されています。TapjoyのネットワークIDとDSPパートナーのIDとともに、アプリのinfo.plist に追加して下さい。追加するIDのリストはXMLおよびJSONフォーマットでご利用いただけます:

詳細は こちら をご覧ください。

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

アプリがApp Tracking Transparencyを使用する場合、IDFA(広告ID)にアクセスするための許可を求めるダイアログを表示するには、Info.plistに NSUserTrackingUsageDescription キーとIDFAをアプリで使用する許可を求めるカスタムメッセージの値を追加します。

例:

<key>NSUserTrackingUsageDescription</key>
<string>あなたに最適になるようにパーソナライズした広告をお届けできるようになります。</string>

image_title

指定した使用目的の記述の内容は App Tracking Transparency のトラッキング許可ダイアログとして下記のように表示されます:

image_title

プロジェクトに AppTrackingTransparency フレームワークを追加し、 requestTrackingAuthorizationWithCompletionHandler: を呼び出して許可を求めるダイアログを表示します。ベスト・プラクティスとして、 requestTrackingAuthorization のコンプリーションハンドラが呼び出されるまでTapjoy connectの呼び出しを待つ事をお勧めします。こうすれば、意図したIDFAの値がTapjoyへのすべてのリクエストに使われるようになるからです。

Objective-C
Swift
#import <AppTrackingTransparency/AppTrackingTransparency.h>
...
- (void)fetchTrackingAuthorization {
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    // Tapjoy connect をここで呼びます。
  }];
}

5.Tapjoy Connect実装

次に、Tapjoy connect をアプリに実装します。 これにより、アプリからTapjoy SDK を"起動"します。

Tapjoy connect の実装は非常に重要です。この実装が正常に行われていない場合、Tapjoyの機能がいっさい動作しなくなるからです

Tapjoy connect を実装するためには、実装を行うアプリのTapjoy SDK Keyが必要になります。この値を取得するには Tapjoyダッシュボードで実装するアプリを選択肢、"設定" - "アプリ設定" をクリックします。画面下部の SDK Keyの箇所に各プラットフォームのSDK Keyが表示されています。

次に、アプリケーションのデリゲートファイルの application:didFinishLaunchingWithOptions メソッドに以下のコードを追加します:

Objective-C
Swift
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tjcConnectSuccess:) name:TJC_CONNECT_SUCCESS object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tjcConnectFail:) name:TJC_CONNECT_FAILED object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tjcConnectWarning:) name:TJC_CONNECT_WARNING object:nil];

    // Tapjoy デバッグモードを ON に
    [Tapjoy setDebugEnabled:YES]; // 開発用途にのみ有効にします。 パブリッシュする前に必ず無効にして下さい。

    // 自社管理仮想通貨を使う場合は、ユーザーIDをconnect flagで指定します。
    NSDictionary *connectFlags = @{TJC_OPTION_USER_ID : @"<USER_ID_HERE>"};
    [Tapjoy connect:@"SDK_KEY_GOES_HERE" options:connectFlags];
    
    // Connect flagを使用しない場合は、省略する事もできます。
    [Tapjoy connect:@"SDK_KEY_GOES_HERE"];

    return YES;
}

setDebugEnabled と setUserID メソッドは connect よりも先に設定するようにして下さい。 ユーザーIDを connect よりも先に設定すれば、 AppLaunch 自動設定プレイスメントが正しいユーザーIDでコンテンツを取得できるようになります。また、Push to Earn コンテンツでも同様です。

より詳細については SDK リファレンス (英語) もご参照下さい:
Objective C および C++

Connect コールバック

Tapjoy connect が完了した、警告月で完了した、または失敗したという通知を受けるには、セレクタとして前のステップで設定したメソッドを実装する必要があります。 connectWarning コールバックは connect の際に致命的でない問題が発生した場合に呼び出されます(その後に connectSuccess も更に呼び出されます)。現時点ではこの機能は ConnectFlags で指定した UserId に問題がある場合にのみ呼び出されます。

Objective-C
Swift
- (void)tjcConnectSuccess:(NSNotification *)notifyObj 
{
    NSLog(@"Tapjoy connect succeeded");
}

- (void)tjcConnectFail:(NSNotification *)notifyObj 
{
    NSError *error = notifyObj.userInfo[TJC_CONNECT_USER_INFO_ERROR];
    NSInteger code = error.code;
    NSString *message = error.localizedDescription;
    NSString *underlyingErrorMessage = underlyingError != nil ? [NSString stringWithFormat:@" - %li %@", underlyingError.code, underlyingError.localizedDescription] : @""; 
    NSLog(@"%@", underlyingErrorMessage);
}

- (void)tjcConnectWarning:(NSNotification *)notifyObj 
{
    NSError *error = notifyObj.userInfo[TJC_CONNECT_USER_INFO_ERROR];
    NSError *underlyingError = error.userInfo[NSUnderlyingErrorKey];
}

コンパイルを行い、アプリを実行して下さい。 実装が正しい場合は下記のようなログが出力されます:

        2020-01-29 16:01:55.422 App Name[25869:1433019] [TJLog level: 4] Connect success with type:0

これでTapjoyがアプリで起動するようになりました。

ユーザー レベル の最大値

Tapjoy にゲーム内でのレベルの最大値を伝えられます。この値は Connectの前、および後で設定できます。

Objective-C
Swift
[Tapjoy setMaxLevel:10]; 

ユーザー セグメント

setUserSegmentを呼び出して、ユーザーのセグメントを知らせられます。この値は Connectの前、および後で設定できます。

Objective-C
Swift
[Tapjoy setUserSegment:TJSegmentVIP];
[Tapjoy setUserSegment:TJSegmentPayer];
[Tapjoy setUserSegment:TJSegmentNonPayer];
[Tapjoy setUserSegment:TJSegmentUnknown];