หัวข้อนี้จะแสดงรายการและอธิบายประเภทของ การแจ้งเตือนแบบเรียลไทม์สำหรับนักพัฒนาแอป ที่ได้รับจาก Google Play
การเข้ารหัส
การเผยแพร่แต่ละรายการที่สร้างไปยังหัวข้อ Cloud Pub/Sub จะมี ที่เข้ารหัสฐาน 64
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
หลังจากถอดรหัสช่องข้อมูลที่เข้ารหัส base64 แล้ว DeveloperNotification
จะมีฟิลด์ต่อไปนี้
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification,
"testNotification": TestNotification
}
ช่องเหล่านี้มีคำอธิบายในตารางต่อไปนี้
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย |
เวอร์ชัน | สตริง | เวอร์ชันของการแจ้งเตือนนี้ เริ่มแรกคือ "1.0" ช่วงเวลานี้ เวอร์ชันแตกต่างจากช่องเวอร์ชันอื่นๆ |
ชื่อแพ็กเกจ | สตริง | ชื่อแพ็กเกจของแอปพลิเคชันที่เกี่ยวข้องกับการแจ้งเตือนนี้ เป็น (เช่น "com.some.thing") |
เวลาของกิจกรรมเป็นมิลลิวินาที | ยาว | การประทับเวลาเมื่อเกิดเหตุการณ์ในหน่วยมิลลิวินาทีตั้งแต่ Epoch |
การแจ้งเตือนการติดตาม | การแจ้งเตือนการติดตาม | หากมีฟิลด์นี้ แสดงว่าการแจ้งเตือนนี้เกี่ยวข้องกับ และช่องนี้มีข้อมูลเพิ่มเติมเกี่ยวกับ กับการสมัครใช้บริการ โปรดทราบว่าช่องนี้ไม่เกี่ยวข้องกับ oneTimeProductNotification, voidedPurchaseNotification และ testNotification |
การแจ้งเตือนผลิตภัณฑ์ครั้งเดียว | การแจ้งเตือนผลิตภัณฑ์แบบครั้งเดียว | หากมีฟิลด์นี้ แสดงว่าการแจ้งเตือนนี้เกี่ยวข้องกับ การซื้อครั้งเดียว โดยช่องนี้จะมีข้อมูลเพิ่มเติม ที่เกี่ยวข้องกับการซื้อ โปรดทราบว่าช่องนี้ไม่สามารถใช้ร่วมกันได้ พร้อม subscriptionNotification, voidedPurchaseNotification และ testNotification |
voidedPurchaseNotification | VoidedPurchaseNotification | หากมีฟิลด์นี้ แสดงว่าการแจ้งเตือนนี้เกี่ยวข้องกับ การซื้อที่เป็นโมฆะ และช่องนี้มีข้อมูลเพิ่มเติมเกี่ยวกับ ไปยังการซื้อที่เป็นโมฆะ โปรดทราบว่าช่องนี้ไม่สามารถใช้ร่วมกันได้ ด้วย oneTimeProductNotification, subscriptionNotification และ testNotification |
การแจ้งเตือนการทดสอบ | การแจ้งเตือนการทดสอบ | หากมีฟิลด์นี้ แสดงว่าการแจ้งเตือนนี้เกี่ยวข้องกับ ทดสอบการเผยแพร่ ข้อความเหล่านี้จะส่งผ่านนักพัฒนาแอป Google Play เท่านั้น คอนโซล โปรดทราบว่าช่องนี้ไม่เกี่ยวข้องกับ oneTimeProductNotification, subscriptionNotification และ voidedPurchaseNotification |
การแจ้งเตือนการติดตาม
SubscriptionNotification
ประกอบด้วยช่องต่อไปนี้
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย |
เวอร์ชัน | สตริง | เวอร์ชันของการแจ้งเตือนนี้ เริ่มแรกคือ "1.0" ช่วงเวลานี้ เวอร์ชันแตกต่างจากช่องเวอร์ชันอื่นๆ |
ประเภทการแจ้งเตือน | Int | notificationsType สำหรับการสมัครใช้บริการมีค่าต่อไปนี้ได้
|
purchaseToken | สตริง | โทเค็นที่มอบให้อุปกรณ์ของผู้ใช้เมื่อสมัครใช้บริการ ที่ซื้อไว้ |
รหัสการสมัครใช้บริการ | สตริง | รหัสผลิตภัณฑ์ของการสมัครใช้บริการที่ซื้อ (เช่น "monthly001") |
ตัวอย่าง
ตัวอย่างการแจ้งเตือนสำหรับการซื้อการสมัครใช้บริการใหม่มีดังนี้
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
การแจ้งเตือนผลิตภัณฑ์แบบครั้งเดียว
OneTimeProductNotification
ประกอบด้วยช่องต่อไปนี้
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย |
เวอร์ชัน | สตริง | เวอร์ชันของการแจ้งเตือนนี้ เริ่มแรกจะเป็น "1.0" ช่วงเวลานี้ เวอร์ชันแตกต่างจากช่องเวอร์ชันอื่นๆ |
ประเภทการแจ้งเตือน | Int | ประเภทของการแจ้งเตือน ซึ่งอาจมีค่าดังต่อไปนี้
|
purchaseToken | สตริง | โทเค็นที่มอบให้อุปกรณ์ของผู้ใช้เมื่อทำการซื้อ |
SKU | สตริง | รหัสผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียวที่ซื้อ (เช่น "sword_001") |
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างการแจ้งเตือนสำหรับการซื้อใหม่ครั้งเดียว
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
VoidedPurchaseNotification
VoidedPurchaseNotification
ประกอบด้วยช่องต่อไปนี้
ชื่อพร็อพเพอร์ตี้ |
ค่า |
คำอธิบาย |
|
|
โทเค็นที่เชื่อมโยงกับการซื้อที่ถือเป็นโมฆะ ช่วงเวลานี้ ให้กับนักพัฒนาซอฟต์แวร์เมื่อทำการซื้อใหม่ เกิดขึ้น |
|
|
รหัสคำสั่งซื้อที่ไม่ซ้ำกันซึ่งเชื่อมโยงกับธุรกรรมที่มี ถือเป็นโมฆะแล้ว สำหรับการซื้อครั้งเดียว รหัสนี้จะแสดงรหัสคำสั่งซื้อเท่านั้น ที่สร้างขึ้นสำหรับการซื้อ สำหรับการสมัครใช้บริการแบบต่ออายุใหม่อัตโนมัติ ระบบจะสร้างรหัสคำสั่งซื้อสำหรับธุรกรรมการต่ออายุแต่ละรายการ |
|
|
|
|
|
โปรดทราบว่าเมื่อจำนวนรวมที่เหลืออยู่ของการซื้อแบบหลายจำนวนเท่ากับ
เงินคืน ระบบจะโอน |
ตัวอย่าง
ตัวอย่างการแจ้งเตือนสำหรับการซื้อใหม่ที่เป็นโมฆะมีดังนี้
{
"version":"1.0",
"packageName":"com.some.app",
"eventTimeMillis":"1503349566168",
"voidedPurchaseNotification":
{
"purchaseToken":"PURCHASE_TOKEN",
"orderId":"GS.0000-0000-0000",
"productType":1
"refundType":1
}
}
การใช้ VoidedPurchaseNotification
เมื่อไคลเอ็นต์ RTDN ได้รับ VoidedPurchaseNotification
โปรดทราบว่า
ข้อมูลต่อไปนี้
packageName
: แอตทริบิวต์นี้ระบุแอปeventTimeMillis
: ระบบจะแจ้งให้นักพัฒนาแอปทราบถึงเวลาที่จะมีการเปลี่ยนแปลง เกิดขึ้นpurchaseToken
: โทเค็นที่ให้ไว้กับอุปกรณ์ของผู้ใช้เมื่อผลิตภัณฑ์ มีการซื้อorderId
: ข้อมูลนี้ระบุคำสั่งซื้อที่เกี่ยวข้องกับโมฆะ ธุรกรรมproductType
: ข้อมูลนี้บอกว่าการซื้อที่เป็นโมฆะเป็นการซื้อในแอปหรือไม่ การซื้อหรือการสมัครใช้บริการrefundType
: ข้อมูลนี้บอกประเภทการคืนเงินที่ทำให้การซื้อเป็นโมฆะ
หากต้องทำการปรับค่าใช้จ่ายด้านการให้สิทธิ์ก็แค่ค้นหาการซื้อที่ถูกต้อง แล้วคุณก็จะได้รับข้อมูลทั้งหมดที่ต้องการในจุดนี้ เพื่อเรียนรู้ วิธีรับข้อมูลเพิ่มเติมเกี่ยวกับการซื้อที่เป็นโมฆะ ให้ไปที่ Google Play Voided Purchases API ซึ่งเป็นโมเดลพุลที่ให้ข้อมูลเพิ่มเติมสำหรับการซื้อที่เป็นโมฆะ ระหว่างการประทับเวลาที่ระบุ
สำหรับการซื้อหลายจำนวนที่เป็นโมฆะบางส่วน ช่อง refundableQuantity
จาก purchases.products
ประกอบด้วย
จำนวนผลิตภัณฑ์ที่ซื้อซึ่งยังไม่เป็นโมฆะ
การแจ้งเตือนการทดสอบ
TestNotification
ประกอบด้วยช่องต่อไปนี้
{
"version": string
}
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย |
เวอร์ชัน | สตริง | เวอร์ชันของการแจ้งเตือนนี้ เริ่มแรกคือ "1.0" ช่วงเวลานี้ เวอร์ชันแตกต่างจากช่องเวอร์ชันอื่นๆ |
ตัวอย่าง
ตัวอย่างการแจ้งเตือนทดสอบมีดังนี้
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}