SDK
Learn how to request and display Tapjoy ad placements in Flutter using the SDK guide, including recommended initialization and callback handling practices.
Read time 2 minutesLast updated 3 hours ago
Requesting a Placement
Create an instance of TJPlacement and initialize it with your placement name. Be sure the placement name string in your code exactly matches the placement name in the dashboard. You can also implement a delegate to receive callbacks (explained below).Now you can request the content.TJPlacement placement = await TJPlacement.getPlacement();
Before you request content, ensure that the Tapjoy connect call has succeeded. Do not make a request before you have received the onConnectSuccess callback.placement.requestContent();
Pre-caching the content
For the best user experience, request content in advance of when the user might be shown that content. For example, if the placement is a button on your main menu, you might want to request content for it when your application starts, just after the Tapjoy Connect call succeeds. If you wait until the last moment to request content, it is likely the user will have to wait for the content to load, and watch a loading spinner. For ads, this makes the user less likely to interact with the ad, and therefore less likely to make money for you.Callbacks
To get feedback on the status of the content request, implement the following callbacks:TJPlacement placement = await TJPlacement.getPlacement(placementName: 'placementName', onRequestSuccess: (placement) {}, onRequestFailure: (placement, error) {}, onContentReady: (placement) {}, onContentShow: (placement) {}, onContentDismiss: (placement) {} );
Displaying a Placement
To display content, useplacement.showContent();
showContent()
The recommended best practice is to mute your app’s audio before showing content from a placement that might include video, otherwise the audio for the video and your app’s audio might conflict. Often, it is a good idea to wait until theif (await placement.isContentReady()) { placement.showContent(); }
onContentReady
p.isContentReady()
Re-requesting the content
When you successfully display content from a placement to a user, you must request content again (for example, callplacement.requestContent();
placement.showContent();
Setting the Entry Point
You can optionally tell Tapjoy the 'entry point' of each placement. There are a variety of preset values to choose from:Set the entry point after creating your placement object, but before requesting content:TJEntryPoint.entryPointUnknown; TJEntryPoint.entryPointOther TJEntryPoint.entryPointMainMenu TJEntryPoint.entryPointHUD TJEntryPoint.entryPointExit TJEntryPoint.entryPointFail TJEntryPoint.entryPointComplete TJEntryPoint.entryPointInbox TJEntryPoint.entryPointInit TJEntryPoint.entryPointStore
TJPlacement placement = await TJPlacement.getPlacement("myPlacement"); placement.setEntryPoint(TJEntryPoint.entryPointMainMenu); placement.requestContent();