手工集成

1. 下载SDK

SDK集成的第一步是下载iOS SDK

2. 添加SDK到您的工程中

在下载并解压 Tapjoy SDK 之后,您应该可以看到以下文件夹和文件:

“TapjoyEasyApp”目录包含一个示例程序 sample projects ,它可以作为Tapjoy集成的一个参考。但要主意您无需把它集成到您的应用中去。

添加SDK到您的项目,在 Xcode 中右键单击项目浏览器内的项目图标,然后选择"Libraries"文件夹中Tapjoy.embeddedframework。请勾选‘copy items if needed’,然后点击‘Add’按钮添加到您的项目中

如果您正在使用12.8.0及以上版本:

  • build settings中找到Other Linker Flags (OTHER_LDFLAGS)

  • 添加-ObjC.

A. 添加所需框架

接下来,您需要确保已在您的应用程序项目中添加了所需的框架。要这样做,请转到项目设置,选择“Build Phases”,展开“Link Binary With Libraries”,点击左下方“+”选择。

添加以下框架:

  • AdSupport
  • CFNetwork
  • CoreTelephony
  • StoreKit
  • SystemConfiguration
  • UIKit
  • WebKit
  • libc++
  • libz
  • PassKit (可以标记为“可选”以与旧版本的iOS兼容)

注意: 如果您正在使用12.8.0以前的版本,您还需要添加如下框架:

  • CoreGraphics
  • Foundation
  • ImageIO.framework
  • MediaPlayer
  • MobileCoreServices
  • QuartzCore
  • Security

B. Swift

如果您正在使用12.8.0及以上版本,当前步骤不是必须的。

如果您使用Swift,您需要创建一个bridging头文件

  1. 创建一个头文件并命名为: "[ProjectName]-Bridging-Header.h"
  2. 添加 #import "Tapjoy/Tapjoy.h 到都文件中.
  3. 到build settings, 找到"bridging header" 并设置文件路径。您也可以直接拖拽到您的工程中。

3. 添加SKAdNetwork

Tapjoy已被注册为Apple的SKAdNetwork的网络合作伙伴。请确保将Tapjoy的网络ID和这里列出的DSP合作伙伴的ID添加到应用的info.plist文件中。我们提供了JSON和XML两种格式:

更多信息请参考这里.

4. 请求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.
  }];
}

5. 连接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];

    //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 would set your own user ID here.
    [Tapjoy setUserID:@"A_UNIQUE_USER_ID"];
    
    //The Tapjoy connect call
    [Tapjoy connect:@"Your-iOS-SDK-Key-from-the-dashboard-goes-here"];

    return YES;
}

用您的SDK Key替换"Your-SDK-Key-iOS-from-the-dashboard-here"。

setDebugEnabled 和 setUserID要定义在connect 调用之前。在connect 之前设置user ID可以保证Applaunch展示位调用时可以返回正确的user ID。对于Push2Earn展示位同样需要这样设置。

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

6. Connect Notifications

为了收到连接成功与否的消息,您还需要添加在您应用的Delegate类中添加如下代码:

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

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

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

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

在Tapjoy 控制面板中,在顶部导航栏里点击“分析” ,然后在左侧导航栏里点击“实时分析”,您可以在看到您应用的实时数据。

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