Перейти к содержанию

Начало работы с бонусами🔗

Import

Содержится в модуле MRGService, для использования добавьте данный модуль в проект, а в нужном месте импортируйте заголовочный файл.

Интеграция бонусов в ваше приложении состоит всего в нескольких шагах:

Шаг 1. Установить делегат🔗

При старте SDK MRGS необходимо передать в метод инициализации объект, реализующий протокол MRGSServerDataDelegate. В этом же месте необходимо реализовать методы этого делегата:

public class MasterController : MonoBehaviour, IMRGSServerDataDelegate
{
    void Awake()
    {
        // Set basic MRGS parameters
        // ...
        // Call the initialization method, pass the delegate as the last parameter
        MRGService.Instance.Initialize(serviceParams, sdkParams, this);
    }
    public void OnServerDataLoaded(string jsonString)
    {
        // Handle the server response.
        Debug.Log("Received server data: " + jsonString);
    }
}
@interface YourAppDelegate (MRGS) <MRGSServerDataDelegate>
@end
@implementation YourAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    // Set basic MRGS parameters
    // ...
    // Call the initialization method, passing the delegate as the third parameter
    [MRGService startWithServiceParams:mrgsParams
                    externalSDKParams:@[myTrackerParams]
                    delegate:self];
}

#pragma mark - MRGSServerDataDelegate
- (void)loadServerDataDidFinished:(NSDictionary *)serverData {
    // Handle the server response.
    NSLog(@"%@ %@", NSStringFromSelector(_cmd), serverData);
}
public class YourApplicationClass extends Application implements MRGSServerDataDelegate
{
    @Override
    public void onCreate()
    {
        super.onCreate();
        // Set basic MRGS parameters
        //...
        // Call the initialization method, pass the delegate as the last parameter
        MRGService.service(context, settings, externalSdk, this);
    }

    @Override
    public void loadServerDataDidFinished(MRGSMap serverData) {
        // Handle the server response.
    }
}

Шаг 2. Получить данные🔗

Для запроса последних данных с сервера воспользуйтесь методом:

MRGService.Instance.LoadServerData();
[[MRGSServerData sharedInstance] loadData];
MRGSServerData.getInstance().loadData();

Автоматический запрос

Кроме того, данные ServerData будут запрошены и загружены автоматически при Авторизации пользователя.

Словарь serverData имеет вид:

"Bonuses" : {
    "2149879" : {
        "code" : "money",
        "id" : "2149879",
        "object_id" : "1",
        "cnt" : "200"
    }
},
"Payments" : [
    {
        "id" : "13745540",
        "atime" : "1531227425",
        "userId" : "1234",
        "transactionIdentifier" : "ru.akeb.framework.testConsumable",
        "transactionId" : "1000000416060976"
    }
],
"serverTime" : 1534328981,
"MinAppVersion" : "1.0.0"
}

Отсюда можно получить выданные бонусы, серверное время, и незавершенные платежи.

Шаг 3. Выдать бонус пользователю🔗

Если Вы выдаете бонусы на клиенте, то после выдачи необходимо уведомить об этом сервер MRGS, для этого воспользуйтесь методом:

string givenBonusId = "2149879";
MRGService.Instance.ConfirmBonus(givenBonusId);
NSString* givenBonusId = @"2149879";
[[MRGSServerData sharedInstance] bonusInformer:givenBonusId];
String givenBonusId = "2149879";
MRGSServerData.getInstance().bonusInformer(givenBonusId);

В случае, если бонусы выдает Ваш сервер, то необходимо уведомить сервер MRGS о выдаче бонуса через server API


Последнее обновление: 2023-09-27
Дата создания: 2020-02-05