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'
在SDK 13.4.0中,我们支持Swift Package Manager.
转到 File > Add Packages Dependancies. 在右上角的搜索栏中输入https://github.com/Tapjoy/swift-packages.git 并选择 Add Package.
如果您的应用中使用了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];
[[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;
}
我们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 SDK已经可以和您的应用正常工作。
您可以通知Tapjoy在您的应用中一共有多少级。您可以调用如下API。在connect前后都可以调用。
[Tapjoy setMaxLevel:10];
您可以在通过调用setUserSegment
来指定用户在某个群组。在connect前后都可以调用。
[Tapjoy setUserSegment:TJSegmentVIP];
[Tapjoy setUserSegment:TJSegmentPayer];
[Tapjoy setUserSegment:TJSegmentNonPayer];
[Tapjoy setUserSegment:TJSegmentUnknown];