> For the complete documentation index, see [llms.txt](https://docs.mychips.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mychips.io/android/reward-user.md).

# Reward User

#### 1. Fully Managed by MyChips

{% hint style="info" %}
Use this method only if you have selected Self-Managed Currency. If you already support S2S postback please skip this snippet.
{% endhint %}

**1.1 Implements the Interface in your MainActivity**

{% tabs %}
{% tab title="Java" %}

```java
public class MainActivity implements RewardCallback {
  ...
    @Override
    public void OnRewardReceived(RewardDTO rewardDTO) {
         //rewardDTO.GetRewardInVirtualCurrency()
         //HANDLE HERE YOUR CUSTOM LOGIC
    }

    @Override
    public void onError(Exception e) {

    }
...
}
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
class MainActivity : RewardCallback {
   ...
     override fun onRewardReceived(rewardDTO: RewardDTO) {
        // Handle reward received logic here
        //rewardDTO.GetRewardInVirtualCurrency()
    }

    override fun onRewardError(e: Exception) {
        // Handle error here
    }
  ...
}
```

{% endtab %}
{% endtabs %}

#### 1.2 Check for new reward at app open and app resume

{% tabs %}
{% tab title="Java" %}

```java
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
        MCOfferwallSDK.CheckReward("your adunit here",this);
        ...
}

@Override
    protected void onResume() {
        super.onResume();
        MCOfferwallSDK.CheckReward("your adunit here",this);
}

```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    MCOfferwallSDK.CheckReward(adUnitId, this)
}

override fun onResume() {
    super.onResume()
    MCOfferwallSDK.CheckReward(adUnitId, this)
}
```

{% endtab %}
{% endtabs %}

#### 2. Server-to-Server (S2S) Postbacks

If you prefer server-to-server communication, MyChips can send a postback to your server with bonus information. The configuration for postbacks is available in your publisher dashboard. This method is useful for validating and securely rewarding users without client-side manipulation.&#x20;

If you are testing in Sandbox mode, the value of the macro {user\_payout} will be 0.
