İlk commit: Stepstead Godot istemci (4.6 Mobile)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
commit
6a1706051d
346 changed files with 14415 additions and 0 deletions
|
|
@ -0,0 +1,5 @@
|
|||
XSym
|
||||
0042
|
||||
8cedafd2db76746fc7627d87b40dbaa3
|
||||
Versions/Current/GodotApplePluginsStoreKit
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>25F71</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>godotappleplugins.GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>26.4</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx26.4</string>
|
||||
<key>DTXcode</key>
|
||||
<string>2641</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>17E202</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>14.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="ProductView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a single product from the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays a single product from the App Store. It allows you to configure the product to display, the style of the view, and the icon to use.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the product view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="prefers_promotional_icon" type="bool" setter="set_prefers_promotional_icon" getter="get_prefers_promotional_icon" default="false">
|
||||
Whether the view prefers to show the promotional icon for the product.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="set_product_id" getter="get_product_id" default="""">
|
||||
The product identifier of the product to display.
|
||||
</member>
|
||||
<member name="style" type="int" setter="set_style" getter="get_style" default="0">
|
||||
The style of the product view. See [enum ViewStyle] for available options.
|
||||
</member>
|
||||
<member name="system_icon_name" type="String" setter="set_system_icon_name" getter="get_system_icon_name" default=""cart"">
|
||||
The name of the system icon to use as a placeholder while the product icon loads.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ViewStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="COMPACT" value="1" enum="ViewStyle">
|
||||
A compact style that displays minimal information.
|
||||
</constant>
|
||||
<constant name="LARGE" value="2" enum="ViewStyle">
|
||||
A large style that displays more detailed information.
|
||||
</constant>
|
||||
<constant name="REGULAR" value="3" enum="ViewStyle">
|
||||
The regular style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreKitManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Manages StoreKit interactions such as requesting products, purchasing, and restoring purchases.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class handles the core StoreKit functionality. It provides methods to fetch product information from the App Store, initiate purchases,
|
||||
restore previous purchases and be notified of the current status of the purchase upon startup.
|
||||
|
||||
Once you instantiate this class, connect to the the [signal transaction_updated] signal to
|
||||
get notification related to the status of your purchases - these are delivered to notify
|
||||
your application of what products your user is entitled to at startup. If you are using
|
||||
Apple's PurchaseIntent, you will also want to connect to the [signal purchase_intent].
|
||||
|
||||
The [signal transaction_updated] is only raised for verified transactions.
|
||||
Apple also supports unverified transactions, those are posted to the [signal unverified_transaction_updated] signal
|
||||
and in addition to the transaction they contains a status code from the [enum VerificationError].
|
||||
|
||||
After you have set up your signals, you are ready to receive those events.
|
||||
|
||||
In addition, when you call the [method purchase] or [method purchase_with_options] you will
|
||||
want to setup a handler for the [signal purchase_completed] signal which is raised in
|
||||
response to different events during the purchasing.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="fetch_current_entitlements">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The current entitlements sequence provides the most recent transaction for each product the customer is entitled to, use this
|
||||
to refresh the list of features the user is entitled to.
|
||||
|
||||
Specifically, it includes:
|
||||
|
||||
* One transaction for each non-consumable In-App Purchase
|
||||
* The latest transaction for each auto-renewable subscription whose Product.SubscriptionInfo.RenewalState is either subscribed or inGracePeriod
|
||||
* The latest transaction for each non-renewing subscription, including those that have ended
|
||||
* Products that have been refunded or revoked by the App Store are excluded from the current entitlements, as are consumable In-App Purchases. To retrieve transactions for unfinished consumables, use the unfinished or all transaction sequences instead.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code]. This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase_with_options">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<param index="1" name="options" type="Array" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code], and allows you to provide additional purchase options.
|
||||
This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="request_products">
|
||||
<return type="void" />
|
||||
<param index="0" name="productIds" type="PackedStringArray" />
|
||||
<description>
|
||||
Requests product information for a list of product identifiers, e.g. [code]request_products(PackedStringArray(["com.example.product1", "com.example.product2"]))[/code].
|
||||
This method will raise the [signal products_request_completed] signal when the information is retrieved.
|
||||
</description>
|
||||
</method>
|
||||
<method name="restore_purchases">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Restores previously purchased non-consumable products and auto-renewable subscriptions. This will raise the
|
||||
[signal restore_completed] signal when the product purchased have been restored.
|
||||
</description>
|
||||
</method>
|
||||
<method name="start">
|
||||
<return type="void" />
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<signals>
|
||||
<signal name="products_request_completed">
|
||||
<param index="0" name="products" type="Array" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<description>
|
||||
Emitted when a product request completes.
|
||||
[param products] is an Array of [StoreProduct]s (or nulls).
|
||||
[param status] indicates success or failure.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_completed">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<param index="2" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when a purchase completes.
|
||||
[param transaction] is the [StoreTransaction] on success.
|
||||
[param status] indicates the result (OK, cancelled, invalid product, etc.).
|
||||
[param error_message] contains error details if failed.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_intent">
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="restore_completed">
|
||||
<param index="0" name="status" type="int" />
|
||||
<param index="1" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when the restore process completes. `arg1` is the [enum StoreKitStatus], and `arg2` is an error message if applicable.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="supscription_update">
|
||||
<param index="0" name="status" type="StoreSubscriptionInfoStatus" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<description>
|
||||
Emitted when a transaction is updated (e.g., a subscription renews or a purchase is approved externally). `transaction` is the updated [StoreTransaction].
|
||||
|
||||
You must call the finished method on the transaction once you have made sure that you have delivered the content to the user.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="unverified_transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="verification_error" type="int" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
<constants>
|
||||
<constant name="OK" value="0" enum="StoreKitStatus">
|
||||
The operation completed successfully.
|
||||
</constant>
|
||||
<constant name="INVALID_PRODUCT" value="1" enum="StoreKitStatus">
|
||||
The product identifier is invalid.
|
||||
</constant>
|
||||
<constant name="CANCELLED" value="2" enum="StoreKitStatus">
|
||||
The operation was cancelled.
|
||||
</constant>
|
||||
<constant name="UNVERIFIED_TRANSACTION" value="3" enum="StoreKitStatus">
|
||||
The transaction could not be verified.
|
||||
</constant>
|
||||
<constant name="USER_CANCELLED" value="4" enum="StoreKitStatus">
|
||||
The user cancelled the operation.
|
||||
</constant>
|
||||
<constant name="PURCHASE_PENDING" value="5" enum="StoreKitStatus">
|
||||
The purchase is pending (e.g., waiting for parental approval).
|
||||
</constant>
|
||||
<constant name="UNKNOWN_STATUS" value="6" enum="StoreKitStatus">
|
||||
An unknown status occurred.
|
||||
</constant>
|
||||
<constant name="REVOKED_CERTIFICATE" value="0" enum="VerificationError">
|
||||
The certificate chain was parsable, but was invalid due to one or more revoked certificates.
|
||||
</constant>
|
||||
<constant name="INVALID_CERTIFICATE_CHAIN" value="1" enum="VerificationError">
|
||||
The certificate chain was parsable, but it was invalid for signing this data.
|
||||
</constant>
|
||||
<constant name="INVALID_DEVICE_VERIFICATION" value="2" enum="VerificationError">
|
||||
The device verification properties were invalid for this device.
|
||||
</constant>
|
||||
<constant name="INVALID_ENCODING" value="3" enum="VerificationError">
|
||||
Th JWS header and any data included in it or it's certificate chain had an invalid encoding.
|
||||
</constant>
|
||||
<constant name="INVALID_SIGNATURE" value="4" enum="VerificationError">
|
||||
The certificate chain was valid for signing this data, but the leaf's public key was invalid for the JWS signature.
|
||||
</constant>
|
||||
<constant name="MISSING_REQUIRED_PROPERTIES" value="5" enum="VerificationError">
|
||||
Either the JWS header or any certificate in the chain was missing necessary properties for verification.
|
||||
</constant>
|
||||
<constant name="OTHER" value="6" enum="VerificationError">
|
||||
A new error code was introduced that was not previously handled.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProduct" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a product available for purchase in the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains information about a product, such as its ID, display name, description, and price. It is returned by [method StoreKitManager.request_products].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="description_value" type="String" setter="" getter="get_description_value" default="""">
|
||||
The description of the product, used for display in the UI.
|
||||
</member>
|
||||
<member name="display_name" type="String" setter="" getter="get_display_name" default="""">
|
||||
The localized display name of the product.
|
||||
</member>
|
||||
<member name="display_price" type="String" setter="" getter="get_display_price" default="""">
|
||||
The formatted price of the product, including the currency symbol (e.g. "$0.99").
|
||||
</member>
|
||||
<member name="is_family_shareable" type="bool" setter="" getter="get_is_family_shareable" default="false">
|
||||
Indicates whether the product can be shared with family members.
|
||||
</member>
|
||||
<member name="json_representation" type="String" setter="" getter="get_json_representation" default="""">
|
||||
A JSON debug representation of the product.
|
||||
</member>
|
||||
<member name="price" type="float" setter="" getter="get_price" default="0.0">
|
||||
The price of the product in the local currency.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier for the product.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPaymentMode" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
The payment modes for subscription offers that apply to a transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_free_trial" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode representing a free trial.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_pay_as_you_go" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays as they go (e.g. monthly for 3 months).
|
||||
</description>
|
||||
</method>
|
||||
<method name="pay_up_front" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays the entire amount up front.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="localized_description" type="String" setter="" getter="get_localized_description" default="""">
|
||||
The localized description of the payment mode.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPurchaseOption" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents an option that can be supplied when purchasing a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You create instances of this class and you can pass those to [method StoreKitManager.purchase_with_options].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="app_account_token" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="stringUuidToken" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with an app account token. This token should be a UUID string that associates the transaction with a user account on your service.
|
||||
</description>
|
||||
</method>
|
||||
<method name="introductory_offer_elligibility" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="jws" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with a specific introductory offer eligibility. This requires the signed JWS string from the App Store.
|
||||
</description>
|
||||
</method>
|
||||
<method name="quantity" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="value" type="int" />
|
||||
<description>
|
||||
Creates a purchase option specifying the quantity of the product to purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="simulate_ask_to_buy_in_sandbox" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="enabled" type="bool" />
|
||||
<description>
|
||||
Creates a purchase option to simulate the "Ask to Buy" flow in the sandbox environment.
|
||||
</description>
|
||||
</method>
|
||||
<method name="win_back_offer" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="offer" type="StoreProductSubscriptionOffer" />
|
||||
<description>
|
||||
Creates a purchase option for a win-back offer.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionOffer" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a subscription offer for a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You configure these in AppStore Connect. See [url=https://developer.apple.com/documentation/storekit/product/subscriptionoffer]Apple's documentation[/url] for additional information
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="INTRODUCTORY" value="0" enum="OfferType">
|
||||
An introductory offer for new subscribers.
|
||||
</constant>
|
||||
<constant name="PROMOTIONAL" value="1" enum="OfferType">
|
||||
A promotional offer for existing or lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="WIN_BACK" value="2" enum="OfferType">
|
||||
A win-back offer for lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="UNKNOWN" value="3" enum="OfferType">
|
||||
An unknown offer type.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionPeriod" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Values that represent the duration of time between subscription renewals.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="DAY" value="0" enum="Unit">
|
||||
A subscription period of one day.
|
||||
</constant>
|
||||
<constant name="MONTH" value="1" enum="Unit">
|
||||
A subscription period of one month.
|
||||
</constant>
|
||||
<constant name="WEEK" value="2" enum="Unit">
|
||||
A subscription period of one week.
|
||||
</constant>
|
||||
<constant name="YEAR" value="3" enum="Unit">
|
||||
A subscription period of one year.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Provides subscription group metadata and status queries.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit subscription information and exposes the subscription group metadata for a product.
|
||||
Use the status methods to query the current subscription status for a product, subscription group, or transaction ID.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="getStatus">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Fetches the current status entries for this subscription. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_group_id">
|
||||
<return type="void" />
|
||||
<param index="0" name="group_id" type="String" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches status entries for the subscription group identifier. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_transaction">
|
||||
<return type="void" />
|
||||
<param index="0" name="transaction_id" type="int" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches the status entry for the provided transaction identifier. The callback receives a [code skip-lint]StoreSubscriptionInfoStatus[/code] when available, an empty [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] when no status is found, or a [code skip-lint]String[/code] describing the error.
|
||||
On macOS, this requires macOS 15.4 or newer; earlier versions perform no action.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="group_display_name" type="String" setter="" getter="get_group_display_name" default="""">
|
||||
The localized display name of the subscription group. Returns an empty string if unavailable.
|
||||
</member>
|
||||
<member name="group_level" type="int" setter="" getter="get_group_level" default="-1">
|
||||
The subscription group level used for upgrade/downgrade ranking. Returns [code]-1[/code] when unavailable.
|
||||
</member>
|
||||
<member name="subscription_group_id" type="String" setter="" getter="get_subscription_group_id" default="""">
|
||||
The subscription group identifier from App Store Connect. Returns an empty string if unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoRenewalInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Contains verified renewal metadata for a subscription.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit renewal information and is only created from verified renewal data.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="app_account_token" type="String" setter="" getter="get_app_account_token" default="""">
|
||||
The app account token used when purchasing, as a UUID string. Returns an empty string when not set.
|
||||
</member>
|
||||
<member name="app_transaction_id" type="String" setter="" getter="get_app_transaction_id" default="""">
|
||||
The app transaction identifier associated with the subscription. Returns an empty string when unavailable.
|
||||
</member>
|
||||
<member name="current_product_id" type="String" setter="" getter="get_current_product_id" default="""">
|
||||
The current product identifier for the subscription group.
|
||||
</member>
|
||||
<member name="original_transaction_id" type="int" setter="" getter="get_original_transaction_id" default="0">
|
||||
The original transaction identifier for the subscription. Returns [code]0[/code] when unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoStatus" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Describes the status of a subscription in a subscription group.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit's subscription status information, including renewal state, verified renewal info, and the latest verified transaction.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="renewal_info" type="StoreSubscriptionInfoRenewalInfo" setter="" getter="get_renewal_info" default="null">
|
||||
Verified renewal info for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
<member name="state" type="int" setter="" getter="get_state" default="0">
|
||||
The current renewal state. Use the [enum RenewalState] constants.
|
||||
</member>
|
||||
<member name="transaction" type="StoreTransaction" setter="" getter="get_transaction" default="null">
|
||||
The latest verified transaction for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="UNKNOWN" value="0" enum="RenewalState">
|
||||
The renewal state is unknown or not available.
|
||||
</constant>
|
||||
<constant name="EXPIRED" value="1" enum="RenewalState">
|
||||
The subscription has expired.
|
||||
</constant>
|
||||
<constant name="SUBSCRIBED" value="2" enum="RenewalState">
|
||||
The subscription is currently active.
|
||||
</constant>
|
||||
<constant name="IN_BILLING_RETRY_PERIOD" value="3" enum="RenewalState">
|
||||
The subscription is in the billing retry period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="IN_GRACE_PERIOD" value="4" enum="RenewalState">
|
||||
The subscription is in the grace period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="REVOKED" value="5" enum="RenewalState">
|
||||
The subscription was revoked by Apple.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreTransaction" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a successful purchase transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains details about a purchase, such as the product ID, purchase date, and expiration date (for subscriptions).
|
||||
|
||||
When you receive a transaction update, you must call the [method finish] method on the transaction once you have made sure
|
||||
that you have delivered the content to the user.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="finish">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The finish method notifies the App Store that the app has successfully provided the purchased content or
|
||||
activated the purchased service, allowing the transaction to be completed.
|
||||
|
||||
Call [method finish] only after your app has delivered the content or enabled the service. If the purchase
|
||||
includes on-demand resources, wait to finish the transaction until the download is complete or the
|
||||
resources have otherwise been fully delivered.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="expiration_date" type="float" setter="" getter="get_expiration_date" default="0.0">
|
||||
The date when the subscription expires, as a Unix timestamp. Returns 0 if not applicable.
|
||||
</member>
|
||||
<member name="is_upgraded" type="bool" setter="" getter="get_is_upgraded" default="false">
|
||||
Whether this transaction is an upgrade of another transaction.
|
||||
</member>
|
||||
<member name="jws_representation" type="String" setter="" getter="get_jws_representation" default="""">
|
||||
The JWS (JSON Web Signature) representation of the signed transaction, suitable for server-side receipt validation (for example the App Store Server API or a third-party validator such as RevenueCat). Empty when the transaction was not constructed from a verification result.
|
||||
</member>
|
||||
<member name="original_id" type="int" setter="" getter="get_original_id" default="0">
|
||||
The transaction identifier of the original purchase.
|
||||
</member>
|
||||
<member name="ownership_type" type="String" setter="" getter="get_ownership_type" default=""unknown"">
|
||||
The type of ownership (e.g., "purchased", "familyShared", "unknown").
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier of the purchased product.
|
||||
</member>
|
||||
<member name="purchase_date" type="float" setter="" getter="get_purchase_date" default="0.0">
|
||||
The date when the purchase was made, as a Unix timestamp.
|
||||
</member>
|
||||
<member name="revocation_date" type="float" setter="" getter="get_revocation_date" default="0.0">
|
||||
The date when the transaction was revoked, as a Unix timestamp. Returns 0 if not revoked.
|
||||
</member>
|
||||
<member name="transaction_id" type="int" setter="" getter="get_transaction_id" default="0">
|
||||
The unique identifier of the transaction.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a collection of products.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays multiple products from the App Store. It is useful for creating a storefront or a list of available items.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="product_ids" type="PackedStringArray" setter="set_product_ids" getter="get_product_ids" default="PackedStringArray()">
|
||||
A list of product identifiers to display in the store view.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionOfferView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for redeeming subscription offers.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class provides a view for users to redeem subscription offer codes. It handles the UI flow for entering and verifying offer codes.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Presents the offer code redemption view. note: The `callback` parameter is currently unused; use the [signal success] and [signal error] signals to handle the result.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="title" type="String" setter="set_title" getter="get_title" default=""Redeeming Offer..."">
|
||||
The title displayed on the view.
|
||||
</member>
|
||||
</members>
|
||||
<signals>
|
||||
<signal name="error">
|
||||
<param index="0" name="message" type="String" />
|
||||
<description>
|
||||
Emitted when the offer redemption fails. `arg1` contains the error message.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="success">
|
||||
<description>
|
||||
Emitted when the offer redemption is successful.
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionStoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for displaying subscription options.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class presents a standard StoreKit subscription view. It can be configured to show a specific subscription group or a list of specific products. The visual style of the controls is also customizable.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the subscription store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="control_style" type="int" setter="set_control_style" getter="get_control_style" default="0">
|
||||
The visual style of the subscription controls. See [enum ControlStyle] for options.
|
||||
</member>
|
||||
<member name="group_id" type="String" setter="set_group_id" getter="get_group_id" default="""">
|
||||
The identifier of the subscription group to display. If set, this takes precedence over [member product_i_ds].
|
||||
</member>
|
||||
<member name="product_i_ds" type="PackedStringArray" setter="set_product_i_ds" getter="get_product_i_ds" default="PackedStringArray()">
|
||||
A list of specific product identifiers to display. Ignored if [member group_id] is set.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ControlStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="PICKER" value="1" enum="ControlStyle">
|
||||
A picker style.
|
||||
</constant>
|
||||
<constant name="BUTTONS" value="2" enum="ControlStyle">
|
||||
A button-based style.
|
||||
</constant>
|
||||
<constant name="COMPACT_PICKER" value="3" enum="ControlStyle">
|
||||
A compact picker style.
|
||||
</constant>
|
||||
<constant name="PROMINENT_PICKER" value="4" enum="ControlStyle">
|
||||
A prominent picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PICKER" value="5" enum="ControlStyle">
|
||||
A paged picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PROMINENT_PICKER" value="6" enum="ControlStyle">
|
||||
A prominent paged picker style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
Binary file not shown.
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>25F71</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>godotappleplugins.GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>26.4</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx26.4</string>
|
||||
<key>DTXcode</key>
|
||||
<string>2641</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>17E202</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>14.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="ProductView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a single product from the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays a single product from the App Store. It allows you to configure the product to display, the style of the view, and the icon to use.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the product view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="prefers_promotional_icon" type="bool" setter="set_prefers_promotional_icon" getter="get_prefers_promotional_icon" default="false">
|
||||
Whether the view prefers to show the promotional icon for the product.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="set_product_id" getter="get_product_id" default="""">
|
||||
The product identifier of the product to display.
|
||||
</member>
|
||||
<member name="style" type="int" setter="set_style" getter="get_style" default="0">
|
||||
The style of the product view. See [enum ViewStyle] for available options.
|
||||
</member>
|
||||
<member name="system_icon_name" type="String" setter="set_system_icon_name" getter="get_system_icon_name" default=""cart"">
|
||||
The name of the system icon to use as a placeholder while the product icon loads.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ViewStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="COMPACT" value="1" enum="ViewStyle">
|
||||
A compact style that displays minimal information.
|
||||
</constant>
|
||||
<constant name="LARGE" value="2" enum="ViewStyle">
|
||||
A large style that displays more detailed information.
|
||||
</constant>
|
||||
<constant name="REGULAR" value="3" enum="ViewStyle">
|
||||
The regular style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreKitManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Manages StoreKit interactions such as requesting products, purchasing, and restoring purchases.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class handles the core StoreKit functionality. It provides methods to fetch product information from the App Store, initiate purchases,
|
||||
restore previous purchases and be notified of the current status of the purchase upon startup.
|
||||
|
||||
Once you instantiate this class, connect to the the [signal transaction_updated] signal to
|
||||
get notification related to the status of your purchases - these are delivered to notify
|
||||
your application of what products your user is entitled to at startup. If you are using
|
||||
Apple's PurchaseIntent, you will also want to connect to the [signal purchase_intent].
|
||||
|
||||
The [signal transaction_updated] is only raised for verified transactions.
|
||||
Apple also supports unverified transactions, those are posted to the [signal unverified_transaction_updated] signal
|
||||
and in addition to the transaction they contains a status code from the [enum VerificationError].
|
||||
|
||||
After you have set up your signals, you are ready to receive those events.
|
||||
|
||||
In addition, when you call the [method purchase] or [method purchase_with_options] you will
|
||||
want to setup a handler for the [signal purchase_completed] signal which is raised in
|
||||
response to different events during the purchasing.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="fetch_current_entitlements">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The current entitlements sequence provides the most recent transaction for each product the customer is entitled to, use this
|
||||
to refresh the list of features the user is entitled to.
|
||||
|
||||
Specifically, it includes:
|
||||
|
||||
* One transaction for each non-consumable In-App Purchase
|
||||
* The latest transaction for each auto-renewable subscription whose Product.SubscriptionInfo.RenewalState is either subscribed or inGracePeriod
|
||||
* The latest transaction for each non-renewing subscription, including those that have ended
|
||||
* Products that have been refunded or revoked by the App Store are excluded from the current entitlements, as are consumable In-App Purchases. To retrieve transactions for unfinished consumables, use the unfinished or all transaction sequences instead.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code]. This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase_with_options">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<param index="1" name="options" type="Array" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code], and allows you to provide additional purchase options.
|
||||
This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="request_products">
|
||||
<return type="void" />
|
||||
<param index="0" name="productIds" type="PackedStringArray" />
|
||||
<description>
|
||||
Requests product information for a list of product identifiers, e.g. [code]request_products(PackedStringArray(["com.example.product1", "com.example.product2"]))[/code].
|
||||
This method will raise the [signal products_request_completed] signal when the information is retrieved.
|
||||
</description>
|
||||
</method>
|
||||
<method name="restore_purchases">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Restores previously purchased non-consumable products and auto-renewable subscriptions. This will raise the
|
||||
[signal restore_completed] signal when the product purchased have been restored.
|
||||
</description>
|
||||
</method>
|
||||
<method name="start">
|
||||
<return type="void" />
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<signals>
|
||||
<signal name="products_request_completed">
|
||||
<param index="0" name="products" type="Array" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<description>
|
||||
Emitted when a product request completes.
|
||||
[param products] is an Array of [StoreProduct]s (or nulls).
|
||||
[param status] indicates success or failure.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_completed">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<param index="2" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when a purchase completes.
|
||||
[param transaction] is the [StoreTransaction] on success.
|
||||
[param status] indicates the result (OK, cancelled, invalid product, etc.).
|
||||
[param error_message] contains error details if failed.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_intent">
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="restore_completed">
|
||||
<param index="0" name="status" type="int" />
|
||||
<param index="1" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when the restore process completes. `arg1` is the [enum StoreKitStatus], and `arg2` is an error message if applicable.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="supscription_update">
|
||||
<param index="0" name="status" type="StoreSubscriptionInfoStatus" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<description>
|
||||
Emitted when a transaction is updated (e.g., a subscription renews or a purchase is approved externally). `transaction` is the updated [StoreTransaction].
|
||||
|
||||
You must call the finished method on the transaction once you have made sure that you have delivered the content to the user.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="unverified_transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="verification_error" type="int" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
<constants>
|
||||
<constant name="OK" value="0" enum="StoreKitStatus">
|
||||
The operation completed successfully.
|
||||
</constant>
|
||||
<constant name="INVALID_PRODUCT" value="1" enum="StoreKitStatus">
|
||||
The product identifier is invalid.
|
||||
</constant>
|
||||
<constant name="CANCELLED" value="2" enum="StoreKitStatus">
|
||||
The operation was cancelled.
|
||||
</constant>
|
||||
<constant name="UNVERIFIED_TRANSACTION" value="3" enum="StoreKitStatus">
|
||||
The transaction could not be verified.
|
||||
</constant>
|
||||
<constant name="USER_CANCELLED" value="4" enum="StoreKitStatus">
|
||||
The user cancelled the operation.
|
||||
</constant>
|
||||
<constant name="PURCHASE_PENDING" value="5" enum="StoreKitStatus">
|
||||
The purchase is pending (e.g., waiting for parental approval).
|
||||
</constant>
|
||||
<constant name="UNKNOWN_STATUS" value="6" enum="StoreKitStatus">
|
||||
An unknown status occurred.
|
||||
</constant>
|
||||
<constant name="REVOKED_CERTIFICATE" value="0" enum="VerificationError">
|
||||
The certificate chain was parsable, but was invalid due to one or more revoked certificates.
|
||||
</constant>
|
||||
<constant name="INVALID_CERTIFICATE_CHAIN" value="1" enum="VerificationError">
|
||||
The certificate chain was parsable, but it was invalid for signing this data.
|
||||
</constant>
|
||||
<constant name="INVALID_DEVICE_VERIFICATION" value="2" enum="VerificationError">
|
||||
The device verification properties were invalid for this device.
|
||||
</constant>
|
||||
<constant name="INVALID_ENCODING" value="3" enum="VerificationError">
|
||||
Th JWS header and any data included in it or it's certificate chain had an invalid encoding.
|
||||
</constant>
|
||||
<constant name="INVALID_SIGNATURE" value="4" enum="VerificationError">
|
||||
The certificate chain was valid for signing this data, but the leaf's public key was invalid for the JWS signature.
|
||||
</constant>
|
||||
<constant name="MISSING_REQUIRED_PROPERTIES" value="5" enum="VerificationError">
|
||||
Either the JWS header or any certificate in the chain was missing necessary properties for verification.
|
||||
</constant>
|
||||
<constant name="OTHER" value="6" enum="VerificationError">
|
||||
A new error code was introduced that was not previously handled.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProduct" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a product available for purchase in the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains information about a product, such as its ID, display name, description, and price. It is returned by [method StoreKitManager.request_products].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="description_value" type="String" setter="" getter="get_description_value" default="""">
|
||||
The description of the product, used for display in the UI.
|
||||
</member>
|
||||
<member name="display_name" type="String" setter="" getter="get_display_name" default="""">
|
||||
The localized display name of the product.
|
||||
</member>
|
||||
<member name="display_price" type="String" setter="" getter="get_display_price" default="""">
|
||||
The formatted price of the product, including the currency symbol (e.g. "$0.99").
|
||||
</member>
|
||||
<member name="is_family_shareable" type="bool" setter="" getter="get_is_family_shareable" default="false">
|
||||
Indicates whether the product can be shared with family members.
|
||||
</member>
|
||||
<member name="json_representation" type="String" setter="" getter="get_json_representation" default="""">
|
||||
A JSON debug representation of the product.
|
||||
</member>
|
||||
<member name="price" type="float" setter="" getter="get_price" default="0.0">
|
||||
The price of the product in the local currency.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier for the product.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPaymentMode" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
The payment modes for subscription offers that apply to a transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_free_trial" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode representing a free trial.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_pay_as_you_go" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays as they go (e.g. monthly for 3 months).
|
||||
</description>
|
||||
</method>
|
||||
<method name="pay_up_front" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays the entire amount up front.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="localized_description" type="String" setter="" getter="get_localized_description" default="""">
|
||||
The localized description of the payment mode.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPurchaseOption" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents an option that can be supplied when purchasing a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You create instances of this class and you can pass those to [method StoreKitManager.purchase_with_options].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="app_account_token" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="stringUuidToken" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with an app account token. This token should be a UUID string that associates the transaction with a user account on your service.
|
||||
</description>
|
||||
</method>
|
||||
<method name="introductory_offer_elligibility" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="jws" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with a specific introductory offer eligibility. This requires the signed JWS string from the App Store.
|
||||
</description>
|
||||
</method>
|
||||
<method name="quantity" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="value" type="int" />
|
||||
<description>
|
||||
Creates a purchase option specifying the quantity of the product to purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="simulate_ask_to_buy_in_sandbox" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="enabled" type="bool" />
|
||||
<description>
|
||||
Creates a purchase option to simulate the "Ask to Buy" flow in the sandbox environment.
|
||||
</description>
|
||||
</method>
|
||||
<method name="win_back_offer" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="offer" type="StoreProductSubscriptionOffer" />
|
||||
<description>
|
||||
Creates a purchase option for a win-back offer.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionOffer" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a subscription offer for a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You configure these in AppStore Connect. See [url=https://developer.apple.com/documentation/storekit/product/subscriptionoffer]Apple's documentation[/url] for additional information
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="INTRODUCTORY" value="0" enum="OfferType">
|
||||
An introductory offer for new subscribers.
|
||||
</constant>
|
||||
<constant name="PROMOTIONAL" value="1" enum="OfferType">
|
||||
A promotional offer for existing or lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="WIN_BACK" value="2" enum="OfferType">
|
||||
A win-back offer for lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="UNKNOWN" value="3" enum="OfferType">
|
||||
An unknown offer type.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionPeriod" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Values that represent the duration of time between subscription renewals.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="DAY" value="0" enum="Unit">
|
||||
A subscription period of one day.
|
||||
</constant>
|
||||
<constant name="MONTH" value="1" enum="Unit">
|
||||
A subscription period of one month.
|
||||
</constant>
|
||||
<constant name="WEEK" value="2" enum="Unit">
|
||||
A subscription period of one week.
|
||||
</constant>
|
||||
<constant name="YEAR" value="3" enum="Unit">
|
||||
A subscription period of one year.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Provides subscription group metadata and status queries.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit subscription information and exposes the subscription group metadata for a product.
|
||||
Use the status methods to query the current subscription status for a product, subscription group, or transaction ID.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="getStatus">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Fetches the current status entries for this subscription. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_group_id">
|
||||
<return type="void" />
|
||||
<param index="0" name="group_id" type="String" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches status entries for the subscription group identifier. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_transaction">
|
||||
<return type="void" />
|
||||
<param index="0" name="transaction_id" type="int" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches the status entry for the provided transaction identifier. The callback receives a [code skip-lint]StoreSubscriptionInfoStatus[/code] when available, an empty [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] when no status is found, or a [code skip-lint]String[/code] describing the error.
|
||||
On macOS, this requires macOS 15.4 or newer; earlier versions perform no action.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="group_display_name" type="String" setter="" getter="get_group_display_name" default="""">
|
||||
The localized display name of the subscription group. Returns an empty string if unavailable.
|
||||
</member>
|
||||
<member name="group_level" type="int" setter="" getter="get_group_level" default="-1">
|
||||
The subscription group level used for upgrade/downgrade ranking. Returns [code]-1[/code] when unavailable.
|
||||
</member>
|
||||
<member name="subscription_group_id" type="String" setter="" getter="get_subscription_group_id" default="""">
|
||||
The subscription group identifier from App Store Connect. Returns an empty string if unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoRenewalInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Contains verified renewal metadata for a subscription.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit renewal information and is only created from verified renewal data.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="app_account_token" type="String" setter="" getter="get_app_account_token" default="""">
|
||||
The app account token used when purchasing, as a UUID string. Returns an empty string when not set.
|
||||
</member>
|
||||
<member name="app_transaction_id" type="String" setter="" getter="get_app_transaction_id" default="""">
|
||||
The app transaction identifier associated with the subscription. Returns an empty string when unavailable.
|
||||
</member>
|
||||
<member name="current_product_id" type="String" setter="" getter="get_current_product_id" default="""">
|
||||
The current product identifier for the subscription group.
|
||||
</member>
|
||||
<member name="original_transaction_id" type="int" setter="" getter="get_original_transaction_id" default="0">
|
||||
The original transaction identifier for the subscription. Returns [code]0[/code] when unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoStatus" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Describes the status of a subscription in a subscription group.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit's subscription status information, including renewal state, verified renewal info, and the latest verified transaction.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="renewal_info" type="StoreSubscriptionInfoRenewalInfo" setter="" getter="get_renewal_info" default="null">
|
||||
Verified renewal info for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
<member name="state" type="int" setter="" getter="get_state" default="0">
|
||||
The current renewal state. Use the [enum RenewalState] constants.
|
||||
</member>
|
||||
<member name="transaction" type="StoreTransaction" setter="" getter="get_transaction" default="null">
|
||||
The latest verified transaction for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="UNKNOWN" value="0" enum="RenewalState">
|
||||
The renewal state is unknown or not available.
|
||||
</constant>
|
||||
<constant name="EXPIRED" value="1" enum="RenewalState">
|
||||
The subscription has expired.
|
||||
</constant>
|
||||
<constant name="SUBSCRIBED" value="2" enum="RenewalState">
|
||||
The subscription is currently active.
|
||||
</constant>
|
||||
<constant name="IN_BILLING_RETRY_PERIOD" value="3" enum="RenewalState">
|
||||
The subscription is in the billing retry period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="IN_GRACE_PERIOD" value="4" enum="RenewalState">
|
||||
The subscription is in the grace period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="REVOKED" value="5" enum="RenewalState">
|
||||
The subscription was revoked by Apple.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreTransaction" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a successful purchase transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains details about a purchase, such as the product ID, purchase date, and expiration date (for subscriptions).
|
||||
|
||||
When you receive a transaction update, you must call the [method finish] method on the transaction once you have made sure
|
||||
that you have delivered the content to the user.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="finish">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The finish method notifies the App Store that the app has successfully provided the purchased content or
|
||||
activated the purchased service, allowing the transaction to be completed.
|
||||
|
||||
Call [method finish] only after your app has delivered the content or enabled the service. If the purchase
|
||||
includes on-demand resources, wait to finish the transaction until the download is complete or the
|
||||
resources have otherwise been fully delivered.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="expiration_date" type="float" setter="" getter="get_expiration_date" default="0.0">
|
||||
The date when the subscription expires, as a Unix timestamp. Returns 0 if not applicable.
|
||||
</member>
|
||||
<member name="is_upgraded" type="bool" setter="" getter="get_is_upgraded" default="false">
|
||||
Whether this transaction is an upgrade of another transaction.
|
||||
</member>
|
||||
<member name="jws_representation" type="String" setter="" getter="get_jws_representation" default="""">
|
||||
The JWS (JSON Web Signature) representation of the signed transaction, suitable for server-side receipt validation (for example the App Store Server API or a third-party validator such as RevenueCat). Empty when the transaction was not constructed from a verification result.
|
||||
</member>
|
||||
<member name="original_id" type="int" setter="" getter="get_original_id" default="0">
|
||||
The transaction identifier of the original purchase.
|
||||
</member>
|
||||
<member name="ownership_type" type="String" setter="" getter="get_ownership_type" default=""unknown"">
|
||||
The type of ownership (e.g., "purchased", "familyShared", "unknown").
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier of the purchased product.
|
||||
</member>
|
||||
<member name="purchase_date" type="float" setter="" getter="get_purchase_date" default="0.0">
|
||||
The date when the purchase was made, as a Unix timestamp.
|
||||
</member>
|
||||
<member name="revocation_date" type="float" setter="" getter="get_revocation_date" default="0.0">
|
||||
The date when the transaction was revoked, as a Unix timestamp. Returns 0 if not revoked.
|
||||
</member>
|
||||
<member name="transaction_id" type="int" setter="" getter="get_transaction_id" default="0">
|
||||
The unique identifier of the transaction.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a collection of products.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays multiple products from the App Store. It is useful for creating a storefront or a list of available items.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="product_ids" type="PackedStringArray" setter="set_product_ids" getter="get_product_ids" default="PackedStringArray()">
|
||||
A list of product identifiers to display in the store view.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionOfferView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for redeeming subscription offers.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class provides a view for users to redeem subscription offer codes. It handles the UI flow for entering and verifying offer codes.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Presents the offer code redemption view. note: The `callback` parameter is currently unused; use the [signal success] and [signal error] signals to handle the result.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="title" type="String" setter="set_title" getter="get_title" default=""Redeeming Offer..."">
|
||||
The title displayed on the view.
|
||||
</member>
|
||||
</members>
|
||||
<signals>
|
||||
<signal name="error">
|
||||
<param index="0" name="message" type="String" />
|
||||
<description>
|
||||
Emitted when the offer redemption fails. `arg1` contains the error message.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="success">
|
||||
<description>
|
||||
Emitted when the offer redemption is successful.
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionStoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for displaying subscription options.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class presents a standard StoreKit subscription view. It can be configured to show a specific subscription group or a list of specific products. The visual style of the controls is also customizable.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the subscription store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="control_style" type="int" setter="set_control_style" getter="get_control_style" default="0">
|
||||
The visual style of the subscription controls. See [enum ControlStyle] for options.
|
||||
</member>
|
||||
<member name="group_id" type="String" setter="set_group_id" getter="get_group_id" default="""">
|
||||
The identifier of the subscription group to display. If set, this takes precedence over [member product_i_ds].
|
||||
</member>
|
||||
<member name="product_i_ds" type="PackedStringArray" setter="set_product_i_ds" getter="get_product_i_ds" default="PackedStringArray()">
|
||||
A list of specific product identifiers to display. Ignored if [member group_id] is set.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ControlStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="PICKER" value="1" enum="ControlStyle">
|
||||
A picker style.
|
||||
</constant>
|
||||
<constant name="BUTTONS" value="2" enum="ControlStyle">
|
||||
A button-based style.
|
||||
</constant>
|
||||
<constant name="COMPACT_PICKER" value="3" enum="ControlStyle">
|
||||
A compact picker style.
|
||||
</constant>
|
||||
<constant name="PROMINENT_PICKER" value="4" enum="ControlStyle">
|
||||
A prominent picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PICKER" value="5" enum="ControlStyle">
|
||||
A paged picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PROMINENT_PICKER" value="6" enum="ControlStyle">
|
||||
A prominent paged picker style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,282 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
a55hY0Y80uiEzgMh34WPQ7T7f9g=
|
||||
</data>
|
||||
<key>Resources/doc_classes/ProductView.xml</key>
|
||||
<data>
|
||||
3M/6BEREzR8r51+r7zHfNSE5b/Y=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreKitManager.xml</key>
|
||||
<data>
|
||||
bt53Uy4kbGGF9s1fmSNPavGPnpU=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProduct.xml</key>
|
||||
<data>
|
||||
mwGN2YBdj37NeXDdKBGxIhu6F1Q=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductPaymentMode.xml</key>
|
||||
<data>
|
||||
NWY7MWtIM/XlQIVtJfnEJDg5O00=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductPurchaseOption.xml</key>
|
||||
<data>
|
||||
169Dx+ppSwA69d/5JTXMtg9Wu+4=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionOffer.xml</key>
|
||||
<data>
|
||||
Z9WImiN8BvWcEXY3kS78lNuIHTE=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionPeriod.xml</key>
|
||||
<data>
|
||||
2GZh4pGspXZ6DTfBgsIvKk+rsKg=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfo.xml</key>
|
||||
<data>
|
||||
iTUGmpMJSPm1WxCSZ1FxHoTlvg4=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoRenewalInfo.xml</key>
|
||||
<data>
|
||||
sidHqdcp1EqWz8BWDhmiFp+4jSw=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoStatus.xml</key>
|
||||
<data>
|
||||
fFnkPu1YM23Oje4l/Bq14YYe5fQ=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreTransaction.xml</key>
|
||||
<data>
|
||||
SEF4DEE7yg/NvV73/uaKoEafHJk=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreView.xml</key>
|
||||
<data>
|
||||
2dsu8CTBVlVg6KNiS/MuzBEJg7U=
|
||||
</data>
|
||||
<key>Resources/doc_classes/SubscriptionOfferView.xml</key>
|
||||
<data>
|
||||
b5WaOfu8qhnx5i23j63JbHk/kzE=
|
||||
</data>
|
||||
<key>Resources/doc_classes/SubscriptionStoreView.xml</key>
|
||||
<data>
|
||||
EoSh+YB8fT3oUQSc5LfSUmBXoLM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/6j/2zcQNRzfP1sg63em4jRqPqhGSiGOpqfgQCzJeNM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/ProductView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
7Ddtn8pSBD+TNGRdC25Il10b5UZYYxU0grcp/IyZdlw=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreKitManager.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dZ6oFf761fvgzfkz45zY9Henbznpq3PFMvr1r9WLMFE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProduct.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TvmIFLQO8Mh1OadfUGo3MSE97h/rtQdoWXiRXkM3jQA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductPaymentMode.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TDqPjis6qFjJQzKCo4FJJd4fFcIJ2cIviwErHcoJ5XQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductPurchaseOption.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
O8BFgmvMVyqR/0rjOusvZv2FE56kO5585gj3KqoZnWU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionOffer.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
C98FhDedLmFFe9gcOjar1labrLrbH9X6mFbQ8te3NBQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionPeriod.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
pDzhbm+IN3xUQ/jVbRKkxnjIOr7NeP3Q81f3T3Lp9LI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfo.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ghTYbH7kRMCHMadaJk9UZYfr3rMPvTnDDOIjFyhnzxY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoRenewalInfo.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
YeI62LA698nuy18k3V+6ZfW2En4hMvG6XHx6xhD8RE8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoStatus.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dVeYxCgV/Tuzu+G9T0DS++vSUDMcbeSvNQQTjDWc0lM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreTransaction.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2IYnBgeGbRHqCP0R1G/IT3yiEsagfvmyGTW83kecb4w=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JYaszhGFbW9nynHNO/cQYwigipk/kwgHgviYdcgJ7xY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/SubscriptionOfferView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2XxnmOysDfBXDux9ZtJcLkV2Gx0SRlrvHm05mgVChVk=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/SubscriptionStoreView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JEaDbQQ6WRP2sZn2J5jtbOYsyJyWQwRO+FXUYmoTGVA=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>25F71</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>godotappleplugins.GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>26.4</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx26.4</string>
|
||||
<key>DTXcode</key>
|
||||
<string>2641</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>17E202</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>14.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="ProductView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a single product from the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays a single product from the App Store. It allows you to configure the product to display, the style of the view, and the icon to use.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the product view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="prefers_promotional_icon" type="bool" setter="set_prefers_promotional_icon" getter="get_prefers_promotional_icon" default="false">
|
||||
Whether the view prefers to show the promotional icon for the product.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="set_product_id" getter="get_product_id" default="""">
|
||||
The product identifier of the product to display.
|
||||
</member>
|
||||
<member name="style" type="int" setter="set_style" getter="get_style" default="0">
|
||||
The style of the product view. See [enum ViewStyle] for available options.
|
||||
</member>
|
||||
<member name="system_icon_name" type="String" setter="set_system_icon_name" getter="get_system_icon_name" default=""cart"">
|
||||
The name of the system icon to use as a placeholder while the product icon loads.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ViewStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="COMPACT" value="1" enum="ViewStyle">
|
||||
A compact style that displays minimal information.
|
||||
</constant>
|
||||
<constant name="LARGE" value="2" enum="ViewStyle">
|
||||
A large style that displays more detailed information.
|
||||
</constant>
|
||||
<constant name="REGULAR" value="3" enum="ViewStyle">
|
||||
The regular style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreKitManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Manages StoreKit interactions such as requesting products, purchasing, and restoring purchases.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class handles the core StoreKit functionality. It provides methods to fetch product information from the App Store, initiate purchases,
|
||||
restore previous purchases and be notified of the current status of the purchase upon startup.
|
||||
|
||||
Once you instantiate this class, connect to the the [signal transaction_updated] signal to
|
||||
get notification related to the status of your purchases - these are delivered to notify
|
||||
your application of what products your user is entitled to at startup. If you are using
|
||||
Apple's PurchaseIntent, you will also want to connect to the [signal purchase_intent].
|
||||
|
||||
The [signal transaction_updated] is only raised for verified transactions.
|
||||
Apple also supports unverified transactions, those are posted to the [signal unverified_transaction_updated] signal
|
||||
and in addition to the transaction they contains a status code from the [enum VerificationError].
|
||||
|
||||
After you have set up your signals, you are ready to receive those events.
|
||||
|
||||
In addition, when you call the [method purchase] or [method purchase_with_options] you will
|
||||
want to setup a handler for the [signal purchase_completed] signal which is raised in
|
||||
response to different events during the purchasing.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="fetch_current_entitlements">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The current entitlements sequence provides the most recent transaction for each product the customer is entitled to, use this
|
||||
to refresh the list of features the user is entitled to.
|
||||
|
||||
Specifically, it includes:
|
||||
|
||||
* One transaction for each non-consumable In-App Purchase
|
||||
* The latest transaction for each auto-renewable subscription whose Product.SubscriptionInfo.RenewalState is either subscribed or inGracePeriod
|
||||
* The latest transaction for each non-renewing subscription, including those that have ended
|
||||
* Products that have been refunded or revoked by the App Store are excluded from the current entitlements, as are consumable In-App Purchases. To retrieve transactions for unfinished consumables, use the unfinished or all transaction sequences instead.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code]. This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase_with_options">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<param index="1" name="options" type="Array" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code], and allows you to provide additional purchase options.
|
||||
This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="request_products">
|
||||
<return type="void" />
|
||||
<param index="0" name="productIds" type="PackedStringArray" />
|
||||
<description>
|
||||
Requests product information for a list of product identifiers, e.g. [code]request_products(PackedStringArray(["com.example.product1", "com.example.product2"]))[/code].
|
||||
This method will raise the [signal products_request_completed] signal when the information is retrieved.
|
||||
</description>
|
||||
</method>
|
||||
<method name="restore_purchases">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Restores previously purchased non-consumable products and auto-renewable subscriptions. This will raise the
|
||||
[signal restore_completed] signal when the product purchased have been restored.
|
||||
</description>
|
||||
</method>
|
||||
<method name="start">
|
||||
<return type="void" />
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<signals>
|
||||
<signal name="products_request_completed">
|
||||
<param index="0" name="products" type="Array" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<description>
|
||||
Emitted when a product request completes.
|
||||
[param products] is an Array of [StoreProduct]s (or nulls).
|
||||
[param status] indicates success or failure.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_completed">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<param index="2" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when a purchase completes.
|
||||
[param transaction] is the [StoreTransaction] on success.
|
||||
[param status] indicates the result (OK, cancelled, invalid product, etc.).
|
||||
[param error_message] contains error details if failed.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_intent">
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="restore_completed">
|
||||
<param index="0" name="status" type="int" />
|
||||
<param index="1" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when the restore process completes. `arg1` is the [enum StoreKitStatus], and `arg2` is an error message if applicable.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="supscription_update">
|
||||
<param index="0" name="status" type="StoreSubscriptionInfoStatus" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<description>
|
||||
Emitted when a transaction is updated (e.g., a subscription renews or a purchase is approved externally). `transaction` is the updated [StoreTransaction].
|
||||
|
||||
You must call the finished method on the transaction once you have made sure that you have delivered the content to the user.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="unverified_transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="verification_error" type="int" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
<constants>
|
||||
<constant name="OK" value="0" enum="StoreKitStatus">
|
||||
The operation completed successfully.
|
||||
</constant>
|
||||
<constant name="INVALID_PRODUCT" value="1" enum="StoreKitStatus">
|
||||
The product identifier is invalid.
|
||||
</constant>
|
||||
<constant name="CANCELLED" value="2" enum="StoreKitStatus">
|
||||
The operation was cancelled.
|
||||
</constant>
|
||||
<constant name="UNVERIFIED_TRANSACTION" value="3" enum="StoreKitStatus">
|
||||
The transaction could not be verified.
|
||||
</constant>
|
||||
<constant name="USER_CANCELLED" value="4" enum="StoreKitStatus">
|
||||
The user cancelled the operation.
|
||||
</constant>
|
||||
<constant name="PURCHASE_PENDING" value="5" enum="StoreKitStatus">
|
||||
The purchase is pending (e.g., waiting for parental approval).
|
||||
</constant>
|
||||
<constant name="UNKNOWN_STATUS" value="6" enum="StoreKitStatus">
|
||||
An unknown status occurred.
|
||||
</constant>
|
||||
<constant name="REVOKED_CERTIFICATE" value="0" enum="VerificationError">
|
||||
The certificate chain was parsable, but was invalid due to one or more revoked certificates.
|
||||
</constant>
|
||||
<constant name="INVALID_CERTIFICATE_CHAIN" value="1" enum="VerificationError">
|
||||
The certificate chain was parsable, but it was invalid for signing this data.
|
||||
</constant>
|
||||
<constant name="INVALID_DEVICE_VERIFICATION" value="2" enum="VerificationError">
|
||||
The device verification properties were invalid for this device.
|
||||
</constant>
|
||||
<constant name="INVALID_ENCODING" value="3" enum="VerificationError">
|
||||
Th JWS header and any data included in it or it's certificate chain had an invalid encoding.
|
||||
</constant>
|
||||
<constant name="INVALID_SIGNATURE" value="4" enum="VerificationError">
|
||||
The certificate chain was valid for signing this data, but the leaf's public key was invalid for the JWS signature.
|
||||
</constant>
|
||||
<constant name="MISSING_REQUIRED_PROPERTIES" value="5" enum="VerificationError">
|
||||
Either the JWS header or any certificate in the chain was missing necessary properties for verification.
|
||||
</constant>
|
||||
<constant name="OTHER" value="6" enum="VerificationError">
|
||||
A new error code was introduced that was not previously handled.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProduct" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a product available for purchase in the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains information about a product, such as its ID, display name, description, and price. It is returned by [method StoreKitManager.request_products].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="description_value" type="String" setter="" getter="get_description_value" default="""">
|
||||
The description of the product, used for display in the UI.
|
||||
</member>
|
||||
<member name="display_name" type="String" setter="" getter="get_display_name" default="""">
|
||||
The localized display name of the product.
|
||||
</member>
|
||||
<member name="display_price" type="String" setter="" getter="get_display_price" default="""">
|
||||
The formatted price of the product, including the currency symbol (e.g. "$0.99").
|
||||
</member>
|
||||
<member name="is_family_shareable" type="bool" setter="" getter="get_is_family_shareable" default="false">
|
||||
Indicates whether the product can be shared with family members.
|
||||
</member>
|
||||
<member name="json_representation" type="String" setter="" getter="get_json_representation" default="""">
|
||||
A JSON debug representation of the product.
|
||||
</member>
|
||||
<member name="price" type="float" setter="" getter="get_price" default="0.0">
|
||||
The price of the product in the local currency.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier for the product.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPaymentMode" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
The payment modes for subscription offers that apply to a transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_free_trial" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode representing a free trial.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_pay_as_you_go" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays as they go (e.g. monthly for 3 months).
|
||||
</description>
|
||||
</method>
|
||||
<method name="pay_up_front" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays the entire amount up front.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="localized_description" type="String" setter="" getter="get_localized_description" default="""">
|
||||
The localized description of the payment mode.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPurchaseOption" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents an option that can be supplied when purchasing a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You create instances of this class and you can pass those to [method StoreKitManager.purchase_with_options].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="app_account_token" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="stringUuidToken" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with an app account token. This token should be a UUID string that associates the transaction with a user account on your service.
|
||||
</description>
|
||||
</method>
|
||||
<method name="introductory_offer_elligibility" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="jws" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with a specific introductory offer eligibility. This requires the signed JWS string from the App Store.
|
||||
</description>
|
||||
</method>
|
||||
<method name="quantity" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="value" type="int" />
|
||||
<description>
|
||||
Creates a purchase option specifying the quantity of the product to purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="simulate_ask_to_buy_in_sandbox" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="enabled" type="bool" />
|
||||
<description>
|
||||
Creates a purchase option to simulate the "Ask to Buy" flow in the sandbox environment.
|
||||
</description>
|
||||
</method>
|
||||
<method name="win_back_offer" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="offer" type="StoreProductSubscriptionOffer" />
|
||||
<description>
|
||||
Creates a purchase option for a win-back offer.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionOffer" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a subscription offer for a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You configure these in AppStore Connect. See [url=https://developer.apple.com/documentation/storekit/product/subscriptionoffer]Apple's documentation[/url] for additional information
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="INTRODUCTORY" value="0" enum="OfferType">
|
||||
An introductory offer for new subscribers.
|
||||
</constant>
|
||||
<constant name="PROMOTIONAL" value="1" enum="OfferType">
|
||||
A promotional offer for existing or lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="WIN_BACK" value="2" enum="OfferType">
|
||||
A win-back offer for lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="UNKNOWN" value="3" enum="OfferType">
|
||||
An unknown offer type.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionPeriod" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Values that represent the duration of time between subscription renewals.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="DAY" value="0" enum="Unit">
|
||||
A subscription period of one day.
|
||||
</constant>
|
||||
<constant name="MONTH" value="1" enum="Unit">
|
||||
A subscription period of one month.
|
||||
</constant>
|
||||
<constant name="WEEK" value="2" enum="Unit">
|
||||
A subscription period of one week.
|
||||
</constant>
|
||||
<constant name="YEAR" value="3" enum="Unit">
|
||||
A subscription period of one year.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Provides subscription group metadata and status queries.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit subscription information and exposes the subscription group metadata for a product.
|
||||
Use the status methods to query the current subscription status for a product, subscription group, or transaction ID.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="getStatus">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Fetches the current status entries for this subscription. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_group_id">
|
||||
<return type="void" />
|
||||
<param index="0" name="group_id" type="String" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches status entries for the subscription group identifier. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_transaction">
|
||||
<return type="void" />
|
||||
<param index="0" name="transaction_id" type="int" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches the status entry for the provided transaction identifier. The callback receives a [code skip-lint]StoreSubscriptionInfoStatus[/code] when available, an empty [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] when no status is found, or a [code skip-lint]String[/code] describing the error.
|
||||
On macOS, this requires macOS 15.4 or newer; earlier versions perform no action.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="group_display_name" type="String" setter="" getter="get_group_display_name" default="""">
|
||||
The localized display name of the subscription group. Returns an empty string if unavailable.
|
||||
</member>
|
||||
<member name="group_level" type="int" setter="" getter="get_group_level" default="-1">
|
||||
The subscription group level used for upgrade/downgrade ranking. Returns [code]-1[/code] when unavailable.
|
||||
</member>
|
||||
<member name="subscription_group_id" type="String" setter="" getter="get_subscription_group_id" default="""">
|
||||
The subscription group identifier from App Store Connect. Returns an empty string if unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoRenewalInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Contains verified renewal metadata for a subscription.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit renewal information and is only created from verified renewal data.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="app_account_token" type="String" setter="" getter="get_app_account_token" default="""">
|
||||
The app account token used when purchasing, as a UUID string. Returns an empty string when not set.
|
||||
</member>
|
||||
<member name="app_transaction_id" type="String" setter="" getter="get_app_transaction_id" default="""">
|
||||
The app transaction identifier associated with the subscription. Returns an empty string when unavailable.
|
||||
</member>
|
||||
<member name="current_product_id" type="String" setter="" getter="get_current_product_id" default="""">
|
||||
The current product identifier for the subscription group.
|
||||
</member>
|
||||
<member name="original_transaction_id" type="int" setter="" getter="get_original_transaction_id" default="0">
|
||||
The original transaction identifier for the subscription. Returns [code]0[/code] when unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoStatus" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Describes the status of a subscription in a subscription group.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit's subscription status information, including renewal state, verified renewal info, and the latest verified transaction.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="renewal_info" type="StoreSubscriptionInfoRenewalInfo" setter="" getter="get_renewal_info" default="null">
|
||||
Verified renewal info for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
<member name="state" type="int" setter="" getter="get_state" default="0">
|
||||
The current renewal state. Use the [enum RenewalState] constants.
|
||||
</member>
|
||||
<member name="transaction" type="StoreTransaction" setter="" getter="get_transaction" default="null">
|
||||
The latest verified transaction for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="UNKNOWN" value="0" enum="RenewalState">
|
||||
The renewal state is unknown or not available.
|
||||
</constant>
|
||||
<constant name="EXPIRED" value="1" enum="RenewalState">
|
||||
The subscription has expired.
|
||||
</constant>
|
||||
<constant name="SUBSCRIBED" value="2" enum="RenewalState">
|
||||
The subscription is currently active.
|
||||
</constant>
|
||||
<constant name="IN_BILLING_RETRY_PERIOD" value="3" enum="RenewalState">
|
||||
The subscription is in the billing retry period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="IN_GRACE_PERIOD" value="4" enum="RenewalState">
|
||||
The subscription is in the grace period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="REVOKED" value="5" enum="RenewalState">
|
||||
The subscription was revoked by Apple.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreTransaction" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a successful purchase transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains details about a purchase, such as the product ID, purchase date, and expiration date (for subscriptions).
|
||||
|
||||
When you receive a transaction update, you must call the [method finish] method on the transaction once you have made sure
|
||||
that you have delivered the content to the user.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="finish">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The finish method notifies the App Store that the app has successfully provided the purchased content or
|
||||
activated the purchased service, allowing the transaction to be completed.
|
||||
|
||||
Call [method finish] only after your app has delivered the content or enabled the service. If the purchase
|
||||
includes on-demand resources, wait to finish the transaction until the download is complete or the
|
||||
resources have otherwise been fully delivered.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="expiration_date" type="float" setter="" getter="get_expiration_date" default="0.0">
|
||||
The date when the subscription expires, as a Unix timestamp. Returns 0 if not applicable.
|
||||
</member>
|
||||
<member name="is_upgraded" type="bool" setter="" getter="get_is_upgraded" default="false">
|
||||
Whether this transaction is an upgrade of another transaction.
|
||||
</member>
|
||||
<member name="jws_representation" type="String" setter="" getter="get_jws_representation" default="""">
|
||||
The JWS (JSON Web Signature) representation of the signed transaction, suitable for server-side receipt validation (for example the App Store Server API or a third-party validator such as RevenueCat). Empty when the transaction was not constructed from a verification result.
|
||||
</member>
|
||||
<member name="original_id" type="int" setter="" getter="get_original_id" default="0">
|
||||
The transaction identifier of the original purchase.
|
||||
</member>
|
||||
<member name="ownership_type" type="String" setter="" getter="get_ownership_type" default=""unknown"">
|
||||
The type of ownership (e.g., "purchased", "familyShared", "unknown").
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier of the purchased product.
|
||||
</member>
|
||||
<member name="purchase_date" type="float" setter="" getter="get_purchase_date" default="0.0">
|
||||
The date when the purchase was made, as a Unix timestamp.
|
||||
</member>
|
||||
<member name="revocation_date" type="float" setter="" getter="get_revocation_date" default="0.0">
|
||||
The date when the transaction was revoked, as a Unix timestamp. Returns 0 if not revoked.
|
||||
</member>
|
||||
<member name="transaction_id" type="int" setter="" getter="get_transaction_id" default="0">
|
||||
The unique identifier of the transaction.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a collection of products.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays multiple products from the App Store. It is useful for creating a storefront or a list of available items.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="product_ids" type="PackedStringArray" setter="set_product_ids" getter="get_product_ids" default="PackedStringArray()">
|
||||
A list of product identifiers to display in the store view.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionOfferView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for redeeming subscription offers.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class provides a view for users to redeem subscription offer codes. It handles the UI flow for entering and verifying offer codes.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Presents the offer code redemption view. note: The `callback` parameter is currently unused; use the [signal success] and [signal error] signals to handle the result.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="title" type="String" setter="set_title" getter="get_title" default=""Redeeming Offer..."">
|
||||
The title displayed on the view.
|
||||
</member>
|
||||
</members>
|
||||
<signals>
|
||||
<signal name="error">
|
||||
<param index="0" name="message" type="String" />
|
||||
<description>
|
||||
Emitted when the offer redemption fails. `arg1` contains the error message.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="success">
|
||||
<description>
|
||||
Emitted when the offer redemption is successful.
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionStoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for displaying subscription options.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class presents a standard StoreKit subscription view. It can be configured to show a specific subscription group or a list of specific products. The visual style of the controls is also customizable.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the subscription store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="control_style" type="int" setter="set_control_style" getter="get_control_style" default="0">
|
||||
The visual style of the subscription controls. See [enum ControlStyle] for options.
|
||||
</member>
|
||||
<member name="group_id" type="String" setter="set_group_id" getter="get_group_id" default="""">
|
||||
The identifier of the subscription group to display. If set, this takes precedence over [member product_i_ds].
|
||||
</member>
|
||||
<member name="product_i_ds" type="PackedStringArray" setter="set_product_i_ds" getter="get_product_i_ds" default="PackedStringArray()">
|
||||
A list of specific product identifiers to display. Ignored if [member group_id] is set.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ControlStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="PICKER" value="1" enum="ControlStyle">
|
||||
A picker style.
|
||||
</constant>
|
||||
<constant name="BUTTONS" value="2" enum="ControlStyle">
|
||||
A button-based style.
|
||||
</constant>
|
||||
<constant name="COMPACT_PICKER" value="3" enum="ControlStyle">
|
||||
A compact picker style.
|
||||
</constant>
|
||||
<constant name="PROMINENT_PICKER" value="4" enum="ControlStyle">
|
||||
A prominent picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PICKER" value="5" enum="ControlStyle">
|
||||
A paged picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PROMINENT_PICKER" value="6" enum="ControlStyle">
|
||||
A prominent paged picker style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,282 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
a55hY0Y80uiEzgMh34WPQ7T7f9g=
|
||||
</data>
|
||||
<key>Resources/doc_classes/ProductView.xml</key>
|
||||
<data>
|
||||
3M/6BEREzR8r51+r7zHfNSE5b/Y=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreKitManager.xml</key>
|
||||
<data>
|
||||
bt53Uy4kbGGF9s1fmSNPavGPnpU=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProduct.xml</key>
|
||||
<data>
|
||||
mwGN2YBdj37NeXDdKBGxIhu6F1Q=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductPaymentMode.xml</key>
|
||||
<data>
|
||||
NWY7MWtIM/XlQIVtJfnEJDg5O00=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductPurchaseOption.xml</key>
|
||||
<data>
|
||||
169Dx+ppSwA69d/5JTXMtg9Wu+4=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionOffer.xml</key>
|
||||
<data>
|
||||
Z9WImiN8BvWcEXY3kS78lNuIHTE=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionPeriod.xml</key>
|
||||
<data>
|
||||
2GZh4pGspXZ6DTfBgsIvKk+rsKg=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfo.xml</key>
|
||||
<data>
|
||||
iTUGmpMJSPm1WxCSZ1FxHoTlvg4=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoRenewalInfo.xml</key>
|
||||
<data>
|
||||
sidHqdcp1EqWz8BWDhmiFp+4jSw=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoStatus.xml</key>
|
||||
<data>
|
||||
fFnkPu1YM23Oje4l/Bq14YYe5fQ=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreTransaction.xml</key>
|
||||
<data>
|
||||
SEF4DEE7yg/NvV73/uaKoEafHJk=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreView.xml</key>
|
||||
<data>
|
||||
2dsu8CTBVlVg6KNiS/MuzBEJg7U=
|
||||
</data>
|
||||
<key>Resources/doc_classes/SubscriptionOfferView.xml</key>
|
||||
<data>
|
||||
b5WaOfu8qhnx5i23j63JbHk/kzE=
|
||||
</data>
|
||||
<key>Resources/doc_classes/SubscriptionStoreView.xml</key>
|
||||
<data>
|
||||
EoSh+YB8fT3oUQSc5LfSUmBXoLM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/6j/2zcQNRzfP1sg63em4jRqPqhGSiGOpqfgQCzJeNM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/ProductView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
7Ddtn8pSBD+TNGRdC25Il10b5UZYYxU0grcp/IyZdlw=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreKitManager.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dZ6oFf761fvgzfkz45zY9Henbznpq3PFMvr1r9WLMFE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProduct.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TvmIFLQO8Mh1OadfUGo3MSE97h/rtQdoWXiRXkM3jQA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductPaymentMode.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TDqPjis6qFjJQzKCo4FJJd4fFcIJ2cIviwErHcoJ5XQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductPurchaseOption.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
O8BFgmvMVyqR/0rjOusvZv2FE56kO5585gj3KqoZnWU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionOffer.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
C98FhDedLmFFe9gcOjar1labrLrbH9X6mFbQ8te3NBQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionPeriod.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
pDzhbm+IN3xUQ/jVbRKkxnjIOr7NeP3Q81f3T3Lp9LI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfo.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ghTYbH7kRMCHMadaJk9UZYfr3rMPvTnDDOIjFyhnzxY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoRenewalInfo.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
YeI62LA698nuy18k3V+6ZfW2En4hMvG6XHx6xhD8RE8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoStatus.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dVeYxCgV/Tuzu+G9T0DS++vSUDMcbeSvNQQTjDWc0lM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreTransaction.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2IYnBgeGbRHqCP0R1G/IT3yiEsagfvmyGTW83kecb4w=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JYaszhGFbW9nynHNO/cQYwigipk/kwgHgviYdcgJ7xY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/SubscriptionOfferView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2XxnmOysDfBXDux9ZtJcLkV2Gx0SRlrvHm05mgVChVk=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/SubscriptionStoreView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JEaDbQQ6WRP2sZn2J5jtbOYsyJyWQwRO+FXUYmoTGVA=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AvailableLibraries</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>GodotApplePluginsStoreKit.framework/GodotApplePluginsStoreKit</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>GodotApplePluginsStoreKit.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>GodotApplePluginsStoreKit.framework/GodotApplePluginsStoreKit</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64_x86_64-simulator</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>GodotApplePluginsStoreKit.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
<string>x86_64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
<key>SupportedPlatformVariant</key>
|
||||
<string>simulator</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XFWK</string>
|
||||
<key>XCFrameworkFormatVersion</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,101 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Info.plist</key>
|
||||
<data>
|
||||
V8PWdxC5/1nXKwt1M5QCJgGRdjA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict/>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,101 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Info.plist</key>
|
||||
<data>
|
||||
L4kon8ZV5wwiJdTfnRgX6BK3cqI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict/>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
XSym
|
||||
0042
|
||||
8cedafd2db76746fc7627d87b40dbaa3
|
||||
Versions/Current/GodotApplePluginsStoreKit
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
XSym
|
||||
0026
|
||||
e58c4cf10cc7c8ef7d7167ccb641aeb4
|
||||
Versions/Current/Resources
|
||||
|
||||
Binary file not shown.
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>25F71</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>godotappleplugins.GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>GodotApplePluginsStoreKit</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>26.4</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>25E251</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx26.4</string>
|
||||
<key>DTXcode</key>
|
||||
<string>2641</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>17E202</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>14.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="ProductView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a single product from the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays a single product from the App Store. It allows you to configure the product to display, the style of the view, and the icon to use.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the product view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="prefers_promotional_icon" type="bool" setter="set_prefers_promotional_icon" getter="get_prefers_promotional_icon" default="false">
|
||||
Whether the view prefers to show the promotional icon for the product.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="set_product_id" getter="get_product_id" default="""">
|
||||
The product identifier of the product to display.
|
||||
</member>
|
||||
<member name="style" type="int" setter="set_style" getter="get_style" default="0">
|
||||
The style of the product view. See [enum ViewStyle] for available options.
|
||||
</member>
|
||||
<member name="system_icon_name" type="String" setter="set_system_icon_name" getter="get_system_icon_name" default=""cart"">
|
||||
The name of the system icon to use as a placeholder while the product icon loads.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ViewStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="COMPACT" value="1" enum="ViewStyle">
|
||||
A compact style that displays minimal information.
|
||||
</constant>
|
||||
<constant name="LARGE" value="2" enum="ViewStyle">
|
||||
A large style that displays more detailed information.
|
||||
</constant>
|
||||
<constant name="REGULAR" value="3" enum="ViewStyle">
|
||||
The regular style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreKitManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Manages StoreKit interactions such as requesting products, purchasing, and restoring purchases.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class handles the core StoreKit functionality. It provides methods to fetch product information from the App Store, initiate purchases,
|
||||
restore previous purchases and be notified of the current status of the purchase upon startup.
|
||||
|
||||
Once you instantiate this class, connect to the the [signal transaction_updated] signal to
|
||||
get notification related to the status of your purchases - these are delivered to notify
|
||||
your application of what products your user is entitled to at startup. If you are using
|
||||
Apple's PurchaseIntent, you will also want to connect to the [signal purchase_intent].
|
||||
|
||||
The [signal transaction_updated] is only raised for verified transactions.
|
||||
Apple also supports unverified transactions, those are posted to the [signal unverified_transaction_updated] signal
|
||||
and in addition to the transaction they contains a status code from the [enum VerificationError].
|
||||
|
||||
After you have set up your signals, you are ready to receive those events.
|
||||
|
||||
In addition, when you call the [method purchase] or [method purchase_with_options] you will
|
||||
want to setup a handler for the [signal purchase_completed] signal which is raised in
|
||||
response to different events during the purchasing.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="fetch_current_entitlements">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The current entitlements sequence provides the most recent transaction for each product the customer is entitled to, use this
|
||||
to refresh the list of features the user is entitled to.
|
||||
|
||||
Specifically, it includes:
|
||||
|
||||
* One transaction for each non-consumable In-App Purchase
|
||||
* The latest transaction for each auto-renewable subscription whose Product.SubscriptionInfo.RenewalState is either subscribed or inGracePeriod
|
||||
* The latest transaction for each non-renewing subscription, including those that have ended
|
||||
* Products that have been refunded or revoked by the App Store are excluded from the current entitlements, as are consumable In-App Purchases. To retrieve transactions for unfinished consumables, use the unfinished or all transaction sequences instead.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code]. This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="purchase_with_options">
|
||||
<return type="void" />
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<param index="1" name="options" type="Array" />
|
||||
<description>
|
||||
Initiates the purchase of a specific product, e.g. [code]purchase(product)[/code], and allows you to provide additional purchase options.
|
||||
This will raise the
|
||||
[signal purchase_completed] signal, either to indicate that an error took place, or the status of the
|
||||
purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="request_products">
|
||||
<return type="void" />
|
||||
<param index="0" name="productIds" type="PackedStringArray" />
|
||||
<description>
|
||||
Requests product information for a list of product identifiers, e.g. [code]request_products(PackedStringArray(["com.example.product1", "com.example.product2"]))[/code].
|
||||
This method will raise the [signal products_request_completed] signal when the information is retrieved.
|
||||
</description>
|
||||
</method>
|
||||
<method name="restore_purchases">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Restores previously purchased non-consumable products and auto-renewable subscriptions. This will raise the
|
||||
[signal restore_completed] signal when the product purchased have been restored.
|
||||
</description>
|
||||
</method>
|
||||
<method name="start">
|
||||
<return type="void" />
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<signals>
|
||||
<signal name="products_request_completed">
|
||||
<param index="0" name="products" type="Array" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<description>
|
||||
Emitted when a product request completes.
|
||||
[param products] is an Array of [StoreProduct]s (or nulls).
|
||||
[param status] indicates success or failure.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_completed">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="status" type="int" />
|
||||
<param index="2" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when a purchase completes.
|
||||
[param transaction] is the [StoreTransaction] on success.
|
||||
[param status] indicates the result (OK, cancelled, invalid product, etc.).
|
||||
[param error_message] contains error details if failed.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="purchase_intent">
|
||||
<param index="0" name="product" type="StoreProduct" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="restore_completed">
|
||||
<param index="0" name="status" type="int" />
|
||||
<param index="1" name="error_message" type="String" />
|
||||
<description>
|
||||
Emitted when the restore process completes. `arg1` is the [enum StoreKitStatus], and `arg2` is an error message if applicable.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="supscription_update">
|
||||
<param index="0" name="status" type="StoreSubscriptionInfoStatus" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<description>
|
||||
Emitted when a transaction is updated (e.g., a subscription renews or a purchase is approved externally). `transaction` is the updated [StoreTransaction].
|
||||
|
||||
You must call the finished method on the transaction once you have made sure that you have delivered the content to the user.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="unverified_transaction_updated">
|
||||
<param index="0" name="transaction" type="StoreTransaction" />
|
||||
<param index="1" name="verification_error" type="int" />
|
||||
<description>
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
<constants>
|
||||
<constant name="OK" value="0" enum="StoreKitStatus">
|
||||
The operation completed successfully.
|
||||
</constant>
|
||||
<constant name="INVALID_PRODUCT" value="1" enum="StoreKitStatus">
|
||||
The product identifier is invalid.
|
||||
</constant>
|
||||
<constant name="CANCELLED" value="2" enum="StoreKitStatus">
|
||||
The operation was cancelled.
|
||||
</constant>
|
||||
<constant name="UNVERIFIED_TRANSACTION" value="3" enum="StoreKitStatus">
|
||||
The transaction could not be verified.
|
||||
</constant>
|
||||
<constant name="USER_CANCELLED" value="4" enum="StoreKitStatus">
|
||||
The user cancelled the operation.
|
||||
</constant>
|
||||
<constant name="PURCHASE_PENDING" value="5" enum="StoreKitStatus">
|
||||
The purchase is pending (e.g., waiting for parental approval).
|
||||
</constant>
|
||||
<constant name="UNKNOWN_STATUS" value="6" enum="StoreKitStatus">
|
||||
An unknown status occurred.
|
||||
</constant>
|
||||
<constant name="REVOKED_CERTIFICATE" value="0" enum="VerificationError">
|
||||
The certificate chain was parsable, but was invalid due to one or more revoked certificates.
|
||||
</constant>
|
||||
<constant name="INVALID_CERTIFICATE_CHAIN" value="1" enum="VerificationError">
|
||||
The certificate chain was parsable, but it was invalid for signing this data.
|
||||
</constant>
|
||||
<constant name="INVALID_DEVICE_VERIFICATION" value="2" enum="VerificationError">
|
||||
The device verification properties were invalid for this device.
|
||||
</constant>
|
||||
<constant name="INVALID_ENCODING" value="3" enum="VerificationError">
|
||||
Th JWS header and any data included in it or it's certificate chain had an invalid encoding.
|
||||
</constant>
|
||||
<constant name="INVALID_SIGNATURE" value="4" enum="VerificationError">
|
||||
The certificate chain was valid for signing this data, but the leaf's public key was invalid for the JWS signature.
|
||||
</constant>
|
||||
<constant name="MISSING_REQUIRED_PROPERTIES" value="5" enum="VerificationError">
|
||||
Either the JWS header or any certificate in the chain was missing necessary properties for verification.
|
||||
</constant>
|
||||
<constant name="OTHER" value="6" enum="VerificationError">
|
||||
A new error code was introduced that was not previously handled.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProduct" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a product available for purchase in the App Store.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains information about a product, such as its ID, display name, description, and price. It is returned by [method StoreKitManager.request_products].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="description_value" type="String" setter="" getter="get_description_value" default="""">
|
||||
The description of the product, used for display in the UI.
|
||||
</member>
|
||||
<member name="display_name" type="String" setter="" getter="get_display_name" default="""">
|
||||
The localized display name of the product.
|
||||
</member>
|
||||
<member name="display_price" type="String" setter="" getter="get_display_price" default="""">
|
||||
The formatted price of the product, including the currency symbol (e.g. "$0.99").
|
||||
</member>
|
||||
<member name="is_family_shareable" type="bool" setter="" getter="get_is_family_shareable" default="false">
|
||||
Indicates whether the product can be shared with family members.
|
||||
</member>
|
||||
<member name="json_representation" type="String" setter="" getter="get_json_representation" default="""">
|
||||
A JSON debug representation of the product.
|
||||
</member>
|
||||
<member name="price" type="float" setter="" getter="get_price" default="0.0">
|
||||
The price of the product in the local currency.
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier for the product.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPaymentMode" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
The payment modes for subscription offers that apply to a transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_free_trial" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode representing a free trial.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_pay_as_you_go" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays as they go (e.g. monthly for 3 months).
|
||||
</description>
|
||||
</method>
|
||||
<method name="pay_up_front" qualifiers="static">
|
||||
<return type="StoreProductPaymentMode" />
|
||||
<description>
|
||||
Returns a payment mode where the user pays the entire amount up front.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="localized_description" type="String" setter="" getter="get_localized_description" default="""">
|
||||
The localized description of the payment mode.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductPurchaseOption" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents an option that can be supplied when purchasing a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You create instances of this class and you can pass those to [method StoreKitManager.purchase_with_options].
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="app_account_token" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="stringUuidToken" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with an app account token. This token should be a UUID string that associates the transaction with a user account on your service.
|
||||
</description>
|
||||
</method>
|
||||
<method name="introductory_offer_elligibility" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="jws" type="String" />
|
||||
<description>
|
||||
Creates a purchase option with a specific introductory offer eligibility. This requires the signed JWS string from the App Store.
|
||||
</description>
|
||||
</method>
|
||||
<method name="quantity" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="value" type="int" />
|
||||
<description>
|
||||
Creates a purchase option specifying the quantity of the product to purchase.
|
||||
</description>
|
||||
</method>
|
||||
<method name="simulate_ask_to_buy_in_sandbox" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="enabled" type="bool" />
|
||||
<description>
|
||||
Creates a purchase option to simulate the "Ask to Buy" flow in the sandbox environment.
|
||||
</description>
|
||||
</method>
|
||||
<method name="win_back_offer" qualifiers="static">
|
||||
<return type="StoreProductPurchaseOption" />
|
||||
<param index="0" name="offer" type="StoreProductSubscriptionOffer" />
|
||||
<description>
|
||||
Creates a purchase option for a win-back offer.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionOffer" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a subscription offer for a [StoreProduct].
|
||||
</brief_description>
|
||||
<description>
|
||||
You configure these in AppStore Connect. See [url=https://developer.apple.com/documentation/storekit/product/subscriptionoffer]Apple's documentation[/url] for additional information
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="INTRODUCTORY" value="0" enum="OfferType">
|
||||
An introductory offer for new subscribers.
|
||||
</constant>
|
||||
<constant name="PROMOTIONAL" value="1" enum="OfferType">
|
||||
A promotional offer for existing or lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="WIN_BACK" value="2" enum="OfferType">
|
||||
A win-back offer for lapsed subscribers.
|
||||
</constant>
|
||||
<constant name="UNKNOWN" value="3" enum="OfferType">
|
||||
An unknown offer type.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreProductSubscriptionPeriod" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Values that represent the duration of time between subscription renewals.
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<constants>
|
||||
<constant name="DAY" value="0" enum="Unit">
|
||||
A subscription period of one day.
|
||||
</constant>
|
||||
<constant name="MONTH" value="1" enum="Unit">
|
||||
A subscription period of one month.
|
||||
</constant>
|
||||
<constant name="WEEK" value="2" enum="Unit">
|
||||
A subscription period of one week.
|
||||
</constant>
|
||||
<constant name="YEAR" value="3" enum="Unit">
|
||||
A subscription period of one year.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Provides subscription group metadata and status queries.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit subscription information and exposes the subscription group metadata for a product.
|
||||
Use the status methods to query the current subscription status for a product, subscription group, or transaction ID.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="getStatus">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Fetches the current status entries for this subscription. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_group_id">
|
||||
<return type="void" />
|
||||
<param index="0" name="group_id" type="String" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches status entries for the subscription group identifier. The callback receives a [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] on success, or a [code skip-lint]String[/code] describing the error.
|
||||
</description>
|
||||
</method>
|
||||
<method name="status_for_transaction">
|
||||
<return type="void" />
|
||||
<param index="0" name="transaction_id" type="int" />
|
||||
<param index="1" name="status" type="Callable" />
|
||||
<description>
|
||||
Fetches the status entry for the provided transaction identifier. The callback receives a [code skip-lint]StoreSubscriptionInfoStatus[/code] when available, an empty [code skip-lint]Array[StoreSubscriptionInfoStatus][/code] when no status is found, or a [code skip-lint]String[/code] describing the error.
|
||||
On macOS, this requires macOS 15.4 or newer; earlier versions perform no action.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="group_display_name" type="String" setter="" getter="get_group_display_name" default="""">
|
||||
The localized display name of the subscription group. Returns an empty string if unavailable.
|
||||
</member>
|
||||
<member name="group_level" type="int" setter="" getter="get_group_level" default="-1">
|
||||
The subscription group level used for upgrade/downgrade ranking. Returns [code]-1[/code] when unavailable.
|
||||
</member>
|
||||
<member name="subscription_group_id" type="String" setter="" getter="get_subscription_group_id" default="""">
|
||||
The subscription group identifier from App Store Connect. Returns an empty string if unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoRenewalInfo" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Contains verified renewal metadata for a subscription.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit renewal information and is only created from verified renewal data.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="app_account_token" type="String" setter="" getter="get_app_account_token" default="""">
|
||||
The app account token used when purchasing, as a UUID string. Returns an empty string when not set.
|
||||
</member>
|
||||
<member name="app_transaction_id" type="String" setter="" getter="get_app_transaction_id" default="""">
|
||||
The app transaction identifier associated with the subscription. Returns an empty string when unavailable.
|
||||
</member>
|
||||
<member name="current_product_id" type="String" setter="" getter="get_current_product_id" default="""">
|
||||
The current product identifier for the subscription group.
|
||||
</member>
|
||||
<member name="original_transaction_id" type="int" setter="" getter="get_original_transaction_id" default="0">
|
||||
The original transaction identifier for the subscription. Returns [code]0[/code] when unavailable.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreSubscriptionInfoStatus" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Describes the status of a subscription in a subscription group.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class wraps StoreKit's subscription status information, including renewal state, verified renewal info, and the latest verified transaction.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<members>
|
||||
<member name="renewal_info" type="StoreSubscriptionInfoRenewalInfo" setter="" getter="get_renewal_info" default="null">
|
||||
Verified renewal info for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
<member name="state" type="int" setter="" getter="get_state" default="0">
|
||||
The current renewal state. Use the [enum RenewalState] constants.
|
||||
</member>
|
||||
<member name="transaction" type="StoreTransaction" setter="" getter="get_transaction" default="null">
|
||||
The latest verified transaction for the subscription, or [code]null[/code] if it is missing or unverified.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="UNKNOWN" value="0" enum="RenewalState">
|
||||
The renewal state is unknown or not available.
|
||||
</constant>
|
||||
<constant name="EXPIRED" value="1" enum="RenewalState">
|
||||
The subscription has expired.
|
||||
</constant>
|
||||
<constant name="SUBSCRIBED" value="2" enum="RenewalState">
|
||||
The subscription is currently active.
|
||||
</constant>
|
||||
<constant name="IN_BILLING_RETRY_PERIOD" value="3" enum="RenewalState">
|
||||
The subscription is in the billing retry period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="IN_GRACE_PERIOD" value="4" enum="RenewalState">
|
||||
The subscription is in the grace period after a failed renewal.
|
||||
</constant>
|
||||
<constant name="REVOKED" value="5" enum="RenewalState">
|
||||
The subscription was revoked by Apple.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreTransaction" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
Represents a successful purchase transaction.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class contains details about a purchase, such as the product ID, purchase date, and expiration date (for subscriptions).
|
||||
|
||||
When you receive a transaction update, you must call the [method finish] method on the transaction once you have made sure
|
||||
that you have delivered the content to the user.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="finish">
|
||||
<return type="void" />
|
||||
<description>
|
||||
The finish method notifies the App Store that the app has successfully provided the purchased content or
|
||||
activated the purchased service, allowing the transaction to be completed.
|
||||
|
||||
Call [method finish] only after your app has delivered the content or enabled the service. If the purchase
|
||||
includes on-demand resources, wait to finish the transaction until the download is complete or the
|
||||
resources have otherwise been fully delivered.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="expiration_date" type="float" setter="" getter="get_expiration_date" default="0.0">
|
||||
The date when the subscription expires, as a Unix timestamp. Returns 0 if not applicable.
|
||||
</member>
|
||||
<member name="is_upgraded" type="bool" setter="" getter="get_is_upgraded" default="false">
|
||||
Whether this transaction is an upgrade of another transaction.
|
||||
</member>
|
||||
<member name="jws_representation" type="String" setter="" getter="get_jws_representation" default="""">
|
||||
The JWS (JSON Web Signature) representation of the signed transaction, suitable for server-side receipt validation (for example the App Store Server API or a third-party validator such as RevenueCat). Empty when the transaction was not constructed from a verification result.
|
||||
</member>
|
||||
<member name="original_id" type="int" setter="" getter="get_original_id" default="0">
|
||||
The transaction identifier of the original purchase.
|
||||
</member>
|
||||
<member name="ownership_type" type="String" setter="" getter="get_ownership_type" default=""unknown"">
|
||||
The type of ownership (e.g., "purchased", "familyShared", "unknown").
|
||||
</member>
|
||||
<member name="product_id" type="String" setter="" getter="get_product_id" default="""">
|
||||
The unique identifier of the purchased product.
|
||||
</member>
|
||||
<member name="purchase_date" type="float" setter="" getter="get_purchase_date" default="0.0">
|
||||
The date when the purchase was made, as a Unix timestamp.
|
||||
</member>
|
||||
<member name="revocation_date" type="float" setter="" getter="get_revocation_date" default="0.0">
|
||||
The date when the transaction was revoked, as a Unix timestamp. Returns 0 if not revoked.
|
||||
</member>
|
||||
<member name="transaction_id" type="int" setter="" getter="get_transaction_id" default="0">
|
||||
The unique identifier of the transaction.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="StoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view that displays a collection of products.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class represents a view that displays multiple products from the App Store. It is useful for creating a storefront or a list of available items.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="product_ids" type="PackedStringArray" setter="set_product_ids" getter="get_product_ids" default="PackedStringArray()">
|
||||
A list of product identifiers to display in the store view.
|
||||
</member>
|
||||
</members>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionOfferView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for redeeming subscription offers.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class provides a view for users to redeem subscription offer codes. It handles the UI flow for entering and verifying offer codes.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<param index="0" name="callback" type="Callable" />
|
||||
<description>
|
||||
Presents the offer code redemption view. note: The `callback` parameter is currently unused; use the [signal success] and [signal error] signals to handle the result.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="title" type="String" setter="set_title" getter="get_title" default=""Redeeming Offer..."">
|
||||
The title displayed on the view.
|
||||
</member>
|
||||
</members>
|
||||
<signals>
|
||||
<signal name="error">
|
||||
<param index="0" name="message" type="String" />
|
||||
<description>
|
||||
Emitted when the offer redemption fails. `arg1` contains the error message.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="success">
|
||||
<description>
|
||||
Emitted when the offer redemption is successful.
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="SubscriptionStoreView" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
|
||||
<brief_description>
|
||||
A view for displaying subscription options.
|
||||
</brief_description>
|
||||
<description>
|
||||
This class presents a standard StoreKit subscription view. It can be configured to show a specific subscription group or a list of specific products. The visual style of the controls is also customizable.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="dismiss">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Dismisses the currently presented view.
|
||||
</description>
|
||||
</method>
|
||||
<method name="present">
|
||||
<return type="void" />
|
||||
<description>
|
||||
Presents the subscription store view on top of the current view hierarchy.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="control_style" type="int" setter="set_control_style" getter="get_control_style" default="0">
|
||||
The visual style of the subscription controls. See [enum ControlStyle] for options.
|
||||
</member>
|
||||
<member name="group_id" type="String" setter="set_group_id" getter="get_group_id" default="""">
|
||||
The identifier of the subscription group to display. If set, this takes precedence over [member product_i_ds].
|
||||
</member>
|
||||
<member name="product_i_ds" type="PackedStringArray" setter="set_product_i_ds" getter="get_product_i_ds" default="PackedStringArray()">
|
||||
A list of specific product identifiers to display. Ignored if [member group_id] is set.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="AUTOMATIC" value="0" enum="ControlStyle">
|
||||
The system automatically chooses the most appropriate style.
|
||||
</constant>
|
||||
<constant name="PICKER" value="1" enum="ControlStyle">
|
||||
A picker style.
|
||||
</constant>
|
||||
<constant name="BUTTONS" value="2" enum="ControlStyle">
|
||||
A button-based style.
|
||||
</constant>
|
||||
<constant name="COMPACT_PICKER" value="3" enum="ControlStyle">
|
||||
A compact picker style.
|
||||
</constant>
|
||||
<constant name="PROMINENT_PICKER" value="4" enum="ControlStyle">
|
||||
A prominent picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PICKER" value="5" enum="ControlStyle">
|
||||
A paged picker style.
|
||||
</constant>
|
||||
<constant name="PAGED_PROMINENT_PICKER" value="6" enum="ControlStyle">
|
||||
A prominent paged picker style.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
@ -0,0 +1,282 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
a55hY0Y80uiEzgMh34WPQ7T7f9g=
|
||||
</data>
|
||||
<key>Resources/doc_classes/ProductView.xml</key>
|
||||
<data>
|
||||
3M/6BEREzR8r51+r7zHfNSE5b/Y=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreKitManager.xml</key>
|
||||
<data>
|
||||
bt53Uy4kbGGF9s1fmSNPavGPnpU=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProduct.xml</key>
|
||||
<data>
|
||||
mwGN2YBdj37NeXDdKBGxIhu6F1Q=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductPaymentMode.xml</key>
|
||||
<data>
|
||||
NWY7MWtIM/XlQIVtJfnEJDg5O00=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductPurchaseOption.xml</key>
|
||||
<data>
|
||||
169Dx+ppSwA69d/5JTXMtg9Wu+4=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionOffer.xml</key>
|
||||
<data>
|
||||
Z9WImiN8BvWcEXY3kS78lNuIHTE=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionPeriod.xml</key>
|
||||
<data>
|
||||
2GZh4pGspXZ6DTfBgsIvKk+rsKg=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfo.xml</key>
|
||||
<data>
|
||||
iTUGmpMJSPm1WxCSZ1FxHoTlvg4=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoRenewalInfo.xml</key>
|
||||
<data>
|
||||
sidHqdcp1EqWz8BWDhmiFp+4jSw=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoStatus.xml</key>
|
||||
<data>
|
||||
fFnkPu1YM23Oje4l/Bq14YYe5fQ=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreTransaction.xml</key>
|
||||
<data>
|
||||
SEF4DEE7yg/NvV73/uaKoEafHJk=
|
||||
</data>
|
||||
<key>Resources/doc_classes/StoreView.xml</key>
|
||||
<data>
|
||||
2dsu8CTBVlVg6KNiS/MuzBEJg7U=
|
||||
</data>
|
||||
<key>Resources/doc_classes/SubscriptionOfferView.xml</key>
|
||||
<data>
|
||||
b5WaOfu8qhnx5i23j63JbHk/kzE=
|
||||
</data>
|
||||
<key>Resources/doc_classes/SubscriptionStoreView.xml</key>
|
||||
<data>
|
||||
EoSh+YB8fT3oUQSc5LfSUmBXoLM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/6j/2zcQNRzfP1sg63em4jRqPqhGSiGOpqfgQCzJeNM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/ProductView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
7Ddtn8pSBD+TNGRdC25Il10b5UZYYxU0grcp/IyZdlw=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreKitManager.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dZ6oFf761fvgzfkz45zY9Henbznpq3PFMvr1r9WLMFE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProduct.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TvmIFLQO8Mh1OadfUGo3MSE97h/rtQdoWXiRXkM3jQA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductPaymentMode.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
TDqPjis6qFjJQzKCo4FJJd4fFcIJ2cIviwErHcoJ5XQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductPurchaseOption.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
O8BFgmvMVyqR/0rjOusvZv2FE56kO5585gj3KqoZnWU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionOffer.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
C98FhDedLmFFe9gcOjar1labrLrbH9X6mFbQ8te3NBQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreProductSubscriptionPeriod.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
pDzhbm+IN3xUQ/jVbRKkxnjIOr7NeP3Q81f3T3Lp9LI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfo.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ghTYbH7kRMCHMadaJk9UZYfr3rMPvTnDDOIjFyhnzxY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoRenewalInfo.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
YeI62LA698nuy18k3V+6ZfW2En4hMvG6XHx6xhD8RE8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreSubscriptionInfoStatus.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dVeYxCgV/Tuzu+G9T0DS++vSUDMcbeSvNQQTjDWc0lM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreTransaction.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2IYnBgeGbRHqCP0R1G/IT3yiEsagfvmyGTW83kecb4w=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/StoreView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JYaszhGFbW9nynHNO/cQYwigipk/kwgHgviYdcgJ7xY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/SubscriptionOfferView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
2XxnmOysDfBXDux9ZtJcLkV2Gx0SRlrvHm05mgVChVk=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/doc_classes/SubscriptionStoreView.xml</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JEaDbQQ6WRP2sZn2J5jtbOYsyJyWQwRO+FXUYmoTGVA=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
XSym
|
||||
0001
|
||||
7fc56270e7a70fa81a5935b72eacbe29
|
||||
A
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,18 @@
|
|||
[configuration]
|
||||
|
||||
entry_symbol = "godot_apple_plugins_storekit_start"
|
||||
compatibility_minimum = 4.2
|
||||
|
||||
[libraries]
|
||||
ios = "res://addons/GodotApplePluginsStoreKit/bin/GodotApplePluginsStoreKit.xcframework"
|
||||
linux.arm64 = "res://addons/GodotApplePluginsStoreKit/bin/godot_apple_plugins_storekit_stub.linux.arm64.so"
|
||||
linux.x86_64 = "res://addons/GodotApplePluginsStoreKit/bin/godot_apple_plugins_storekit_stub.linux.x86_64.so"
|
||||
macos.arm64 = "res://addons/GodotApplePluginsStoreKit/bin/GodotApplePluginsStoreKit.framework"
|
||||
macos.x86_64 = "res://addons/GodotApplePluginsStoreKit/bin/GodotApplePluginsStoreKit_x64.framework"
|
||||
windows.arm64 = "res://addons/GodotApplePluginsStoreKit/bin/godot_apple_plugins_storekit_stub.windows.arm64.dll"
|
||||
windows.x86_64 = "res://addons/GodotApplePluginsStoreKit/bin/godot_apple_plugins_storekit_stub.windows.x86_64.dll"
|
||||
|
||||
[dependencies]
|
||||
ios = { "res://addons/GodotApplePluginsRuntime/bin/SwiftGodotRuntime.xcframework": "" }
|
||||
macos.arm64 = { "res://addons/GodotApplePluginsRuntime/bin/SwiftGodotRuntime.framework": "" }
|
||||
macos.x86_64 = { "res://addons/GodotApplePluginsRuntime/bin/SwiftGodotRuntime_x64.framework": "" }
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bdk4tefhew8xb
|
||||
Loading…
Add table
Add a link
Reference in a new issue