SDK集成的第一步是下载iOS SDK。
在下载并解压 Tapjoy SDK 之后,您应该可以看到以下文件夹和文件:
“TapjoyEasyApp”目录包含一个示例程序 sample projects ,它可以作为Tapjoy集成的一个参考。但要主意您无需把它集成到您的应用中去。
添加SDK到您的项目,在 Xcode 中右键单击项目浏览器内的项目图标,然后选择"Libraries"文件夹中Tapjoy.embeddedframework
。请勾选‘copy items if needed’,然后点击‘Add’按钮添加到您的项目中
然后,在build settings中找到Other Linker Flags (OTHER_LDFLAGS)
添加-ObjC
.
接下来,您需要确保已在您的应用程序项目中添加了所需的框架。要这样做,请转到项目设置,选择“Build Phases”,展开“Link Binary With Libraries”,点击左下方“+”选择。
添加以下框架:
注意: 如果您正在使用12.8.0以前的版本,您还需要添加如下框架:
如果您正在使用12.8.0及以上版本,当前步骤不是必须的。
如果您使用Swift,您需要创建一个bridging头文件
#import "Tapjoy/Tapjoy.h
到都文件中.如果您的应用中使用了App Tracking Transparency, 为了在应用中展示请求授权对话框,您需要在您的Info.plist中添加 NSUserTrackingUsageDescription
key并且添加描述请求使用IDFA的消息。
示例:
<key>NSUserTrackingUsageDescription</key>
<string>This allows us to deliver personalized ads for you.</string>
配置的消息将会出现在App Tracking Transparency权限请求对话框中, 如下所示:
添加 AppTrackingTransparency
框架到您的工程中, 并且调用requestTrackingAuthorizationWithCompletionHandler:
来展示权限请求对话框。通常我们推荐等到requestTrackingAuthorization
回调之后再连接Tapjoy,这样可以保证我们可以正确使用IDFA。
#import <AppTrackingTransparency/AppTrackingTransparency.h>
...
- (void)fetchTrackingAuthorization {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// Call Tapjoy's connect function here.
}];
}
下一步是将Tapjoy connect代码添加到您的应用中。 这是在您应用中使用Tapjoy SDK的关键步骤。
Tapjoy connect 调用非常重要,如果实现不正确,Tapjoy的任何产品和功能都将不能使用。
为了实现Tapjoy connect 调用,您需要您要集成应用的Tapjoy SDK Key. 在您应用的Tapjoy 控制面板中,点击顶部导航栏的“设置”-“应用设置”,您可以在页面底部找到SDK key。
在您的应用的delegate文件didFinishLaunchingWithOptions: method中添加以下代码::
- (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 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;
}
用您的SDK Key替换"Your-SDK-Key-iOS-from-the-dashboard-here"。
“setDebugEnabled”方法应在connect调用之前定义。我们建议通过连接标志设置用户 ID。这样可以保证AppLaunch位置在调用时检索正确的用户ID。
我们SDK参考文档:Obective C 和 C++。
要在Tapjoy完成连接、连接时出现警告或连接失败时收到通知,您需要实现以下方法。 当连接期间出现非阻塞问题时,connectWarning
回调将触发(并且connectSuccess
也会在之后触发)。 目前,此功能仅检测在 ConnectFlags设置UserId的问题。
- (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 控制面板中,在顶部导航栏里点击“分析” ,然后在左侧导航栏里点击“实时分析”,您可以在看到您应用的实时数据。
恭喜!Tapjoy SDK已经可以和您的应用正常工作。