Skip to content

Commit 9eb6f6c

Browse files
committed
Merge remote-tracking branch 'origin/game-sdks/wallet-separation' into game-sdks/wallet-separation
2 parents fc51b12 + 8d8c365 commit 9eb6f6c

File tree

6 files changed

+101
-11
lines changed

6 files changed

+101
-11
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: Checkout UI
3+
---
4+
5+
El SDK incluye una interfaz de pago (Checkout UI) predeterminada que recomendamos usar como punto de partida y personalizar para su juego.
6+
7+
## Trabajando con la Checkout UI incorporada
8+
Hemos incluido un `CheckoutPanel` como parte de nuestro conjunto de Boilerplates. Al igual que el resto de los boilerplates, estos se acceden a través de nuestro `BoilerplatesFactory`. Consulte [Inicie su juego](/sdk/unity/bootstrap) para más información.
9+
10+
En resumen, con el prefab `CheckoutPanel` ubicado en `Assets/**/Resources/Checkout/CheckoutPanel`, puede abrir fácilmente el `CheckoutPanel` usando el `BoilerplateFactory`:
11+
12+
```
13+
(CheckoutPanel, CheckoutPage) checkoutUi = BoilerplateFactory.OpenCheckoutPanel(parentTransform, checkoutHelperInstance, fiatCheckoutInstance, optionalOnCloseAction);
14+
```
15+
16+
donde checkoutHelperInstance implementa la interfaz `ICheckoutHelper` y fiatCheckoutInstance implementa la interfaz `IFiatCheckout`.
17+
18+
Actualmente hay dos implementaciones de `ICheckoutHelper` disponibles: `NftCheckout` y `ERC1155SaleCheckout` para Marketplaces de ventas secundarias y ventas primarias ERC1155, respectivamente. Pronto estará disponible una implementación para ventas primarias ERC721.
19+
20+
`SequenceCheckout` es actualmente la única implementación de `IFiatCheckout` disponible; admite tanto Marketplaces de ventas secundarias como ventas primarias ERC1155. El soporte para ventas primarias ERC721 llegará pronto a `SequenceCheckout`.
21+
22+
## Cómo funciona
23+
Puede ser útil comprender cómo se integra el ecosistema de Checkout, especialmente si quiere crear su propio panel/modal de pago personalizado.
24+
25+
Este diagrama ayuda a entender cómo está estructurado el sistema.
26+
27+
![Diagrama ERG](/images/unity/ERG_SequencePayModal.png)
28+
[Fuente](https://github.com/0xsequence/sequence-unity/blob/Feature/marketplaceCheckout/Packages/Sequence-Unity/Sequence/SequenceSDK/Marketplace/ERG_CheckoutModal.mmd)
29+
30+
Esto, junto con el código fuente de `CheckoutPage` (y relacionados), puede servir como una excelente referencia si decide escribir su propia lógica de interfaz de usuario personalizada.

es/sdk/unity/wallets/embedded-wallet/setup.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ sidebarTitle: Configuración
3131
## Parámetros de configuración
3232
`Url Scheme` - Debe reemplazar esto por una cadena única para su aplicación. Esto es muy importante. Si no lo hace, se producirán comportamientos inesperados al iniciar sesión con inicio de sesión con redes sociales y no funcionará.
3333

34-
`StoreSessionPrivateKeyInSecureStorage` - Disponible en algunas plataformas: hemos integrado el sistema de almacenamiento seguro nativo de la plataforma. Si está habilitado, almacenaremos la información del wallet de la sesión (incluida la clave privada) en el almacenamiento seguro y trataremos de recuperar la sesión automáticamente para el usuario después de cerrar la app (así no tendrá que iniciar sesión de nuevo). Si está deshabilitado (por defecto) o en una plataforma no compatible, las claves privadas del wallet de la sesión nunca salen de la memoria en tiempo de ejecución de la aplicación; sin embargo, el usuario tendrá que iniciar sesión cada vez que cierre la app. El `SequenceLoginWindow` Boilerplate por defecto (vea [Impulse su juego](/sdk/unity/bootstrap_game)) gestionará este comportamiento automáticamente, dirigiendo al usuario a la página correspondiente.
34+
`StoreSessionPrivateKeyInSecureStorage` - Disponible en algunas plataformas: hemos integrado el sistema de almacenamiento seguro nativo de la plataforma. Si está habilitado, almacenaremos la información de la wallet de la sesión (incluida la clave privada) en el almacenamiento seguro y trataremos de recuperar la sesión automáticamente para el usuario después de cerrar la aplicación (así no tendrá que iniciar sesión de nuevo). Si está deshabilitado (por defecto) o en una plataforma no compatible, las claves privadas de la wallet de la sesión nunca salen de la memoria en tiempo de ejecución de la aplicación; sin embargo, su usuario tendrá que iniciar sesión nuevamente cada vez que cierre la app. El Boilerplate predeterminado `SequenceLoginWindow` (consulte [Inicie su juego](/sdk/unity/bootstraps)) gestionará este comportamiento automáticamente, dirigiendo al usuario a la página correspondiente.
3535

3636
`EnableMultipleAccountsPerEmail` - Por defecto, el SDK solo permite a los usuarios crear una cuenta por correo electrónico. La cuenta se asocia inicialmente con el método de inicio de sesión utilizado (correo electrónico + OTP, PlayFab, Google, etc.); el usuario puede asociar métodos de inicio de sesión adicionales a su cuenta (más información en la [sección de Autenticación](/sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts)). Si se habilita `EnableMultipleAccountsPerEmail`, los usuarios tienen la opción de crear varias cuentas por dirección de correo electrónico (asociadas a diferentes métodos de inicio de sesión). Aunque hemos habilitado esta funcionalidad, en general consideramos que este comportamiento puede resultar confuso para los usuarios finales y recomendamos a los integradores mantener esta opción deshabilitada por defecto.
3737

es/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart.mdx

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@ sidebarTitle: Guía rápida de Unreal
88
Descargue la [versión v3 desde los lanzamientos de GitHub del SDK](https://github.com/0xsequence/sequence-unreal/releases/tag/v3.0.0-beta)
99
para acceder a los Ecosystem Wallets. Puede descargar uno de los archivos `.zip`, según la versión de Unreal Engine que esté utilizando.
1010

11-
Para ver los Ecosystem Wallets en funcionamiento, [pruebe nuestra demo integrada.](/sdk/unreal/ecosystem-wallet/setup#try-our-built-in-demo)
11+
Para ver las Ecosystem Wallets en acción, [pruebe nuestra demo integrada.](/sdk/unreal/wallets/ecosystem-wallet/setup#try-our-built-in-demo)
1212

1313
## 🔑 Paso 2: Configure su proyecto de Unreal
1414
Vaya a [sequence.build](https://sequence.build), regístrese o inicie sesión y cree un nuevo proyecto. Puede seguir la guía [Builder Getting Started](/solutions/builder/getting-started) para ver el flujo paso a paso.
1515

16-
Siga nuestra [Guía de configuración de Unreal](/sdk/unreal/ecosystem-wallet/setup) para configurar el Unreal SDK.
16+
Siga nuestra [configuración para Unreal](/sdk/wallets/unreal/ecosystem-wallet/setup) para configurar el Unreal SDK.
1717

1818
## 💼 Paso 3: Cree una sesión con permisos
1919
Para enviar una transacción a un contrato específico, primero debe crear una sesión con los permisos requeridos.
2020

2121
<Tabs>
2222
<Tab title="Blueprint">
2323
<Frame>
24-
<img src="/images/unreal/ecosystem/sign_in_google.png" />
24+
<img src="/images/unreal/ecosystem/contract_permissions.png" />
2525
</Frame>
2626
</Tab>
2727

@@ -33,7 +33,22 @@ Para enviar una transacción a un contrato específico, primero debe crear una s
3333
const int64 ValueLimit = 0;
3434

3535
UContractPermissions* Permissions = UContractPermissions::CreateContractPermissions(ChainId, Target, Deadline, ValueLimit);
36+
```
37+
</Tab>
38+
</Tabs>
39+
40+
Luego, utilice el objeto de permisos para llamar a una función de autenticación — por ejemplo, iniciar sesión con Google.
41+
Si lo prefiere, también puede dejar los permisos vacíos para crear una sesión implícita.
42+
43+
<Tabs>
44+
<Tab title="Blueprint">
45+
<Frame>
46+
<img src="/images/unreal/ecosystem/sign_in_google.png" />
47+
</Frame>
48+
</Tab>
3649

50+
<Tab title="C++">
51+
```cpp
3752
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
3853
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
3954

@@ -49,7 +64,7 @@ Por último, usemos nuestra sesión de wallet para enviar una transacción a la
4964
<Tabs>
5065
<Tab title="Blueprint">
5166
<Frame>
52-
<img src="/images/unreal/ecosystem/send_transaction.png" />
67+
<img src="/images/unreal/ecosystem/contract_transaction.png" />
5368
</Frame>
5469
</Tab>
5570

@@ -61,7 +76,22 @@ Por último, usemos nuestra sesión de wallet para enviar una transacción a la
6176
const TArray<FString> Values = { };
6277

6378
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
79+
```
80+
</Tab>
81+
</Tabs>
82+
83+
Después, utilice el objeto de transacción y páselo a la función SendTransaction.
84+
Opcionalmente, si está interactuando en una mainnet sin patrocinio de gas, puede [obtener opciones de comisión](/sdk/unreal/wallets/ecosystem-wallet/blockchain-interactions#get-fee-options) primero.
85+
86+
<Tabs>
87+
<Tab title="Blueprint">
88+
<Frame>
89+
<img src="/images/unreal/ecosystem/send_transaction.png" />
90+
</Frame>
91+
</Tab>
6492

93+
<Tab title="C++">
94+
```cpp
6595
const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
6696
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
6797

ja/sdk/unity/monetization/checkout-ui.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: チェックアウトUI
55
SDKにはデフォルトのチェックアウトUIが付属しており、ゲームに合わせてカスタマイズしてご利用いただくことをおすすめします。
66

77
## 組み込みチェックアウトUIの利用
8-
`CheckoutPanel`をBoilerplatesアセンブリの一部としてご用意しています。他のボイラープレート同様`BoilerplatesFactory`からアクセスできます。詳細は[ゲームのブートストラップ](/sdk/unity/bootstrap_game)をご覧ください。
8+
`CheckoutPanel`は、Boilerplatesアセンブリの一部としてご用意しています。他のボイラープレートと同様に`BoilerplatesFactory`からアクセスできます。詳細は[ゲームのブートストラップ](/sdk/unity/bootstrap)をご覧ください。
99

1010
概要として、`Assets/**/Resources/Checkout/CheckoutPanel`にある`CheckoutPanel`プレハブを使い、`BoilerplateFactory`を通じて簡単に開くことができます。
1111

ja/sdk/unity/wallets/embedded-wallet/setup.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ sidebarTitle: セットアップ
2929
## 設定パラメータ
3030
`Url Scheme` - これは必ずアプリケーション固有の文字列に置き換えてください。非常に重要です。これを怠ると、ソーシャルサインイン時に予期しない動作が発生し、正常に動作しません。
3131

32-
`StoreSessionPrivateKeyInSecureStorage` - 一部のプラットフォームで利用可能:プラットフォームのネイティブなセキュアストレージシステムと連携しています。有効にすると、セッションウォレット情報(プライベートキーを含む)をセキュアストレージに保存し、アプリを閉じた後も自動的にセッションを復元しようとします(再度ログインする必要がありません)。これを無効(デフォルト)にするか、未対応のプラットフォームの場合、セッションウォレットのプライベートキーはアプリの実行メモリから外部に出ることはありませんが、ユーザーはアプリを閉じるたびに再度サインインが必要です。デフォルトの `SequenceLoginWindow` ボイラープレート([ゲームのブートストラップ](/sdk/unity/bootstrap_game) を参照)がこの挙動を自動的に処理し、適切なページへ遷移します。
32+
`StoreSessionPrivateKeyInSecureStorage` - 一部のプラットフォームで利用可能です。プラットフォームのネイティブなセキュアストレージシステムと連携しています。有効にすると、セッションウォレット情報(プライベートキーを含む)をセキュアストレージに保存し、アプリを閉じた後も自動的にセッションを復元しようとします(再度ログインする必要がありません)。無効(デフォルト)または非対応プラットフォームの場合、セッションウォレットのプライベートキーはアプリケーションの実行メモリから外部に出ることはありませんが、アプリを閉じるたびにユーザーは再度サインインする必要があります。デフォルトの`SequenceLoginWindow`ボイラープレート([ゲームのブートストラップ](/sdk/unity/bootstraps)を参照)は、この挙動を自動的に処理し、適切なページへ遷移します。
3333

3434
`EnableMultipleAccountsPerEmail` - デフォルトでは、SDKは1つのメールアドレスにつき1つのアカウントのみ作成できます。アカウントは最初に使用したログイン方法(メール+OTP、PlayFab、Googleなど)に紐づけられますが、ユーザーは追加のログイン方法も自分のアカウントに関連付けることができます(詳細は[認証セクション](/sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts)をご覧ください)。`EnableMultipleAccountsPerEmail` を有効にすると、ユーザーは1つのメールアドレスで複数のアカウント(異なるログイン方法ごとに)を作成できるようになります。この機能は有効化可能ですが、一般的にエンドユーザーにとって混乱を招く可能性があるため、インテグレーターの方にはデフォルトの無効設定のままご利用いただくことを推奨します。
3535

ja/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart.mdx

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ sidebarTitle: Unreal クイックスタート
77
## 🛠️ ステップ1:SequenceのUnreal SDKをインストールする
88
[SDKのGitHubリリースページ](https://github.com/0xsequence/sequence-unreal/releases/tag/v3.0.0-beta)からv3をダウンロードして、Ecosystem ウォレットを利用しましょう。ご利用のUnreal Engineバージョンに応じて、いずれかの`.zip`ファイルをダウンロードしてください。
99

10-
Ecosystem ウォレットの動作を確認したい場合は[組み込みデモをお試しください。](/sdk/unreal/ecosystem-wallet/setup#try-our-built-in-demo)
10+
Ecosystemウォレットの動作を確認するには[組み込みデモをお試しください。](/sdk/unreal/wallets/ecosystem-wallet/setup#try-our-built-in-demo)
1111

1212
## 🔑 ステップ2:Unrealプロジェクトを設定する
1313
[sequence.build](https://sequence.build)にアクセスし、サインアップまたはログインして新しいプロジェクトを作成します。[Builder Getting Started](/solutions/builder/getting-started)ガイドで手順を確認できます。
1414

15-
[Unrealセットアップガイド](/sdk/unreal/ecosystem-wallet/setup)に従ってUnreal SDKを設定してください
15+
[Unreal セットアップ](/sdk/wallets/unreal/ecosystem-wallet/setup)に従って、Unreal SDK の設定を行ってください
1616

1717
## 💼 ステップ3:権限付きセッションの作成
1818
特定のコントラクトにトランザクションを送信するには、必要な権限を持つセッションを最初に作成する必要があります。
1919

2020
<Tabs>
2121
<Tab title="ブループリント">
2222
<Frame>
23-
<img src="/images/unreal/ecosystem/sign_in_google.png" />
23+
<img src="/images/unreal/ecosystem/contract_permissions.png" />
2424
</Frame>
2525
</Tab>
2626

@@ -32,7 +32,22 @@ Ecosystem ウォレットの動作を確認したい場合は、[組み込みデ
3232
const int64 ValueLimit = 0;
3333

3434
UContractPermissions* Permissions = UContractPermissions::CreateContractPermissions(ChainId, Target, Deadline, ValueLimit);
35+
```
36+
</Tab>
37+
</Tabs>
38+
39+
次に、`permissions` オブジェクトを使って認証関数を呼び出します(例:`Sign In with Google`)。
40+
必要に応じて、`permissions` を空のままにして暗黙的なセッションを作成することもできます。
41+
42+
<Tabs>
43+
<Tab title="ブループリント">
44+
<Frame>
45+
<img src="/images/unreal/ecosystem/sign_in_google.png" />
46+
</Frame>
47+
</Tab>
3548

49+
<Tab title="C++">
50+
```cpp
3651
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
3752
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
3853

@@ -48,7 +63,7 @@ Ecosystem ウォレットの動作を確認したい場合は、[組み込みデ
4863
<Tabs>
4964
<Tab title="ブループリント">
5065
<Frame>
51-
<img src="/images/unreal/ecosystem/send_transaction.png" />
66+
<img src="/images/unreal/ecosystem/contract_transaction.png" />
5267
</Frame>
5368
</Tab>
5469

@@ -60,7 +75,22 @@ Ecosystem ウォレットの動作を確認したい場合は、[組み込みデ
6075
const TArray<FString> Values = { };
6176

6277
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
78+
```
79+
</Tab>
80+
</Tabs>
81+
82+
次に、`transaction` オブジェクトを作成し、`SendTransaction` 関数に渡します。
83+
また、ガススポンサーシップのないメインネットで操作する場合は、事前に[手数料オプションを取得](/sdk/unreal/wallets/ecosystem-wallet/blockchain-interactions#get-fee-options)することも可能です。
84+
85+
<Tabs>
86+
<Tab title="ブループリント">
87+
<Frame>
88+
<img src="/images/unreal/ecosystem/send_transaction.png" />
89+
</Frame>
90+
</Tab>
6391

92+
<Tab title="C++">
93+
```cpp
6494
const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
6595
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
6696

0 commit comments

Comments
 (0)