Cocos: Game development framework

How to setup Smartlook SDK in Cocos application.

Currently the minimal supported Android version is Jelly Bean (API 18), however video is recorded only for API 24+, analytics events and other functionalities are not limited. Currently the minimal supported iOS version is 10.



In Cocos applications, you should use a special build SDK customized for appropriate deployment in games.

  1. Add Smartlook in your app’s build.gradle:
implementation 'com.smartlook.recording:app:1.6.2-cocos'
  1. Add Smartlook Maven repository in your projects build.gradle:
allprojects {
  repositories {
    maven {
      url ""
  1. Setup and start Smartlook in onCreate() of your AppActivity class:
class AppActivity : Cocos2dxActivity() {
    override fun onCreate() {
public class AppActivity extends Cocos2dxActivity {
    public void onCreate() {


To setup Smartlook, the unique project API key is needed. It can be found in the mobile project settings in the Smartlook Dashboard.

  1. Smartlook now starts recording the app. The recordings will appear in the Smartlook player shortly.


SDK will upload sessions only on Wi-Fi. When uploading on mobile connections is requested, it must be enabled in the project settings in the dashboard. More details about the recording process can be found in the Conceptual documentation.


Follow the instructions from the iOS API Documentation.

Using the SDK

SDK's features are described in the respective Android and iOS documentation. However, some features may not be available for Cocos apps. Differences in available functions are described below:

Sensitive data hiding

When using native rendering mode, SDK can record sensitive data in your application. In order to protect user privacy, Smartlook can be configured so that the sensitive data is not recorded.

On the Cocos platform, selectively hiding sensitive parts of the screen is impossible. Current screen capturing must be stopped using NO_RENDERING mode to hide sensitive data.


Navigation events need to be tracked manually, because Cocos applications typically consist of single activity. Manual tracking needs to be implemented so mobile heatmaps work correctly.


Not all rendering modes are available on this platform. Only NO_RENDERING or NATIVE are available.