文档

支持

手动集成

手动添加 SDK 并配置项目以启用 Offerwall 功能,即可将 Tapjoy Offerwall 集成到 iOS 应用中。
阅读时间5 分钟最后更新于 5 天前

下载 SDK

为了与应用集成,第一步是下载 iOS SDK 本身。

将 SDK 添加到您的项目中

解压缩 SDK 后,您将发现有文档、库和 TapjoyEasyApp。 “TapjoyEasyApp”是一个用于演示 Tapjoy 集成方法的示例项目。您将 Tapjoy 集成到自己的应用程序中时并不需要这个示例项目,但可以将它作为有用的参考。 要将文件添加到项目中,请选择“File(文件)”和“Add files to Project(将文件添加到项目中)”。导航到“Libraries”文件夹,然后选择
Tapjoy.xcframework
。确保在对话框中选择“copy items if needed(必要时复制相关项)”,然后单击“Add(添加)”。
然后,导航到构建设置中的
Other Linker Flags (OTHER_LDFLAGS)
并添加
-ObjC
标志。

添加需要的框架

下一步是将需要的框架添加到您的项目中。为此,请单击 Project Navigator(项目导航器)中的项目图标,然后选择“Build Phases(构建阶段)”,展开“Link Binary With Libraries(链接二进制文件与库)”,然后单击该部分左下角的“+”符号。框架按字母顺序列出,可以按住 CMD 键来选择多个框架,从而在一个步骤中添加所有这些框架。 将以下所有框架添加到您的项目中:
  • AdSupport
  • CFNetwork
  • CoreTelephony
  • StoreKit
  • SystemConfiguration
  • UIKit
  • WebKit
  • libc++
  • libz

请求应用追踪透明度授权

如果应用程序需要使用应用追踪透明度框架,为了显示 IDFA 访问权限请求对话框,请更新 Info.plist,在其中包含
NSUserTrackingUsageDescription
键以及自定义消息(描述在应用程序中需要此权限才能使用 IDFA)。
例如:
<key>NSUserTrackingUsageDescription</key><string>This allows us to deliver personalized ads for you.</string>
包含 NSUserTrackingUsageDescription 键的信息属性列表
此用途描述文本随后将显示在应用追踪透明度权限对话框中,如以下屏幕截图所示:
iOS 应用追踪透明度权限对话框
AppTrackingTransparency
框架添加到您的项目中,然后调用
requestTrackingAuthorizationWithCompletionHandler:
来显示授权提示。建议最好在连接到 Tapjoy 之前等待
requestTrackingAuthorization
完成处理程序,以便可以确定在所有请求中都使用了预期的 IDFA 值。
#import <AppTrackingTransparency/AppTrackingTransparency.h> ... - (void)fetchTrackingAuthorization { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { // Call the Offerwall connect function here. }]; }

连接到 Tapjoy

下一步是将 Tapjoy connect 代码添加到您的应用程序中。这段关键代码将在应用程序中“激活”Offerwall SDK。 为了实现 Tapjoy connect 调用,需要为要集成的应用程序提供 Offerwall SDK 密钥。要查找此密钥,请在 Tapjoy 后台中导航到您的应用程序,然后单击顶部导航栏上的“Settings(设置)”按钮。导航到“App Settings(应用设置)”,然后在页面底部找到 SDK 密钥。 现在,将以下代码片段放到应用程序的应用委托文件中的
application:didFinishLaunchingWithOptions
方法内:
- (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 setLoggingLevel:TJLoggerLevelDebug]; //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;}
应在 connect 调用之前定义
setLoggingLevel
方法。建议使用连接标志来设置用户 ID。这样,在调用时,AppLaunch 广告位可以获取到正确的用户 ID。
如需了解更多信息,请查看我们的 SDK 参考:Objective CC++

连接通知

为了在 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];}
现在编译并运行您的应用程序。如果您正确执行了所有操作,控制台日志中的输出将显示为如下所示的类似内容:
2020-01-29 16:01:55.422 Storyteller Roller[25869:1433019] [TJLog level: 4] Connect success with type:0
在 Tapjoy 后台中,如果单击顶部导航栏中的“Analytics(分析)”,然后单击左侧导航栏中的“Real-time(实时)”选项卡,则会在运行应用程序后不久显示应用程序的活动。