常见自定义场景
设置商店本地化
如果您想根据区域或用户偏好以所需语言显示艾克索拉登录管理器小组件和支付UI,请使用Locale
参数。支持的值在本地化部分中列出。
示例:
Copy
- C#
1var config = new ReadyToUseStoreConfig
2{
3 Locale = "ja" // Japanese
4};
5XsollaReadyToUseStore.OpenStore(config);
使用令牌进行用户身份认证
如果已有授权令牌(例如,通过Login API或SDK方法获得),您可以直接传递令牌,而不使用艾克索拉登录管理器小组件。
示例:
Copy
- C#
1var tokenData = new TokenData
2{
3 accessToken = "...",
4 refreshToken = "...",
5 expirationTime = ...
6};
7var config = new ReadyToUseStoreConfig
8{
9 TokenData = tokenData
10};
11XsollaReadyToUseStore.OpenStore(config);
将商店嵌入到您的UI中
您可以将商店放置在UI的特定容器中,而不是在整个屏幕上显示。例如,在面板、选项卡或弹出窗口内。
示例:
Copy
- C#
1{
2 CatalogParent = yourTransform
3};
4XsollaReadyToUseStore.OpenStore(config);
使用自定义UI组件
您可以用自己的预制件覆盖标准商店元素(例如,商品卡片)。方法是:
- 创建实现
ICatalogItemWidget
接口的MonoBehaviour
类组件。 - 创建实现
IPrefabsProvider
接口的类。此类需要为目录商品返回对应的自定义预制件。 - 调用
OpenStore()
方法时,将创建的类的实例传递给prefabsProvider
参数:
Copy
- C#
1public class MyPrefabsProvider : IPrefabsProvider
2{
3 public GameObject GetCatalogItemWidget() => myCustomItemPrefab;
4}
5
6XsollaReadyToUseStore.OpenStore(config, new MyPrefabsProvider());
预加载目录图片
当商品很多时,您可以加快目录加载速度。为此,在初始化场景时,在调用OpenStore()
之前,请通过调用XsollaReadyToUseStore.WarmupCatalogImages()
方法预加载商品图片。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。