首先, import TJPlacement
:
import Tapjoy, { TJPlacement } from "tapjoy-react-native-sdk";
创建TJPlacement实例并初始化。初始化时请确保您代码中的展示位置名称和控制面板上的完全一致,同时需要实现来处理不同的展示位置响应的回调函数。
let placement = new TJPlacement("Placement Name");
现在您可以请求广告内容
placement.requestContent();
注意: 在请求广告之前,Tapjoy connect调用成功。请不要在onConnectSuccess回调之前请求广告
为了最佳用户体验,请在用户观看内容之前提前缓存。比如,如果展示位置是您主菜单的一个按钮,您可能想要在应用开始时,Tapjoy连接成功后请求内容。如果您最后才请求内容,用户有可能要等内容加载一段时间。
为了得到广告请求相关信息,需要实现以下回调函数:
placement.on(TJPlacement.REQUEST_DID_SUCCEED, (placement: TJPlacement) => { });
placement.on(TJPlacement.REQUEST_DID_FAIL, (placement: TJPlacement) => { });
placement.on(TJPlacement.CONTENT_IS_READY, (placement: TJPlacement) => { });
placement.on(TJPlacement.CONTENT_DID_APPEAR, (placement: TJPlacement) => { });
placement.on(TJPlacement.CONTENT_DID_DISAPPEAR, (placement: TJPlacement) => { });
展示广告时请调用 placement.showContent();
在调用*ShowContent()*之前您需要检查广告是否已经就绪:
if (placement.isContentReady()) {
placement.showContent();
}
注意: 当一个展示位置的广告内容有可能含有视频的时候,您需要将应用的声音调到静音,否则视频的声音和您的应用的声音可能会冲突。
通常来讲,您需要等到CONTENT_IS_READY
回调之后再显示广告。这样,您可以保证广告内容已经下载到设备上,并且您可以无延迟的显示广告。 。另一个折衷的方案是检查placement.isContentReady(),如果是“true”开始播放,正如上面的例子。
一旦广告成功展示给用户,您需要重新请求广告(比如再次调用p.placement.requestContent();)来加载广告,不能直接调用*placement.showContent();*再次展示。
对于视频广告,我们推荐在广告开始展示之后立即请求下一个广告。这样下一个广告会在用户观看当前广告时缓存,如果等到广告观看结束再次请求,用户可能无法立即观看 下一个视频。