- คำขอ HTTP
- พารามิเตอร์เส้นทาง
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- AppStoreAppDetails
- AppStoreAppStoreListing
- AppStoreAppActiveApks
- AppStoreAppActiveApkSet
- AppStoreAppPolicyDeclaration
- PolicyResponse
- PolicyStringResponse
- PolicySingleChoiceResponse
- PolicyMultipleChoiceResponse
- PolicyGroupResponse
- กลุ่ม
- NestedPolicyResponse
- PolicyBooleanResponse
- PolicyDocumentResponse
- PolicyKeyedGroupResponse
- KeyedGroup
- ลองใช้งาน
อัปเดตรายละเอียดสำหรับแอปที่โฮสต์ใน App Store ใช้เพื่อระบุรายละเอียดสำหรับแอปใหม่ หรืออัปเดตรายละเอียดสำหรับแอปที่มีอยู่ ระบบจะส่งการอัปเดตเพื่อรับการตรวจสอบทันทีหลังจากสร้าง
คำขอ HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/appstore/{appStorePackageName}/apps:update
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
appStorePackageName |
ต้องระบุ ชื่อแพ็กเกจของ App Store ของบุคคลที่สาม |
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "packageName": string, "appDetails": { object ( |
| ช่อง | |
|---|---|
packageName |
ต้องระบุ ชื่อแพ็กเกจของแอป |
appDetails |
ต้องระบุ รายละเอียดทั่วไปของนักพัฒนาแอปสำหรับแอป |
activeLocalizedStoreListings[] |
ต้องระบุ รายละเอียดข้อมูลสินค้าใน Store ที่แปลแล้วของการอัปเดต |
activeApks |
ต้องระบุ APK ของแอปที่เผยแพร่อยู่ |
policyDeclarations[] |
ต้องระบุ ประกาศเกี่ยวกับนโยบายที่ระบุไว้สำหรับแอป |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะว่างเปล่า
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/androidpublisher
AppStoreAppDetails
รายละเอียดเกี่ยวกับแอป
| การแสดง JSON |
|---|
{ "developerName": string, "contactEmail": string, "developerWebsite": string } |
| ช่อง | |
|---|---|
developerName |
ต้องระบุ ชื่อนักพัฒนาแอป |
contactEmail |
ต้องระบุ อีเมลติดต่อของนักพัฒนาแอป |
developerWebsite |
ไม่บังคับ ลิงก์เว็บไซต์ของนักพัฒนาแอปหรือแอป |
AppStoreAppStoreListing
ข้อมูลสินค้าใน Store ที่แปลแล้ว รายละเอียดเหล่านี้เป็นรายละเอียดเกี่ยวกับแอปตามที่แสดงใน App Store
| การแสดง JSON |
|---|
{ "languageCode": string, "appName": string, "fullDescription": string, "shortDescription": string, "appIconId": string, "screenshotId": [ string ], "videoLink": string } |
| ช่อง | |
|---|---|
languageCode |
ต้องระบุ รหัสภาษา (เช่น "en-US") ของข้อมูล |
appName |
ต้องระบุ ชื่อแอป |
fullDescription |
ต้องระบุ ข้อความคำอธิบายที่ครอบคลุมเกี่ยวกับแอป |
shortDescription |
ไม่บังคับ สรุปสั้นๆ เกี่ยวกับแอป |
appIconId |
ต้องระบุ รหัสรูปภาพที่สร้างจาก appstoreappsreview.uploadimage สำหรับไอคอนแอปหลัก |
screenshotId[] |
ต้องระบุ รหัสรูปภาพหลายรายการสำหรับแกลเลอรีภาพหน้าจอ |
videoLink |
ไม่บังคับ ลิงก์ไปยังวิดีโอเกี่ยวกับแอป |
AppStoreAppActiveApks
ข้อมูลเกี่ยวกับ APK ที่ใช้งานอยู่ของแอปที่โฮสต์ใน App Store
| การแสดง JSON |
|---|
{
"activeApkSets": [
{
object ( |
| ช่อง | |
|---|---|
activeApkSets[] |
ต้องระบุ รายการที่ระบุชุด APK ที่เผยแพร่ร่วมกัน รายการนี้ควรมี APK ทั้งหมดที่คุณจัดจำหน่ายสำหรับแอปนี้ เพิ่มรายการสำหรับชุด APK ที่ติดตั้งได้แต่ละชุด |
AppStoreAppActiveApkSet
ชุด APK ที่ใช้งานอยู่ซึ่งติดตั้งได้ APK ทั้งหมดในชุดนี้ควรเป็นของแอปเวอร์ชันเดียวกัน ชุด APK อาจมี APK เพียง 1 รายการหากแอปที่เกี่ยวข้องเผยแพร่โดยใช้ APK หากแอปใช้ App Bundle (หรือเทคโนโลยีที่คล้ายกัน) ชุดนี้ควรมี APK ทั้งหมด (แม้แต่ APK ที่ไม่บังคับ) ที่อาจมีการติดตั้งสำหรับแอปนี้ ชุด APK ควรติดตั้งร่วมกันได้ หาก APK บางรายการเป็นเอกสิทธิ์เฉพาะซึ่งกันและกันและติดตั้งร่วมกันไม่ได้ คุณควรสร้าง AppStoreAppActiveApkSet แยกต่างหาก
| การแสดง JSON |
|---|
{ "baseApkId": string, "splitApkId": [ string ], "versionCode": string, "alreadyPublishedOnPlay": boolean } |
| ช่อง | |
|---|---|
baseApkId |
ต้องระบุ รหัสสำหรับโมดูลแอปพลิเคชันพื้นฐานหลัก เช่น base.apk หรือ app.apk |
splitApkId[] |
ไม่บังคับ รหัสสำหรับโมดูลที่แยกซึ่งอาจติดตั้งร่วมกับ APK ฐาน เว้นว่างไว้ได้หากไม่ได้ใช้ App Bundle (หรือเทคโนโลยีที่คล้ายกัน) ตัวอย่าง: config.en.apk |
versionCode |
ไม่บังคับ รหัสเวอร์ชันสำหรับเวอร์ชันที่ชุด APK นี้แสดง |
alreadyPublishedOnPlay |
ไม่บังคับ APK ทั้งหมดที่อ้างอิงในชุด APK ที่ใช้งานอยู่นี้เผยแพร่ใน Play Store หรือไม่ (หรือได้มาจาก App Bundle ที่เผยแพร่ใน Play Store) เมื่อตั้งค่านี้แล้ว คุณต้องระบุ versionCode |
AppStoreAppPolicyDeclaration
ประกาศเกี่ยวกับนโยบายพร้อมคำตอบ
| การแสดง JSON |
|---|
{
"declarationId": string,
"responses": [
{
object ( |
| ช่อง | |
|---|---|
declarationId |
ต้องระบุ รหัสของประกาศเกี่ยวกับนโยบาย |
responses[] |
ต้องระบุ คำตอบที่ระบุไว้สำหรับการประกาศนี้ |
PolicyResponse
คำตอบแต่ละรายการสำหรับคำถามเกี่ยวกับนโยบายของแอป
| การแสดง JSON |
|---|
{ "questionId": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "stringResponse": { object ( |
| ช่อง | |
|---|---|
questionId |
ต้องระบุ รหัสของคำถามที่ตอบ |
| มูลค่าการตอบกลับที่เฉพาะเจาะจง ต่อไปนี้คือรายการฟิลด์ที่ใช้ร่วมกันไม่ได้ ระบบจะตั้งค่าช่องใดช่องหนึ่งต่อไปนี้ในการตอบกลับ | |
stringResponse |
ไม่บังคับ คำตอบที่เป็นสตริง |
singleChoiceResponse |
ไม่บังคับ คำตอบแบบตัวเลือกเดียว |
multipleChoiceResponse |
ไม่บังคับ คำตอบแบบหลายตัวเลือก |
groupResponse |
ไม่บังคับ การตอบกลับแบบกลุ่ม |
keyedGroupResponse |
ไม่บังคับ การตอบกลับแบบกลุ่มที่ใช้คีย์ |
booleanResponse |
ไม่บังคับ คำตอบบูลีน |
documentResponse |
ไม่บังคับ การตอบกลับของเอกสาร |
| สิ้นสุดฟิลด์ที่แยกกัน | |
PolicyStringResponse
คำตอบใดๆ ที่เข้ารหัสเป็นสตริงได้ดีที่สุด รวมถึง URL และช่องข้อความหลายบรรทัด
| การแสดง JSON |
|---|
{ "value": string } |
| ช่อง | |
|---|---|
value |
ต้องระบุ ค่าสตริงที่ระบุ |
PolicySingleChoiceResponse
คำตอบใดก็ตามที่เลือกตัวเลือกเดียวจากตัวเลือกที่เป็นไปได้หลายตัวเลือก
| การแสดง JSON |
|---|
{ "value": string } |
| ช่อง | |
|---|---|
value |
ต้องระบุ ค่าที่ระบุ |
PolicyMultipleChoiceResponse
คำตอบใดๆ ที่เลือกได้หลายตัวเลือกจากความเป็นไปได้หลายอย่าง
| การแสดง JSON |
|---|
{ "values": [ string ] } |
| ฟิลด์ | |
|---|---|
values[] |
ไม่บังคับ ค่าที่ระบุ |
PolicyGroupResponse
กลุ่มคำตอบที่ซ้ำกัน
| การแสดง JSON |
|---|
{
"groups": [
{
object ( |
| ฟิลด์ | |
|---|---|
groups[] |
ไม่บังคับ กลุ่มคำตอบสำหรับคำถาม |
กลุ่ม
กลุ่มคำตอบ
| การแสดง JSON |
|---|
{
"responses": [
{
object ( |
| ช่อง | |
|---|---|
responses[] |
ต้องระบุ คำตอบภายในกลุ่ม |
NestedPolicyResponse
คำตอบแบบซ้อนแต่ละรายการสำหรับคำถามเกี่ยวกับนโยบายของแอป คำตอบแบบซ้อนจะเหมือนกับคำตอบปกติแต่ไม่มีกลุ่ม
| การแสดง JSON |
|---|
{ "questionId": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "stringResponse": { object ( |
| ช่อง | |
|---|---|
questionId |
ต้องระบุ รหัสของคำถามที่ตอบ |
| มูลค่าการตอบกลับที่เฉพาะเจาะจง ต่อไปนี้คือรายการฟิลด์ที่ใช้ร่วมกันไม่ได้ ระบบจะตั้งค่าช่องใดช่องหนึ่งต่อไปนี้ในการตอบกลับ | |
stringResponse |
ไม่บังคับ คำตอบที่เป็นสตริง |
singleChoiceResponse |
ไม่บังคับ คำตอบแบบตัวเลือกเดียว |
multipleChoiceResponse |
ไม่บังคับ คำตอบแบบหลายตัวเลือก |
booleanResponse |
ไม่บังคับ คำตอบบูลีน |
documentResponse |
ไม่บังคับ การตอบกลับของเอกสาร |
| สิ้นสุดฟิลด์ที่แยกกัน | |
PolicyBooleanResponse
คำตอบที่จะเป็นบูลีนเท่านั้น
| การแสดง JSON |
|---|
{ "value": boolean } |
| ช่อง | |
|---|---|
value |
ต้องระบุ ค่าบูลีนที่ระบุ |
PolicyDocumentResponse
เอกสารที่อัปโหลด ต้องเป็นเอกสารเชิงตรรกะเดียว (เช่น ใบอนุญาตทางการเงิน)
| การแสดง JSON |
|---|
{
"documentId": string,
// The following is a list of mutually exclusive fields. At most one of the
// fields will be set in a response:
"expiryDate": {
object ( |
| ช่อง | |
|---|---|
documentId |
ต้องระบุ รหัสของเอกสารที่อัปโหลด |
| ข้อมูลวันหมดอายุของเอกสาร ต่อไปนี้คือรายการฟิลด์ที่ใช้ร่วมกันไม่ได้ ระบบจะตั้งค่าช่องใดช่องหนึ่งต่อไปนี้ในการตอบกลับ | |
expiryDate |
ไม่บังคับ วันที่หมดอายุของเอกสาร |
nonExpiring |
ไม่บังคับ เป็นจริงหากยืนยันว่าเอกสารไม่มีวันหมดอายุ |
| สิ้นสุดฟิลด์ที่แยกกัน | |
PolicyKeyedGroupResponse
กลุ่มคำตอบแต่ละรายการระบุด้วยคีย์ที่ไม่ซ้ำกันภายในชุดที่อนุญาต
| การแสดง JSON |
|---|
{
"groups": [
{
object ( |
| ฟิลด์ | |
|---|---|
groups[] |
ไม่บังคับ กลุ่มคำตอบสำหรับคำถาม KeyedGroup.key แต่ละรายการต้องไม่ซ้ำกันในรายการนี้ |
KeyedGroup
กลุ่มคำตอบที่มีคีย์
| การแสดง JSON |
|---|
{
"key": string,
"responses": [
{
object ( |
| ช่อง | |
|---|---|
key |
ต้องระบุ คีย์สำหรับกลุ่มนี้ |
responses[] |
ต้องระบุ คำตอบในกลุ่มนี้ |