- คำขอ 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 เพียง 1 รายการหากแอปที่เป็นปัญหาเผยแพร่โดยใช้ APK หากแอปใช้ App Bundle (หรือเทคโนโลยีที่คล้ายกัน) ชุดนี้ควรมี APK ทั้งหมด (แม้แต่ APK ที่ไม่บังคับ) ที่อาจติดตั้งสำหรับแอปนี้ ชุด APK ควรติดตั้งร่วมกันได้ หาก APK บางรายการเป็นเอกสิทธิ์เฉพาะซึ่งกันและกันและติดตั้งร่วมกันไม่ได้ คุณควรสร้าง AppStoreAppActiveApkSet แยกต่างหาก
| การแสดง JSON |
|---|
{ "baseApkId": string, "splitApkId": [ string ] } |
| ช่อง | |
|---|---|
baseApkId |
ต้องระบุ รหัสสำหรับโมดูลแอปพลิเคชันพื้นฐานหลัก เช่น base.apk หรือ app.apk |
splitApkId[] |
ไม่บังคับ รหัสสำหรับโมดูลที่แยกซึ่งอาจติดตั้งร่วมกับ APK พื้นฐาน เว้นว่างไว้ได้หากไม่ได้ใช้ App Bundle (หรือเทคโนโลยีที่คล้ายกัน) ตัวอย่าง: config.en.apk |
AppStoreAppPolicyDeclaration
ประกาศเกี่ยวกับนโยบายพร้อมคำตอบ
| การแสดง JSON |
|---|
{
"declarationId": string,
"responses": [
{
object ( |
| ช่อง | |
|---|---|
declarationId |
ต้องระบุ รหัสของประกาศเกี่ยวกับนโยบาย |
responses[] |
ต้องระบุ คำตอบที่ระบุไว้สำหรับการประกาศนี้ |
PolicyResponse
คำตอบแต่ละรายการสำหรับคำถามเกี่ยวกับนโยบายของแอป
| การแสดง JSON |
|---|
{ "questionId": string, // Union field |
| ช่อง | |
|---|---|
questionId |
ต้องระบุ รหัสของคำถามที่ตอบ |
ฟิลด์ Union value มูลค่าการตอบกลับที่เฉพาะเจาะจง value ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
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, // Union field |
| ช่อง | |
|---|---|
questionId |
ต้องระบุ รหัสของคำถามที่ตอบ |
ฟิลด์ Union value มูลค่าการตอบกลับที่เฉพาะเจาะจง value ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
stringResponse |
ไม่บังคับ คำตอบที่เป็นสตริง |
singleChoiceResponse |
ไม่บังคับ คำตอบแบบตัวเลือกเดียว |
multipleChoiceResponse |
ไม่บังคับ คำตอบแบบหลายตัวเลือก |
booleanResponse |
ไม่บังคับ คำตอบบูลีน |
documentResponse |
ไม่บังคับ การตอบกลับของเอกสาร |
PolicyBooleanResponse
คำตอบที่จะเป็นบูลีนเท่านั้น
| การแสดง JSON |
|---|
{ "value": boolean } |
| ช่อง | |
|---|---|
value |
ต้องระบุ ค่าบูลีนที่ระบุ |
PolicyDocumentResponse
เอกสารที่อัปโหลด ต้องเป็นเอกสารเชิงตรรกะเดียว (เช่น ใบอนุญาตทางการเงิน)
| การแสดง JSON |
|---|
{ "documentId": string, // Union field |
| ช่อง | |
|---|---|
documentId |
ต้องระบุ รหัสของเอกสารที่อัปโหลด |
ฟิลด์ Union expiry ข้อมูลวันหมดอายุของเอกสาร expiry ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
expiryDate |
ไม่บังคับ วันที่หมดอายุของเอกสาร |
nonExpiring |
ไม่บังคับ เป็นจริงหากยืนยันว่าเอกสารไม่มีวันหมดอายุ |
วันที่
แสดงวันที่ในปฏิทินทั้งหมดหรือบางส่วน เช่น วันเกิด เวลาของวันและเขตเวลาจะระบุไว้ที่อื่นหรือไม่มีนัยสำคัญ วันที่สัมพันธ์กับปฏิทินเกรกอเรียน ซึ่งอาจแสดงถึงสิ่งใดสิ่งหนึ่งต่อไปนี้
- วันที่แบบเต็ม โดยมีค่าปี เดือน และวันที่ที่ไม่ใช่ 0
- เดือนและวัน โดยมีปีเป็น 0 (เช่น วันครบรอบ)
- ปีอย่างเดียว โดยมีเดือนและวันที่เป็น 0
- ปีและเดือน โดยมีวันที่เป็น 0 (เช่น วันหมดอายุของบัตรเครดิต)
ประเภทที่เกี่ยวข้อง
google.type.TimeOfDaygoogle.type.DateTimegoogle.protobuf.Timestamp
| การแสดง JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| ช่อง | |
|---|---|
year |
ปีของวันที่ ต้องอยู่ระหว่าง 1 ถึง 9999 หรือ 0 เพื่อระบุวันที่โดยไม่มีปี |
month |
เดือนของปี ต้องมีค่าระหว่าง 1 ถึง 12 หรือ 0 เพื่อระบุปีโดยไม่มีเดือนและวัน |
day |
วันของเดือน ต้องมีค่าตั้งแต่ 1 ถึง 31 และใช้ได้กับปีและเดือน หรือ 0 เพื่อระบุปีอย่างเดียว หรือปีและเดือนที่ไม่มีวัน |
PolicyKeyedGroupResponse
กลุ่มการตอบกลับแต่ละรายการที่ระบุด้วยคีย์ที่ไม่ซ้ำกันภายในชุดที่อนุญาต
| การแสดง JSON |
|---|
{
"groups": [
{
object ( |
| ฟิลด์ | |
|---|---|
groups[] |
ไม่บังคับ กลุ่มคำตอบสำหรับคำถาม KeyedGroup.key แต่ละรายการต้องไม่ซ้ำกันในรายการนี้ |
KeyedGroup
กลุ่มคำตอบที่มีคีย์
| การแสดง JSON |
|---|
{
"key": string,
"responses": [
{
object ( |
| ช่อง | |
|---|---|
key |
ต้องระบุ คีย์สำหรับกลุ่มนี้ |
responses[] |
ต้องระบุ คำตอบในกลุ่มนี้ |