Other methods

There are some other methods in the adjoe SDK which you might find helpful.

name

description

getVersion

Returns the internal version code of the adjoe SDK, for example 70.

getVersionName

Returns the version name of the adjoe SDK, for example 2.1.0.

hasAcceptedTOS

Returns true if the user has accepted the adjoe TOS and false otherwise.

Payout via SDK

The following information on SDK-side reward handling is only relevant for your integration if you cannot use Server-to-Server Payout. Do not implement these functions if you already successfully followed the steps in the Payout section - it could trigger error messages and unexpected behaviour.

If you cannot handle the payout requests via an endpoint on your server, we can also handle the reward payouts inside the SDK itself.

To pay out the rewards that the user has collected from partner apps directly in the SDK, call

Adjoe.doPayout().then((value) {
  print('Paid out $value rewards');
}, onError: (err) {
  print('Error while paying out: $err');
});

This method always pays out all rewards which the user has collected, i.e. the value of rewards['available_for_payout'].‌

If the user has not accepted the adjoe Terms of Service yet, this operation will fail and reason will be equal to 1. You might want to forward to Playtime again so that the user can accept the adjoe Terms of Service. This operation will also fail with reason equal to 0 if the user is blocked by the adjoe services.‌

Adjoe Parameters

You can pass additional UA and placement parameters when you pay out the rewards:

Adjoe.doPayout(params);

Further Context on Rewards

You can get information about the rewards that the user has collected as well as about how many rewards are available for payout and how many the user has already spent.

To do so call

Adjoe.requestRewards().then((rewards) {
  int amount = rewards['reward'];
  int available = rewards['available_for_payout'];
  int spent = rewards['already_spent'];
  print('Received rewards: $amount (= $available + $spent)');
}, onError: (err) {
   print('Failed to request rewards: $err');
});

This operation will fail if the SDK is not initialized, the user has not accepted the adjoe Terms of Service or is blocked by the adjoe services.

Adjoe Parameters

You can pass additional UA and placement parameters when you request the rewards:

Adjoe.requestRewards(params);