GS2-Money2 Master Data Reference

Reference for the master data format and the models to be imported

Master Data Format

{
  "version": "2024-06-20",
  "storeContentModels": [
    {
      "name": "[string]Store Content Model name",
      "metadata": "[string?]Metadata",
      "appleAppStore": {
        "productId": "[string?]Product ID"
      },
      "googlePlay": {
        "productId": "[string?]Product ID"
      }
    }
  ],
  "storeSubscriptionContentModels": [
    {
      "name": "[string]Store Subscription Content Model name",
      "metadata": "[string?]Metadata",
      "scheduleNamespaceId": "[string]Namespace GRN of GS2-Schedule to link the subscription period",
      "triggerName": "[string]Trigger name to reflect the subscription period",
      "triggerExtendMode": "[string enum]Mode to reflect the subscription period on the trigger",
      "rollupHour": "[int]Hour of the day to roll up the subscription period (UTC)",
      "reallocateSpanDays": "[int]Time span (days) that allows subscription contract information to be assigned to other users",
      "appleAppStore": {
        "subscriptionGroupIdentifier": "[string?]Subscription Group ID"
      },
      "googlePlay": {
        "productId": "[string?]Product ID"
      }
    }
  ]
}
TypeConditionRequiredDefaultValue LimitsDescription
versionstring
2024-06-20Format version of master data
storeContentModelsList<StoreContentModel>~ 1000 itemsStore Content Model
This is a model for storing content from various store platforms.
storeSubscriptionContentModelsList<StoreSubscriptionContentModel>~ 1000 itemsStore Subscription Content Model
This is a model for storing subscription-based content from various store platforms.

Model

StoreContentModel

Store Content Model

This is a model for storing content from various store platforms.

TypeConditionRequiredDefaultValue LimitsDescription
storeContentModelIdstring
*
~ 1024 charsStore Content Model GRN
* Set automatically by the server
namestring
~ 128 charsStore Content Model name
metadatastring~ 1024 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
appleAppStoreAppleAppStoreContentApple AppStore Content
The Apple App Store product information (product ID) for this store content. Used during receipt verification to match the purchased product.
googlePlayGooglePlayContentGoogle Play Content
The Google Play product information (product ID) for this store content. Used during receipt verification to match the purchased product.

AppleAppStoreContent

Content of Apple AppStore

Contains the Apple App Store product ID that corresponds to an in-app purchase product. Used to match receipts during verification.

TypeConditionRequiredDefaultValue LimitsDescription
productIdstring~ 1024 charsProduct ID
The Apple App Store product identifier registered in App Store Connect for this in-app purchase item.

GooglePlayContent

Content of Google Play

Contains the Google Play product ID that corresponds to an in-app purchase product. Used to match receipts during verification.

TypeConditionRequiredDefaultValue LimitsDescription
productIdstring~ 1024 charsProduct ID
The Google Play product identifier registered in Google Play Console for this in-app purchase item.

StoreSubscriptionContentModel

Store Subscription Content Model

This is a model for storing subscription-based content from various store platforms.

TypeConditionRequiredDefaultValue LimitsDescription
storeSubscriptionContentModelIdstring
*
~ 1024 charsSubscription Content Model GRN
* Set automatically by the server
namestring
~ 128 charsStore Subscription Content Model name
metadatastring~ 1024 charsMetadata
scheduleNamespaceIdstring
~ 1024 charsNamespace GRN of GS2-Schedule to link the subscription period
triggerNamestring
~ 128 charsTrigger name to reflect the subscription period
The name of the GS2-Schedule trigger that will be activated to reflect the subscription’s active period. The trigger duration is set to the subscription’s expiration time.
triggerExtendModeString Enum
enum {
  “just”,
  “rollupHour”
}
“just”Mode to reflect the subscription period on the trigger
Controls how the subscription expiration is mapped to the trigger duration. “just” uses the exact subscription period. “rollupHour” extends the period to the next specified hour (UTC) to avoid mid-day expirations.
DefinitionDescription
“just”Reflect the subscription period as it is
“rollupHour”Extend the subscription period to the next day crossing time
rollupHourint{triggerExtendMode} == “rollupHour”00 ~ 23Hour of the day to roll up the subscription period (UTC)
When triggerExtendMode is “rollupHour”, the subscription period is extended to this hour (0-23, UTC) on the expiration day. This prevents subscriptions from expiring in the middle of a user’s play session.
* Applicable only if triggerExtendMode is “rollupHour”
reallocateSpanDaysint300 ~ 365Time span (days) that allows subscription contract information to be assigned to other users
The number of days after the last allocation before a subscription contract can be reassigned to a different user. This prevents abuse when users change accounts, by enforcing a waiting period before the subscription can be transferred.
appleAppStoreAppleAppStoreSubscriptionContentApple AppStore Content
The Apple App Store subscription information (subscription group identifier) for this subscription content.
googlePlayGooglePlaySubscriptionContentGoogle Play Content
The Google Play subscription information (product ID) for this subscription content.

AppleAppStoreSubscriptionContent

Subscription content of Apple AppStore

Contains the Apple App Store subscription group identifier for subscription-based products. Used to manage and verify auto-renewable subscriptions.

TypeConditionRequiredDefaultValue LimitsDescription
subscriptionGroupIdentifierstring~ 64 charsSubscription Group ID
The subscription group identifier registered in App Store Connect. Subscriptions within the same group are mutually exclusive, meaning a user can only subscribe to one at a time.

GooglePlaySubscriptionContent

Google Play Subscription Content

Contains the Google Play product ID for subscription-based products. Used to manage and verify auto-renewable subscriptions on Google Play.

TypeConditionRequiredDefaultValue LimitsDescription
productIdstring~ 1024 charsProduct ID