ข้ามไปที่เนื้อหา

การเลือกตลาด

'Market selection' คือฟีเจอร์ที่ช่วยให้ผู้ใช้เลือกมาร์เก็ตที่จะใช้ชำระเงินได้ ในสภาพแวดล้อมที่รองรับหลายมาร์เก็ต (เช่น App Store + Hive Store)

วิธีการทำงาน

หน้านี้อธิบาย API ที่จำเป็นสำหรับฟีเจอร์ market selection (setMarketSelection, getSelectedMarket เป็นต้น) รวมถึงลำดับและรูปแบบการเรียกใช้งาน

เมื่อเรียก marketConnect ระหว่างการเริ่มต้น IAP v4 ระบบจะคืนรายการมาร์เก็ตที่ใช้งานได้บนอุปกรณ์ หากมีหลายมาร์เก็ต ให้เรียก setMarketSelection เพื่อเลือกมาร์เก็ต จากนั้นเรียก getSelectedMarket และดำเนินการซื้อด้วย market type ที่ได้

flowchart TD
    A(["marketConnect"])
    B(["getProductInfo"])
    C{"ผู้ใช้เปลี่ยน<br/>วิธีชำระเงิน (market)<br/>หรือไม่?"}
    D(["setMarketSelection"])
    E(["getSelectedMarket"])
    F(["purchase / restore"])
    G{"ต้องการซื้อเพิ่ม<br/>ด้วย market อื่นหรือไม่?"}
    H([เสร็จสิ้น])

    A -- "เรียกครั้งเดียวตอนเปิดแอป" --> B
    B -- "เรียกครั้งเดียวต่อ market ตอนใช้งานครั้งแรก" --> C
    C -- "Yes" --> D
    C -- "No" --> F
    D --> E --> F
    F --> G
    G -- "Yes" --> D
    G -- "No" --> H

การเรียก getProductInfo

ใน flow ข้างต้น ให้เรียก getProductInfo เพียงครั้งเดียวต่อ market ในครั้งแรก

  • หลังเรียกสำเร็จ ข้อมูลสินค้าของ market นั้นจะถูกแคชใน SDK แม้ภายหลังเปลี่ยน market ด้วย setMarketSelection ก็ไม่ต้องเรียกซ้ำ


setMarketSelection

API setMarketSelection ใช้กำหนด market สำหรับขั้นตอนซื้อถัดไป โดยรับค่า IAPV4Type

ช่วงเวลาที่ควรเรียก setMarketSelection

ให้เรียกหลัง marketConnect และก่อน purchase หรือ restore * เรียกเมื่อผู้ใช้เปลี่ยนวิธีชำระเงิน (market) * หลังเปลี่ยนแล้ว purchase และ restore จะทำงานตาม market ใหม่

IAPV4Type

IAPV4Type คือ enum ที่แทนประเภท market ที่รองรับใน IAP v4

Value Name Description
0 notSelected ยังไม่เลือก
1 appStore Apple App Store
2 google Google Play Store
3 lebi Lebi Market
4 oneStore ONE Store
5 amazon Amazon Appstore
6 samsung Samsung Galaxy Store
7 huawei Huawei AppGallery
8 funtap Funtap
9 oppoAppMarket OPPO App Market
10 vivoAppStore vivo App Store
11 tencentMyapp Tencent Myapp
12 xiaomiAppStore Xiaomi App Store
13 huaweiAppGalleryChina Huawei AppGallery China
14 facebookCloudGame Facebook Cloud Game
15 hiveStore Hive Store
16 steam Steam
17 nowgg now.gg

getSelectedMarket

เรียก getSelectedMarket เพื่อรับ market type ที่ถูกเลือกอยู่ในปัจจุบัน

ช่วงเวลาที่ควรเรียก getSelectedMarket

ใช้เพื่อตรวจสอบ market ปัจจุบันก่อนส่งคำขอซื้อ