SDK

1. 请求展示位置

创建TJPlacement实例并初始化。初始化时请确保您代码中的展示位置名称和控制面板上的完全一致,同时需要实现来处理不同的展示位置响应的回调函数。

TJPlacement p = TJPlacement.CreatePlacement("APP_LAUNCH");

现在您可以请求广告内容

if (Tapjoy.IsConnected()) {
    p.requestContent();
} else {
    Debug.LogWarning("Tapjoy SDK must be connected before you can request content.");
}

注意: 在请求广告之前,Tapjoy connect调用成功。请不要在onConnectSuccess回调之前请求广告

2. 预缓存广告内容

为了最佳用户体验,请在用户观看内容之前提前缓存。比如,如果展示位置是您主菜单的一个按钮,您可能想要在应用开始时,Tapjoy连接成功后请求内容。如果您最后才请求内容,用户有可能要等内容加载一段时间。

3. 回调

为了得到广告请求相关信息,需要实现以下回调函数:

TJPlacement.OnRequestSuccess += HandlePlacementRequestSuccess;
...
public void HandlePlacementRequestSuccess(TJPlacement placement) {
...
}

TJPlacement.OnRequestFailure += HandlePlacementRequestFailure;
...
public void HandlePlacementRequestFailure(TJPlacement placement, string error) {
}
TJPlacement.OnContentReady += HandlePlacementContentReady;
...
public void HandlePlacementContentReady(TJPlacement placement) {
    // This gets called when content is ready to show.
}

TJPlacement.OnContentShow += HandlePlacementContentShow;
...
public void HandlePlacementContentShow(TJPlacement placement) {
...
}
TJPlacement.OnContentDismiss += HandlePlacementContentDismiss;
...
public void HandlePlacementContentDismiss(TJPlacement placement) {
...
}

4. 展示展示位置

展示广告时请调用 p.ShowContent();

在调用*ShowContent()*之前您需要检查广告是否已经就绪:

if (p.IsContentReady()) {
    p.ShowContent();
} else {
    // Code to handle situation where content is not ready goes here
}

注意: 当一个展示位置的广告内容有可能含有视频的时候,您需要将应用的声音调到静音,否则视频的声音和您的应用的声音可能会冲突。

通常来讲,您需要等到HandlePlacementContentReady delegate回调的时候再显示广告。这样,您可以保证广告内容已经下载到设备上,并且您可以无延迟的显示广告。另一个折衷的方案是检查p.IsContentReady(),如果是“true”开始播放,正如上面的例子。

5. 重新请求广告内容

一旦广告成功展示给用户,您需要重新请求广告(比如再次调用p.requestContent)来加载广告,不能直接调用p.showContent再次展示。

对于视频广告,我们推荐在广告开始展示之后立即请求下一个广告。这样下一个广告会在用户观看当前广告时缓存,如果等到广告观看结束再次请求,用户可能无法立即观看 下一个视频。

6. 处理Tapjoy广告Action请求

一些Tapjoy广告类型,比如Reward以及IAP促销,要求您的代码基于广告内容所传递的参数采取行动。比如,Reward广告要求将事物名称(字符串)以及数量(整数)返回给用户。当然获得Reward以后用户具体奖励仍然是由您的应用来决定。下列委托方法只适用于这些特殊的广告类型:

TJPlacement.OnPurchaseRequest += HandleOnPurchaseRequest;
...
public void HandleOnPurchaseRequest(TJPlacement placement, TJActionRequest request, string productId) {

...
}
TJPlacement.OnRewardRequest += HandleOnRewardRequest;
...
public void HandleOnRewardRequest(TJPlacement placement, TJActionRequest request, string itemId, int quantity) {
...
}

请注意onRewardRequest并不是Tapjoy奖励回调,它只用于Reward类型广告。