> For the complete documentation index, see [llms.txt](https://help.smartico.ai/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.smartico.ai/welcome/technical-guides/front-end-integration/extended-integration.md).

# Extended integration

When the basic [Front-end integration](/welcome/technical-guides/front-end-integration.md) works, you can use more calls of the Smartico script: report what the player does, read the player's profile, control when messages appear, protect player identification, and record the widget in your session replays. This page lists the essentials. Each topic has its own page with all details and code samples.

| Page                                                                                                                                                                     | What it covers                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Events and actions](/welcome/technical-guides/front-end-integration/extended-integration/events-and-actions.md)                                                         | Session events (online, offline, login, logout), login entry point, custom actions, deep links in the URL, JS markers, custom events, UTM fields |
| [Player profile and gamification UI](/welcome/technical-guides/front-end-integration/extended-integration/player-profile-and-gamification-ui.md)                         | Public profile properties, control group, avatar, nickname, skin, gamification widgets, Inbox widget, segment check                              |
| [Callbacks and pausing messages](/welcome/technical-guides/front-end-integration/extended-integration/callbacks-and-pausing-messages.md)                                 | Pausing popups, inbox messages, mini-games and forms, script callbacks, listening to the Gamification widget, push permissions                   |
| [Secure identification and special setups](/welcome/technical-guides/front-end-integration/extended-integration/secure-identification-and-special-setups.md)             | Hash protection of the user ID, opening the widget from your back office, iframe setups, testing on localhost                                    |
| [Session replay (FullStory, Amplitude)](https://help.smartico.ai/welcome/technical-guides/front-end-integration/extended-integration/session-replay-fullstory-amplitude) | Recording the Gamification widget in your FullStory or Amplitude session replays                                                                 |

## Reporting data

Report what the player does, so that you can start campaigns, automation rules and missions from it. Report the logout too: call `_smartico.logout()`, or set `window._smartico_user_id` to null. Otherwise Smartico does not report a new login within 30 minutes. All details: [Events and actions](/welcome/technical-guides/front-end-integration/extended-integration/events-and-actions.md).

### **Last login entry point**

Report where the player logged in (lobby, landing page, app and so on) with `_smartico.setLoginEntry('LOBBY')`. Details: [Last login entry point](/welcome/technical-guides/front-end-integration/extended-integration/events-and-actions.md#last-login-entry-point).

### **Custom actions / Client action**

Report a custom action with `_smartico.action('CashierSubmitClicked');` and start a campaign on the **Core: client action** event. Details: [Custom actions / Client action](/welcome/technical-guides/front-end-integration/extended-integration/events-and-actions.md#custom-actions-client-action).

## Gamification context

Read the player's level, points and unread messages in the `props_change` callback, open the Gamification and Inbox widgets, and change the avatar, nickname or skin. All details: [Player profile and gamification UI](/welcome/technical-guides/front-end-integration/extended-integration/player-profile-and-gamification-ui.md).

### Hiding gamification for the control group

Players in the gamification control group do not see gamification. Use the `ach_gamification_in_control_group` property to hide your entry point to the Gamification widget. Details: [Hiding gamification for the control group](/welcome/technical-guides/front-end-integration/extended-integration/player-profile-and-gamification-ui.md#hiding-gamification-for-the-control-group).

### Inbox widget

Open the Inbox widget with `_smartico.dp('dp:inbox')` and show the unread count from `core_inbox_unread_count`. Details: [Inbox widget](/welcome/technical-guides/front-end-integration/extended-integration/player-profile-and-gamification-ui.md#inbox-widget).

## **Other topics**

### **Suspending online creatives**

Pause popups, inbox messages, mini-games and forms on pages where the player must not be interrupted, for example `_smartico.suspendPopups(true)` on the Deposit page. Details: [Suspending online creatives](/welcome/technical-guides/front-end-integration/extended-integration/callbacks-and-pausing-messages.md#suspending-online-creatives).

### **Smartico callbacks**

Subscribe to script callbacks with `_smartico.on(...)` and unsubscribe with `_smartico.off(...)`. Details: [Smartico callbacks](/welcome/technical-guides/front-end-integration/extended-integration/callbacks-and-pausing-messages.md#smartico-callbacks).

### Protecting user identification on the public front-end

If your user IDs are easy to guess, build a hash on your server from the user ID, the secret salt key and a validity timestamp, and pass it in `window._smartico_user_hash`. Details: [Protecting user identification on the public front-end](/welcome/technical-guides/front-end-integration/extended-integration/secure-identification-and-special-setups.md#protecting-user-identification-on-the-public-front-end).

### Requesting push permissions

Show the browser's push permission dialog with `_smartico.dp("dp:ask_push_permissions")`. Details: [Requesting push permissions](/welcome/technical-guides/front-end-integration/extended-integration/callbacks-and-pausing-messages.md#requesting-push-permissions).

### Session replay (FullStory, Amplitude)

If you record your site with FullStory or Amplitude, add `analytics_bridge` to your `_smartico.init` call, and the Gamification widget is recorded in the same session instead of an empty box. Details: [Session replay (FullStory, Amplitude)](https://help.smartico.ai/welcome/technical-guides/front-end-integration/extended-integration/session-replay-fullstory-amplitude).

### Debug/develop on the localhost

By default, the Smartico script does not work on localhost. Details: [Debug/develop on the localhost](/welcome/technical-guides/front-end-integration/extended-integration/secure-identification-and-special-setups.md#debug-develop-on-the-localhost).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.smartico.ai/welcome/technical-guides/front-end-integration/extended-integration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
