集成的第一步是下载SDK,点击这里下载.
Tapjoy Unity Plugin zip包含了用于简便导入的Unity包文件,以及为那些想要通过自己拖放文件来更新集成的用户所准备的源文件。如果想要导入TapjoyUnityPlugin_vVERSION.unitypackage
您需要:
从12.8.0版本开始Tapjoy SD 由External Dependency Manager(EDM)通过Cocoapods管理。请确保您的Cocoapods版本为1.9.0或更高,而Xcode版本为11.0或更高。
如果您在更新您的集成并使用Unity5.4或更高版本,您可以看见“Fix”按钮帮助您修复Google Play Services库被包含在iOS构建中这一错误。
请点击“Fix”按钮来确保Google Play Services库仅被包含在Android构建中。对于Unity5.4之前的版本,您需要手动确认google-play-services_lib仅被包含在Android构建中。
ACCESS_WIFI_STATE
permission可以作为可选添加到您的manifest:
<manifest ...>
...
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
...
</manifest>
您可以使用Tapjoy窗口来设置基本配置。 点击Window > Tapjoy
打开Tapjoy窗口。
要使Tapjoy SDK工作,需要一个附有TapjoyComponent的TapjoyUnity的GameObject,在编辑窗口中,你可以看到一个“Fix”按钮,它会自动帮你添加和设置这个GameObject。请把Tapjoy GameObject添加到你应用的第一个scene中。
恭喜!您已经成功集成Tapjoy SDK!
您可以通知Tapjoy在您的应用中一共有多少级。您可以调用如下API。在connect前后都可以调用。
Tapjoy.SetMaxLevel(10);
您可以在通过调用setUserSegment
来指定用户在某个群组。在connect前后都可以调用。
Tapjoy.SetUserSegment(TJSegment.VIP);
Tapjoy.SetUserSegment(TJSegment.Payer);
Tapjoy.SetUserSegment(TJSegment.NonPayer);
Tapjoy.SetUserSegment(TJSegment.Unknown);
Unity SDK允许您通过代码控制连接步骤。 默认情况下,SDK将为您处理连接。 要使用手动控制,请首先在Tapjoy设置窗口(“window”>“ Tapjoy”)中取消选中“Auto-Connect”选项。
取消选中该选项后,SDK将不再为您自动处理连接。 您将需要使用代码来处理连接,这种行为和Native SDK一样。
当您的应用程序首次启动时,您必须调用Connect
以使SDK连接到Tapjoy服务器。 连接功能有两个版本。 Connect的第一种形式是将SDK密钥作为字符串。 如果您的应用程序是多平台的,则需要为每个平台提供正确的SDK密钥。
#if UNITY_ANDROID
Tapjoy.Connect("your_android_sdk_key");
#elif UNITY_IOS
Tapjoy.Connect("your_ios_sdk_key");
#endif
Connect的另一个版本采用第二个参数,即字符串/字符串的字典数据类型。 该字典类型就是您的connectFlags,它们的行为与Native SDK中的相同。
Dictionary<string,object> connectFlags = new Dictionary<string,object>();
Tapjoy.Connect("sdk_key", connectFlags);
Dictionary<string,string> connectFlags = new Dictionary<string,string>();
connectFlags.Add("TJC_OPTION_USER_ID", "<USER_ID_HERE>");
#if UNITY_ANDROID
Tapjoy.Connect("your_android_sdk_key", connectFlags);
#elif UNITY_IOS
Tapjoy.Connect("your_ios_sdk_key", connectFlags);
#endif
您必须先完成SDK连接,然后才能对SDK执行其他操作(例如加载广告)。 连接事件触发了两个事件委托-OnConnectSuccess和OnConnectFailure。 您应该声明委托函数以侦听连接事件。 一旦触发了onConnectSuccess,就可以开始使用其他SDK函数。
如果SDK无法连接,则可以通过不带任何参数调用Connect()重新尝试连接。 这将使SDK使用上次尝试与其连接的SDK密钥重试其连接。
现在您的SDK已经运行起来了,那么下面我们看看代码还需要哪些工作。在使用Tapjoy SDK请求广告或者发送跟踪数据之前,我们还需要确保应用能够正确连接到我们的服务器上。SDK提供了一个delegate功能OnConnectSuccess,它在SDK成功连接Tapjoy之后被调用。你需要等到成功连接之后再去尝试其他的功能,诸如请求广告和跟踪数据。
Tapjoy.OnConnectSuccess += HandleConnectSuccess;
...
public void HandleConnectSuccess() {
Debug.Log ("Connect Success");
// Now that we are connected we can start preloading our placements
TJPlacement p = TJPlacement.CreatePlacement("my_placement");
p.RequestContent();
}
Tapjoy.OnConnectWarning += HandleConnectWarning;
...
void HandleConnectWarning(int code, string message)
{
}
Tapjoy.OnConnectFailed += HandleConnectFailed
...
public void HandleConnectFailed(int code, string message){
}
您可以通过查询Tapjoy.isConnected来检查SDK的连接状态