Реагирование на действия кнопок в Unity SDK

Если вы создаёте пейволы с помощью Paywall Builder, важно правильно настроить кнопки:

  1. Добавьте кнопку в Paywall Builder и назначьте ей готовое действие или создайте собственный ID действия.
  2. Напишите код в приложении для обработки каждого назначенного действия.

В этом гайде показано, как обрабатывать пользовательские и стандартные действия в коде.

Только покупки и восстановления обрабатываются автоматически. Все остальные действия кнопок — закрытие пейволов, открытие ссылок и т. д. — требуют реализации обработчиков в коде приложения.

Закрытие пейволов

Чтобы добавить кнопку, закрывающую пейвол:

  1. В Paywall Builder добавьте кнопку и назначьте ей действие Close.
  2. В коде приложения реализуйте обработчик действия close, который скрывает пейвол.
public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view, 
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Close:
            view.Dismiss(null);
            break;
        default:
            // handle other events
            break;
    }
}

Открытие URL из пейволов

Если вы хотите добавить группу ссылок (например, пользовательское соглашение и восстановление покупок), добавьте элемент Link в Paywall Builder и обработайте его так же, как кнопки с действием Open URL.

Чтобы добавить кнопку, открывающую ссылку из пейвола (например, Terms of use или Privacy policy):

  1. В Paywall Builder добавьте кнопку, назначьте ей действие Open URL и введите нужный URL.
  2. В коде приложения реализуйте обработчик действия openUrl, который открывает полученный URL в браузере.
public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.OpenUrl:
            var urlString = action.Value;
            if(!string.IsNullOrWhiteSpace(urlString)) {
                Application.OpenURL(urlString);
            }
            break;
        default:
            // handle other events
            break;
    }
}

Вход в приложение

Чтобы добавить кнопку, которая выполняет вход пользователя в приложение:

  1. В Paywall Builder добавьте кнопку и назначьте ей действие Custom с ID login.
  2. В коде приложения реализуйте обработчик пользовательского действия login, который идентифицирует пользователя.
public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Custom:
            if (action.Value == "login") {
                // Navigate to login scene
                SceneManager.LoadScene("LoginScene");
            }
            break;
        default:
            // handle other events
            break;
    }
}

Обработка пользовательских действий

Чтобы добавить кнопку для обработки любых других действий:

  1. В Paywall Builder добавьте кнопку, назначьте ей действие Custom и задайте ID.
  2. В коде приложения реализуйте обработчик созданного ID действия.

Например, если у вас есть другой набор предложений по подпискам или разовых покупок, можно добавить кнопку, которая будет отображать другой пейвол:

public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Custom:
            if (action.Value == "openNewPaywall") {
                // Display another paywall
                ShowAlternativePaywall();
            }
            break;
        default:
            // handle other events
            break;
    }
}

private void ShowAlternativePaywall() {
    // Implement your logic to show alternative paywall
}