---
title: การใช้ตัวอย่างสินค้า
slug: world-sdk-guide-th/xBjRIHmf71Aji8mqgOh7u
docTags: 
createdAt: 2024-09-02T08:34:13.134Z
---

## ขั้นตอนที่ 1 : เริ่มต้นด้วยตัวอย่างผลิตภัณฑ์ ZEPETO

:::hint{type="info"}
- ตัวอย่างผลิตภัณฑ์ ZEPETO
  - [https://github.com/naverz/World-Tutorial/tree/main/Product](https://github.com/naverz/World-Tutorial/tree/main/Product)
- เอกสารอ้างอิง API ของ ZEPETO.Product
  - [\[API ของผลิตภัณฑ์ ZEPETO\]](https://developer.zepeto.me/docs/product/)
:::



ต่อไปนี้คือตัวอย่างการใช้งานผลิตภัณฑ์ ZEPETO.

เพื่อให้เข้าใจระบบผลิตภัณฑ์ ZEPETO เราขอแนะนำให้คุณติดตามคำแนะนำเพื่อทำความเข้าใจการใช้งานของตัวอย่าง.

ตัวอย่างรวมถึงตัวอย่างของระบบสกุลเงิน ระบบสินค้าคงคลัง การได้มาซึ่งสินค้า การซื้อ และทรัพยากร UI.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-nFL9nvfD-mKEV78j1QqD6-20240904-102419.png)

:::hint{type="danger"}
**❗️ ระวัง**

- โปรดใช้ทรัพยากร UI และสคริปต์ที่จัดเตรียมไว้ในตัวอย่างเมื่อคุณสร้างโลก ZEPETO.
- อย่างไรก็ตาม ห้ามใช้ทรัพยากรของตัวอย่างที่เผยแพร่ นอกเหนือจากโลก ZEPETO.
:::



### วิธีการใช้ตัวอย่างผลิตภัณฑ์ ZEPETO

1. กรุณาลงทะเบียนสกุลเงินและผลิตภัณฑ์ที่มีชื่อเดียวกับที่ใช้ในตัวอย่างที่ ZEPETO Studio.(หาก ID สกุลเงินและ ID ผลิตภัณฑ์แตกต่างกัน จะไม่สามารถเชื่อมโยงกับตัวอย่างได้)



- สกุลเงิน

| **ID**  | **ชื่อสกุลเงิน** |
| ------- | ---------------- |
| ดาว     | ดาว              |
| พลังงาน | พลังงาน          |



- รายการสินค้า

| **รหัส**   | **ชื่อ**   | **สกุลเงินขาย** | **ราคา** | **ประเภท**         |
| ---------- | ---------- | --------------- | -------- | ------------------ |
| หมายเหตุ1  | หมายเหตุ1  | ดาว             | 10       | ไม่สามารถบริโภคได้ |
| ยาสมุนไพร4 | ยาสมุนไพร4 | พลังงาน         | 4        | สามารถบริโภคได้    |
| ยาสมุนไพร3 | ยาสมุนไพร3 | พลังงาน         | 3        | สามารถบริโภคได้    |
| ยาสมุนไพร2 | ยาสมุนไพร2 | พลังงาน         | 2        | สามารถบริโภคได้    |
| ยาสมุนไพร1 | ยาสมุนไพร1 | พลังงาน         | 1        | สามารถบริโภคได้    |



- ผลิตภัณฑ์แพ็คเกจสกุลเงิน

| **รหัส** | **ชื่อ** | **สกุลเงินขาย** | **ราคา** | **การกำหนดแพ็คเกจ** |
| -------- | -------- | --------------- | -------- | ------------------- |
| energy4  | energy4  | ZEPETO ZEM      | 4        | energy, 40          |
| energy3  | energy3  | ZEPETO ZEM      | 3        | energy, 30          |
| energy2  | energy2  | ZEPETO ZEM      | 2        | energy, 20          |
| energy1  | energy1  | ZEPETO ZEM      | 1        | energy, 10          |



- ผลิตภัณฑ์แพ็คเกจสินค้า

| **รหัส**        | **ชื่อ**        | **สกุลเงินการขาย** | **ราคา** | การกำหนดค่าชุด (รายการ) |
| --------------- | --------------- | ------------------ | -------- | ----------------------- |
| potion\_package | potion\_package | ZEPETO ZEM         | 3        | potion4, 3              |

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-8CgcTFQAASqbsgbGvqqWb-20240904-102419.png" size="92" width="704" height="465" position="center" caption="ตัวอย่างการกำหนดค่าชุด" showCaption="true"}



2\) นำเข้า Product Canvas ที่ตั้งอยู่ใน Assets/ProductSystem/Prefab ไปยัง Scene.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-aAFHUauSvVyZd_gPb4BgU-20240904-102419.png)



3\) เปิดการตั้งค่าโปรเจกต์ > ZEPETO Service ในโปรเจกต์ของคุณเพื่อตรวจสอบว่าทำการเชื่อมต่อโลกอย่างถูกต้องหรือไม่.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-rdtsmEyEXSdMq9z3h6-0x-20240904-102419.png)



4\) รันเมนู Unity > ZEPETO > ผลิตภัณฑ์ > การตั้งค่า.

- หากสกุลเงินและรายการผลิตภัณฑ์แสดงผลได้ดี ลิงก์จะสำเร็จ.

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-nh1t1NNg_Cmj5I69FmvJ3-20240904-102419.png" size="80" width="445" height="179" position="center" showCaption="false"}

- คุณสามารถตรวจสอบได้ว่าภาพไอคอนในโฟลเดอร์ Assets>Product>Resources ถูกตั้งค่าไว้หรือไม่.

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-XiPj2cHCp4Xsq8wRH1uZd-20240904-102419.png" size="64" width="518" height="540" position="center" showCaption="false"}

- คุณสามารถลงทะเบียนภาพไอคอนผลิตภัณฑ์โดยใช้ภาพที่คุณเลือก.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-kUSSiKBhBObiHCoLKSGrP-20240904-102419.png)



:::hint{type="danger"}
**❗️ ระวัง**

- หากคุณไม่สามารถมองเห็นผลิตภัณฑ์ได้อย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้
  - โปรดตรวจสอบให้แน่ใจว่าข้อมูลบัญชีที่เข้าสู่ระบบใน Unity Editor ตรงกับข้อมูลของผู้สร้าง World id
  - ตรวจสอบให้แน่ใจว่าข้อมูล World ID ที่เชื่อมต่อใน Project Settings > ZEPETO Service ถูกต้อง
  - โปรดยืนยันว่าคุณได้ลงทะเบียนสกุลเงินและผลิตภัณฑ์ id เดียวกันกับที่ใช้ในตัวอย่าง
:::



5\) โปรดเปิดใช้งาน multi-server และกดปุ่ม Play เพื่อเรียกใช้ตัวอย่าง

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-72OBUpZxoQ5VhFaD5dq4l-20240904-102419.png)



## ขั้นตอนที่ 2 : ทำความเข้าใจตัวอย่างผลิตภัณฑ์ ZEPETO

::embed[[https://www.youtube.com/watch?v=JIzXEaq_nv8](https://www.youtube.com/watch?v=JIzXEaq_nv8)]{url="https://www.youtube.com/watch?v=JIzXEaq_nv8"}

◦ รับพลังงาน : เมื่อคุณคลิกปุ่ม คุณจะได้รับผลิตภัณฑ์พลังงานหนึ่งรายการ.

◦ ใช้พลังงาน : เมื่อคุณคลิกปุ่ม คุณสามารถหักรายการพลังงานหนึ่งรายการได้

◦ เพิ่ม EXP : คลิกปุ่มเพื่อรับค่าประสบการณ์ 10 หากคุณได้รับค่าประสบการณ์และระดับของคุณเพิ่มขึ้น คุณจะได้รับสกุลเงิน 5 Star.

◦ รับรายการแบบสุ่ม : คลิกปุ่มเพื่อเพิ่มรายการยาแบบสุ่มหนึ่งในสี่รายการลงในคลังสินค้า.

◦ ซื้อทันที : เมื่อคุณคลิกปุ่ม คุณสามารถหักรายการพลังงานหนึ่งรายการและซื้อ Potion 1 หน้าต่างการซื้อจะไม่ปรากฏขึ้น และรายการที่ซื้อจะอยู่ในคลังสินค้าทันที.

◦ ซื้อผ่าน UI : คลิกปุ่มและหน้าต่างการซื้อจะปรากฏขึ้น คุณสามารถซื้อ Note 1 โดยหักสกุลเงิน 10 Star จากหน้าต่างการซื้อ.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-d40fwF8IohTCVjFlC2Gmi-20240904-102419.png)

◦ ซื้อแพ็คเกจสินค้า : คลิกปุ่มและหน้าต่างการซื้อจะปรากฏขึ้น คุณสามารถซื้อผลิตภัณฑ์แพ็คเกจยาโดยหัก ZEPETO ZEM จากหน้าต่างการซื้อ.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-N1PK3aQ1VvMLbKX3Kz1JT-20240904-102419.png)

- ไอคอนกระเป๋า: คลิกที่ปุ่มเพื่อแสดงหน้าต่างสินค้าคงคลัง คุณสามารถตรวจสอบรายการสินค้าที่คุณมี เลือกและใช้งานได้

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-ai2kdRVt2Qamm31-D2vAA-20240904-102419.png)

- ไอคอนรถเข็นช็อปปิ้ง: เมื่อคุณคลิกที่ปุ่ม หน้าต่างการซื้อสำหรับสกุลเงินพลังงานจะปรากฏขึ้น คุณสามารถซื้อผลิตภัณฑ์แพ็คเกจสกุลเงินโดยการหัก ZEPETO ZEM จากหน้าต่างการซื้อ

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-8aWczQeydOhHMFdB6d8FG-20240904-102419.png)



### ข้อควรระวังสำหรับการทดสอบผลิตภัณฑ์ ZEPETO

- เมื่อเปิดเซิร์ฟเวอร์หลายตัว การทดสอบผลิตภัณฑ์ ZEPETO จะสามารถทำได้ในเซิร์ฟเวอร์แซนด์บ็อกซ์
- การเปลี่ยนแปลงที่ทำในตัวแก้ไขจะไม่สะท้อนใน ZEPETO Studio
- การเปลี่ยนแปลงที่ทำใน Pretest และโลกที่ปล่อยออกมาจะสะท้อนใน ZEPETO Studio
- สภาพแวดล้อมการทดสอบแซนด์บ็อกซ์จะถูกเริ่มต้นใหม่เมื่อปิดเซิร์ฟเวอร์หลายตัว (จะเริ่มต้นด้วยข้อมูล ZEPETO Studio)
- การทดสอบสินค้าที่ไม่สามารถบริโภคได้
  - หากเซิร์ฟเวอร์หลายตัวเปิดอยู่ คุณไม่สามารถซื้ออีกครั้งได้เมื่อคุณซื้อไปแล้ว
  - หากคุณปิดเซิร์ฟเวอร์หลายตัว สภาพแวดล้อมการทดสอบจะถูกเริ่มต้นใหม่ ดังนั้นหากคุณเปิดเซิร์ฟเวอร์หลายตัวอีกครั้ง คุณสามารถซื้อได้
- หากไม่ลงทะเบียนภาพปกโลก คุณจะไม่สามารถทำการทดสอบผลิตภัณฑ์ได้อย่างถูกต้อง กรุณาตรวจสอบว่าภาพปกโลกได้ถูกลงทะเบียนอย่างถูกต้องใน ZEPETO Studio หรือไม่

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-nb8KoXn2I06B4uYkuoGt8-20240904-102419.png)



## ขั้นตอนที่ 3: การนำเนื้อหามาใช้หลังจากซื้อผลิตภัณฑ์

ตัวอย่างไม่ได้มีการนำเนื้อหามาใช้หลังจากที่ใช้รายการนั้น
ส่วนนี้ต้องมีการนำไปใช้โดยตรงตามที่ผู้ผลิตทั่วโลกตั้งใจ
กรุณาอ้างอิงสคริปต์ใน UICommonBtn.ts.

```typescript
this._multiplay.Room.AddMessageHandler<InventorySync>("SyncInventories", (message) => {
  this.OpenInformation(`${message.productId} ได้ถูก ${InventoryAction[message.inventoryAction]} ในคลังสินค้า.`);
  // ตัวอย่างการใช้รายการ
  if(message.inventoryAction == InventoryAction.Used){
    if(message.productId == "potion1"){
      console.log("ใช้ยาสมุนไพร!");
    }
  }
});
```

กุญแจสำคัญคือการนำโค้ดเนื้อหามาใช้ตามหมายเลขผลิตภัณฑ์เมื่อใช้ผลิตภัณฑ์นั้น.

หากคุณต้องการนำไปใช้เมื่อใช้ potion2 ให้ทำการเปลี่ยนแปลงดังต่อไปนี้:

```typescript
this._multiplay.Room.AddMessageHandler<InventorySync>("SyncInventories", (message) => {
  this.OpenInformation(`${message.productId} ได้ถูก ${InventoryAction[message.inventoryAction]} ในคลังสินค้า.`);
  // ตัวอย่างการใช้รายการ
  if(message.inventoryAction == InventoryAction.Used){
    if(message.productId == "potion2"){
      console.log("ใช้ยาสมุนไพร2!");
    }
  }
});
```



เพื่อสื่อสารระบบเศรษฐกิจโดยใช้ผลิตภัณฑ์ ZEPETO กับเซิร์ฟเวอร์ สคริปต์เซิร์ฟเวอร์และสคริปต์ไคลเอนต์ต้องมีการนำไปใช้แยกกัน.

สำหรับการนำสคริปต์ไปใช้ กรุณาอ้างอิงจากตัวอย่างสคริปต์ที่นำไปใช้ในตัวอย่างผลิตภัณฑ์ ZEPETO และ API ของผลิตภัณฑ์ ZEPETO.
