快速入门

1. SDK集成

A. Cocoapods

CocoaPods是Objective-C和Swift的依赖项管理器。 我们建议使用CocoaPods来使Tapjoy SDK保持最新。

要使用Tapjoy,只需将其添加到您的Podfile中即可:

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

    use_frameworks!

    target 'MyApp' do
        pod 'TapjoySDK'
    end

通过 Cocoapods 集成时,我们提供静态或动态框架选项。默认为静态。您可以将以下内容添加到 podfile 以选择动态框架:

pod 'TapjoySDK/Dynamic'

B. Swift Package Manager

在SDK 13.4.0中,我们支持Swift Package Manager.

转到 File > Add Packages Dependancies. 在右上角的搜索栏中输入https://github.com/Tapjoy/swift-packages.git 并选择 Add Package.

2. 请求App Tracking Transparency authorization

如果您的应用中使用了App Tracking Transparency, 为了在应用中展示请求授权对话框,您需要在您的Info.plist中添加 NSUserTrackingUsageDescription key并且添加描述请求使用IDFA的消息。

示例:

<key>NSUserTrackingUsageDescription</key>
<string>This allows us to deliver personalized ads for you.</string>

image_title

配置的消息将会出现在App Tracking Transparency权限请求对话框中, 如下所示:

image_title

添加 AppTrackingTransparency 框架到您的工程中, 并且调用requestTrackingAuthorizationWithCompletionHandler: 来展示权限请求对话框。通常我们推荐等到requestTrackingAuthorization回调之后再连接Tapjoy,这样可以保证我们可以正确使用IDFA。

Objective-C
Swift
#import <AppTrackingTransparency/AppTrackingTransparency.h>
...
- (void)fetchTrackingAuthorization {
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    // Call Tapjoy's connect function here.
  }];
}

3. Connect to Tapjoy

下一步是将Tapjoy connect代码添加到您的应用中。 这是在您应用中使用Tapjoy SDK的关键步骤。

Tapjoy connect 调用非常重要,如果实现不正确,Tapjoy的任何产品和功能都将不能使用。

为了实现Tapjoy connect 调用,您需要您要集成应用的Tapjoy SDK Key. 在您应用的Tapjoy 控制面板中,点击顶部导航栏的“设置”-“应用设置”,您可以在页面底部找到SDK key。

在您的应用的delegate文件didFinishLaunchingWithOptions: method中添加以下代码::

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

    //Turn on Tapjoy debug mode
    [Tapjoy setDebugEnabled:YES]; //Only enable debug mode for development. Disable it before publishing your app.

    //If you are using Self-Managed currency, you need to set a user ID using the connect flags.
    NSDictionary *connectFlags = @{TJC_OPTION_USER_ID : @"<USER_ID_HERE>"};
    [Tapjoy connect:@"SDK_KEY_GOES_HERE" options:connectFlags];
    
    //If you are not using connect flags, you can omit them
    [Tapjoy connect:@"SDK_KEY_GOES_HERE"];

    return YES;
}

“setDebugEnabled”方法应在connect调用之前定义。我们建议通过连接标志设置用户 ID。这样可以保证AppLaunch位置在调用时检索正确的用户ID。

我们SDK参考文档:Obective CC++

4. Connect Notifications

要在Tapjoy完成连接、连接时出现警告或连接失败时收到通知,您需要实现以下方法。 当连接期间出现非阻塞问题时,connectWarning回调将触发(并且connectSuccess也会在之后触发)。 目前,此功能仅检测在 ConnectFlags设置UserId的问题。

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

- (void)tjcConnectFail:(NSNotification *)notifyObj 
{
    NSLog(@"Tapjoy connect failed");
}

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

现在可以编译并运行您的应用。如果Connect成功,可以看到以下Log:

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

恭喜!Tapjoy SDK已经可以和您的应用正常工作。

Max User Level

您可以通知Tapjoy在您的应用中一共有多少级。您可以调用如下API。在connect前后都可以调用。

Objective-C
Swift
[Tapjoy setMaxLevel:10]; 

User Segment

您可以在通过调用setUserSegment来指定用户在某个群组。在connect前后都可以调用。

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