# Games You Play Implementation Guide

## Briefing

By the end of this implementation guide, users on your platform will be able to create and join Games You Play (GYP) matchups for real money or rewards, increasing engagement in your ecosystem.

There are many ways to integrate the GYP Lucra Product, this guide focuses on leaning on the client side Lucra SDK to standup the UI. If you're looking for other approaches, see the [SDKs & APIs](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis) section

### Prerequisites

* Your Lucra account has been setup with Games tied to your account and has predefined Games to display on the Lucra landing page

{% hint style="info" %}
This can be done through the Lucra Console or ask your Lucra representative for assistance
{% endhint %}

* Obtain Lucra Keys for your application, two `apiKey` values, one for `sandbox` environment and another for `production` environment.

{% content-ref url="../readme/whats-included/lucra-api-keys" %}
[lucra-api-keys](https://docs.lucrasports.com/lucra-sdk/readme/whats-included/lucra-api-keys)
{% endcontent-ref %}

## Step by step guide

{% stepper %}
{% step %}

### Install & Initialize the SDK

Set up the SDK and confirm initialization is successful.

#### Install

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.0.0\_project\_setup" %}
[1.0.0\_project\_setup](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.0.0_project_setup)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.0\_project\_setup" %}
[1.0\_project\_setup](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.0_project_setup)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.0.0\_project\_setup" %}
[1.0.0\_project\_setup](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.0.0_project_setup)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.0.0\_project\_setup" %}
[1.0.0\_project\_setup](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.0.0_project_setup)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

#### Initialize the SDK

With the provided `apiKey` you can now initialize the LucraClient SDK on your platform

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.0\_initialize\_client" %}
[1.2.0\_initialize\_client](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.0_initialize_client)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.2\_initialize\_client" %}
[1.2\_initialize\_client](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.2_initialize_client)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.0\_initialize\_client" %}
[1.2.0\_initialize\_client](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.0_initialize_client)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.2.0\_initialize\_client" %}
[1.2.0\_initialize\_client](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.2.0_initialize_client)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Apply brand theming

Provide brand colors and images to make the Lucra experience as familiar as your own

{% content-ref url="../readme/whats-included/branding-and-theming" %}
[branding-and-theming](https://docs.lucrasports.com/lucra-sdk/readme/whats-included/branding-and-theming)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Configure your user

{% hint style="info" %}
This is an optional but **recommended** step.&#x20;
{% endhint %}

When a user logs into Lucra for the first time, they are given a randomly generated name and will have no other identifying properties beyond the phone number they used to two-factor-authenticate into the experience.&#x20;

{% hint style="success" %}
If a user has previously logged into Lucra under a separate product using the same phone number, their information will be merged and can be automatically verified if their account is still in good standing.
{% endhint %}

Upon attempting to create or join a matchup, or deposit money, they will be prompted for identifying information such as age and location so that we can verify they are compliant to proceed.

Supplying the information you have for the current user through the Lucra SDK can streamline the experience for a number of reasons:<br>

* Pre fill user information such as name, city, state, zip, address and email
* Pre fill and **lock** the phone number used to login
* Predefine their username so that the Lucra account is familiar to your platform's account
* Supply arbitrary metadata to Lucra users

{% hint style="warning" %}
To avoid compliance issues, we recommend sending identifying information that is accurate and up to date.
{% endhint %}

Find your client configure user SDK docs here

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.9\_headless\_interactions" %}
[1.2.9\_headless\_interactions](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.9_headless_interactions)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.8\_updating\_users" %}
[1.8\_updating\_users](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.8_updating_users)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.9\_headless\_interactions" %}
[1.2.9\_headless\_interactions](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.9_headless_interactions)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.2.9\_headless\_interactions" %}
[1.2.9\_headless\_interactions](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.2.9_headless_interactions)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

{% endstep %}

{% step %}

### Setup Free to Play support

{% hint style="info" %}
This is an optional step, the Lucra SDK will not show reward options for matchup creation if not provided
{% endhint %}

The Lucra SDK offers the ability to provide Free to Play rewards to users who aren't interested in putting real money on the line. Rewards are entities defined and provided by you, at runtime. These rewards will show up as available items to select to put on the line instead of real money.

Learn more here:

{% content-ref url="free-to-play" %}
[free-to-play](https://docs.lucrasports.com/lucra-sdk/games-you-play-gyp/free-to-play)
{% endcontent-ref %}

Find your client platform Free To Play technical docs here

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.6\_free\_to\_play\_support" %}
[1.2.6\_free\_to\_play\_support](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.6_free_to_play_support)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.9\_rewards" %}
[1.9\_rewards](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.9_rewards)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.6\_free\_to\_play\_support" %}
[1.2.6\_free\_to\_play\_support](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.6_free_to_play_support)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.2.6\_free\_to\_play\_support" %}
[1.2.6\_free\_to\_play\_support](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.2.6_free_to_play_support)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

Find your API and Webhook Free To Play technical docs here

{% tabs %}
{% tab title="API Reference" %}
{% content-ref url="../sdks-and-apis/api-reference/5.0\_free\_to\_play\_rest\_api" %}
[5.0\_free\_to\_play\_rest\_api](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/5.0_free_to_play_rest_api)
{% endcontent-ref %}
{% endtab %}

{% tab title="Webhooks" %}
{% content-ref url="../sdks-and-apis/api-reference/5.1\_free\_to\_play\_webhooks" %}
[5.1\_free\_to\_play\_webhooks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/5.1_free_to_play_webhooks)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

{% hint style="info" %}
Backend integration is not required for Free to Play support, but it can help with end to end user reward experiences
{% endhint %}

{% endstep %}

{% step %}

### Setup Convert to Credit support

{% hint style="info" %}
This is an optional step, the Lucra SDK will not show Convert to Credit options if not provided
{% endhint %}

Convert to credit functionality allows users to convert their real money earnings into a defined currency of your choosing. An example would be converting $10 for 120 tokens within your ecosystem.&#x20;

Learn more here:

{% content-ref url="../convert-to-credit" %}
[convert-to-credit](https://docs.lucrasports.com/lucra-sdk/convert-to-credit)
{% endcontent-ref %}

Find your platform technical convert to credit docs here:

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.5\_convert\_to\_credit" %}
[1.2.5\_convert\_to\_credit](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.5_convert_to_credit)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.7\_convert\_to\_credit" %}
[1.7\_convert\_to\_credit](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.7_convert_to_credit)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.5\_convert\_to\_credit" %}
[1.2.5\_convert\_to\_credit](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.5_convert_to_credit)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.2.5\_convert\_to\_credit" %}
[1.2.5\_convert\_to\_credit](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.2.5_convert_to_credit)
{% endcontent-ref %}
{% endtab %}

{% tab title="Server to Server" %}
{% content-ref url="../sdks-and-apis/api-reference/6.0\_convert\_to\_credit\_webhooks" %}
[6.0\_convert\_to\_credit\_webhooks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/6.0_convert_to_credit_webhooks)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Successful [server to server integration](https://docs.lucrasports.com/lucra-sdk/games-you-play-gyp/gyp-sdks) is required for a successful convert to credit implementation
{% endhint %}
{% endstep %}

{% step %}

### Enable Apple Pay, Paypal, Venmo for payments

{% hint style="info" %}
This is an optional step, a default payment processor comes out of the box.
{% endhint %}

{% hint style="info" %}
If Apple Pay enablement is desired for iOS, ReactNative and Javascript, please reach out to Lucra for further assistance
{% endhint %}

Read more here

{% content-ref url="../readme/whats-included/payments" %}
[payments](https://docs.lucrasports.com/lucra-sdk/readme/whats-included/payments)
{% endcontent-ref %}

Find your platform technical payment docs here

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.4\_payments" %}
[1.2.4\_payments](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.4_payments)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% hint style="info" %}
Web based Apple Pay requires assistance from the Lucra team, please reach out for more information
{% endhint %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.4\_payments" %}
[1.2.4\_payments](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.4_payments)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.2.4\_payments" %}
[1.2.4\_payments](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.2.4_payments)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

{% endstep %}

{% step %}

### Implement Deeplink support

A key function of the Games You Play implementation is the ability for matchup creators to send matchup links to invite participants and allowing participants to open the link to join the fun.

This is a simple two step process of providing Lucra with a link that is recognized in *your platform ecosystem,* and forwarding the embedded Lucra details to the Lucra SDK to navigate invited users to the correct location at runtime.&#x20;

{% hint style="warning" %}
If a deeplink is not provided to the Lucra SDK, the creation of a matchup will not allow the creator to proceed in the experience.
{% endhint %}

#### Generating Lucra Deeplinks

When a GYP matchup is created, the Lucra SDK will request a deeplink URL to be generated given a `matchupId` , it is your responsibility to take that `matchupId` and embed it in a link that is recognized by your platform.&#x20;

An example of a returned deeplink could look something like this `https://www.app.com/matchupId?={matchupId}` or `app://matchupId?={matchupId}` &#x20;

{% hint style="warning" %}
Ensure the deeplink URL is correctly recognized by your platform; otherwise, the links won't open your platform or direct an invitee to the Lucra GYP matchup.
{% endhint %}

#### Handle incoming Lucra Deeplinks

At this point, the link will be shared to participants who expect to be navigated to your platform (website or mobile app) and see the matchup to join on their own.

Continuing the example links above, `https://www.app.com/matchupId?={matchupId}` or `app://matchupId?={matchupId}` , you will simply extract the `matchupId` value and provide it to the Lucra SDK to open and navigate the user to the details of the matchup.&#x20;

Find your platform technical deeplink docs here

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.2\_deeplinks" %}
[1.2.2\_deeplinks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.2_deeplinks)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.4\_deeplinks" %}
[1.4\_deeplinks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.4_deeplinks)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.2\_deeplinks" %}
[1.2.2\_deeplinks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.2_deeplinks)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.2\_deeplinks" %}
[1.2.2\_deeplinks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.2_deeplinks)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Launch the Create a Game Lucra experience

At this point, the Lucra SDK is ready get your users involved in GYP matchups. Lucra will handle user authentication, user identification, and any compliance forms required for real money actions.&#x20;

That said, this requires intentional action by your platform to launch the Create A Game experience, both for creating and joining matchups.&#x20;

#### Creating a matchup

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/2.1\_gyp\_flows" %}
[2.1\_gyp\_flows](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/2.1_gyp_flows)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.3\_lucraflows" %}
[1.3\_lucraflows](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.3_lucraflows)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/2.1\_gyp\_flows" %}
[2.1\_gyp\_flows](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/2.1_gyp_flows)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/2.1\_gyp\_flows" %}
[2.1\_gyp\_flows](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/2.1_gyp_flows)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

#### Joining a matchup

This step is handled by a successful implementation of the [Handling Incoming Lucra Deeplinks](#handle-incoming-lucra-deeplinks) step above.

{% endstep %}

{% step %}

### Listen for key events

Depending on your integration, you might need to know when users take certain actions. This can be for many reasons, including, but not limited to, the following:

* Know when a user creates a matchup
* Know when a user decides to join a matchup
* Know when a matchup has been started to navigate them away from the Lucra SDK
* Know the outcome of a matchup

The Lucra SDKs, APIs and Webhooks allow you to be in tune with much of the user's and matchup's lifecycle.

#### Client SDKs&#x20;

Setup client side event listeners with the technical docs here

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/2.2\_gyp\_events" %}
[2.2\_gyp\_events](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/2.2_gyp_events)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/1.6\_lucra\_event\_listener" %}
[1.6\_lucra\_event\_listener](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/1.6_lucra_event_listener)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/2.2\_gyp\_events" %}
[2.2\_gyp\_events](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/2.2_gyp_events)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/2.2\_gyp\_events" %}
[2.2\_gyp\_events](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/2.2_gyp_events)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

#### Server Webhooks

Setup your backend to receive webhooks here

{% content-ref url="../sdks-and-apis/api-reference/4.1\_gyp\_webhooks" %}
[4.1\_gyp\_webhooks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/4.1_gyp_webhooks)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Setup remote matchup settlement

{% hint style="info" %}
This is an optional step, the out-of-the-box experience is such that, the creator decides the outcome of the GYP matchup, for both real money payouts and Free to Play rewards.
{% endhint %}

Given the nature of your platform, it may not be desirable to let the creator of matchups decide the outcome, this is where our GYP APIs come into play. If you're in full control of the game and know the outcome, you can settle matchups remotely.

The GYP REST API allows you to submit outcomes remotely.

{% content-ref url="../sdks-and-apis/api-reference/4.0\_gyp\_rest\_api" %}
[4.0\_gyp\_rest\_api](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/4.0_gyp_rest_api)
{% endcontent-ref %}

{% hint style="warning" %}
GYP remote settlement API functionality requires you to know the Lucra-owned IDs of the matchup and groups (teams). Use the appropriate GYP APIs and webhooks to keep track of these details and link them to your user so that accurate outcome details can be provided.
{% endhint %}
{% endstep %}

{% step %}

### Test end-to-end

At this point, testing the full integration will likely be on your to-do list. This is where our `sandbox` environment comes in. This environment allows you to simulate a production environment with test users and money transactions that don't impact anyone's bank account.

Read more here

{% content-ref url="../readme/whats-included/implementation-support/testing" %}
[testing](https://docs.lucrasports.com/lucra-sdk/readme/whats-included/implementation-support/testing)
{% endcontent-ref %}

{% hint style="warning" %}
When testing your Lucra SDK and API integration, be sure to use your provided `sandbox` keys for both client side SDKs and API endpoints.&#x20;
{% endhint %}
{% endstep %}
{% endstepper %}

***

## GYP Platform Technical Documentation

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/2.0\_gyp" %}
[2.0\_gyp](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/2.0_gyp)
{% endcontent-ref %}
{% endtab %}

{% tab title="Javascript" %}
{% content-ref url="../sdks-and-apis/client-sdks/javascript-web/0.0\_readme" %}
[0.0\_readme](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/javascript-web/0.0_readme)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/2.0.0\_gyp" %}
[2.0.0\_gyp](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/2.0.0_gyp)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/2.0.0\_gyp" %}
[2.0.0\_gyp](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/2.0.0_gyp)
{% endcontent-ref %}
{% endtab %}

{% tab title="APIs & Webhooks" %}
{% content-ref url="../sdks-and-apis/api-reference/4.0\_gyp\_rest\_api" %}
[4.0\_gyp\_rest\_api](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/4.0_gyp_rest_api)
{% endcontent-ref %}

{% content-ref url="../sdks-and-apis/api-reference/4.1\_gyp\_webhooks" %}
[4.1\_gyp\_webhooks](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference/4.1_gyp_webhooks)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

***

## Mobile Notification Support

{% hint style="warning" %}
Successful mobile notification integration will require Lucra involvement, please reach out to your contact to learn more.
{% endhint %}

{% tabs %}
{% tab title="iOS" %}
{% content-ref url="../sdks-and-apis/client-sdks/ios/1.2.3\_push\_notifications" %}
[1.2.3\_push\_notifications](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/ios/1.2.3_push_notifications)
{% endcontent-ref %}
{% endtab %}

{% tab title="Android" %}
{% content-ref url="../sdks-and-apis/client-sdks/android/1.2.3\_push\_notifications" %}
[1.2.3\_push\_notifications](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/android/1.2.3_push_notifications)
{% endcontent-ref %}
{% endtab %}

{% tab title="React Native" %}
{% content-ref url="../sdks-and-apis/client-sdks/react-native/1.2.3\_push\_notifications" %}
[1.2.3\_push\_notifications](https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/client-sdks/react-native/1.2.3_push_notifications)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

***

## Common troubleshooting

### The Lucra SDK says I'm unauthorized after launching a Flow

Be sure to double check your provided `apiKey`(s) and the environment you're pointing to. Each platform (web, mobile, server) have a respective key *per environment*

### The deeplink doesn't navigate the user to the matchup join page

Double check your [deeplink implementation](#implement-deeplink-support), and verify the links you generate are registered/aligned with your mobile app/website's domain.&#x20;

### Lucra says my account is suspended

Our compliance ruleset will suspend accounts for a number of different reasons due to suspicious activity. If you don't think your account should be suspended, please reach out to Lucra for assistance.

{% hint style="info" %}
Not finding the answers you're looking for? Reach out to your Lucra representative for further assistance
{% endhint %}
