GS2-AdReward SDK for Game Engine API Reference

Specifications of models and API references for GS2-AdReward SDK for Game Engine

Models

EzPoint

Points earned from ad viewing

Model representing the total number of points earned by the player through ad viewing. Each time a player views an ad, they earn points, which can be used to exchange rewards or purchase in-game benefits.

Type Condition Required Default Value Limits Description
point long 0 0 ~ 9223372036854775805 Current point balance
Indicates the number of points held by the user.
This value increases as the user views ads and decreases as they exchange rewards and benefits.

Methods

getPoint

Get current point value earned from ad viewing

Retrieves the number of points the player has earned by watching rewarded ads (AdMob, Unity Ads, AppLovin MAX, etc.). Use this to display the player’s current point balance on the UI or to check if enough points are available before spending them. If no point record exists yet, a record with 0 points is automatically created and returned.

Request

Type Condition Required Default Value Limits Description
namespaceName string
✓
~ 128 chars Namespace name
Unique Namespace name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
gameSession GameSession
✓
GameSession

Result

Type Description
item EzPoint Points earned from ad viewing

Implementation Example

    var domain = gs2.AdReward.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Point(
    );
    var item = await domain.ModelAsync();
    var domain = gs2.AdReward.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Point(
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->AdReward->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->Point(
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
var domain = ez.ad_reward.namespace_(
        "namespace-0001"
    ).me(game_session).point(
    )

var async_result = await domain.model()
if async_result.error != null:
    push_error(str(async_result.error))
    return

var result = async_result.result
Value change event handling
    var domain = gs2.AdReward.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Point(
    );
    
    // Start event handling
    var callbackId = domain.Subscribe(
        value => {
            // Called when the value changes
            // The "value" is passed the value after the change.
        }
    );

    // Stop event handling
    domain.Unsubscribe(callbackId);
    var domain = gs2.AdReward.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Point(
    );
    
    // Start event handling
    var callbackId = domain.Subscribe(
        value => {
            // Called when the value changes
            // The "value" is passed the value after the change.
        }
    );

    // Stop event handling
    domain.Unsubscribe(callbackId);
    const auto Domain = Gs2->AdReward->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->Point(
    );
    
    // Start event handling
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::AdReward::Model::FPoint> value) {
            // Called when the value changes
            // The "value" is passed the value after the change.
        }
    );

    // Stop event handling
    Domain->Unsubscribe(CallbackId);
var domain = ez.ad_reward.namespace_(
        "namespace-0001"
    ).me(game_session).point(
    )

# Start event handling
var callback_id = domain.subscribe_model(func(value):
    # Called when the value changes
    # The value after the change is passed to "value".
    pass
)

# Stop event handling
domain.unsubscribe_model(callback_id)

Event Handlers

OnChangePointNotification

Push notification when points change due to ad viewing

Name Type Description
namespaceName string Namespace name
Unique Namespace name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string User ID

Implementation Example

    gs2.AdReward.OnChangePointNotification += notification =>
    {
        var namespaceName = notification.NamespaceName;
        var userId = notification.UserId;
    };
    gs2.AdReward.OnChangePointNotification += notification =>
    {
        var namespaceName = notification.NamespaceName;
        var userId = notification.UserId;
    };
    Gs2->AdReward->OnChangePointNotification().AddLambda([](const auto Notification)
    {
        const auto NamespaceName = Notification->NamespaceNameValue;
        const auto UserId = Notification->UserIdValue;
    });
    ez.ad_reward.change_point_notification.connect(func(notification):
        var namespace_name = notification.namespace_name
        var user_id = notification.user_id
    )