Engage SDK Health and Fitness: คำแนะนำการผสานรวมทางเทคนิคของบุคคลที่สาม

Google กำลังสร้างแพลตฟอร์มในอุปกรณ์เพื่อจัดระเบียบ แอปแยกตามประเภทธุรกิจ และมอบประสบการณ์ดื่มด่ำกับประสบการณ์ใหม่ สำหรับการบริโภคเนื้อหาแอปที่ปรับเปลี่ยนในแบบของคุณ และการค้นพบ ประสบการณ์แบบเต็มหน้าจอนี้มอบ โอกาสในการแสดงเนื้อหาจำนวนมากที่ดีที่สุด ในช่องทางเฉพาะภายนอก ของแอปนั้นๆ โดยคู่มือนี้ประกอบด้วยวิธีการสำหรับพาร์ทเนอร์นักพัฒนาซอฟต์แวร์ ผสานรวมคอนเทนต์เกี่ยวกับสุขภาพและการออกกำลังกายเข้าด้วยกัน โดยใช้ Engage SDK เพื่อดึงข้อมูล พื้นที่ผิวใหม่นี้

รายละเอียดการผสานรวม

คำศัพท์

การผสานรวมนี้มีคลัสเตอร์ 3 ประเภท ได้แก่ คำแนะนำ, วิดีโอเด่นและความต่อเนื่อง

  • คลัสเตอร์คําแนะนําแสดงคําแนะนําด้านสุขภาพและการออกกำลังกายที่ปรับเปลี่ยนในแบบของคุณ จากพาร์ทเนอร์นักพัฒนาแต่ละราย คำแนะนำเหล่านี้สามารถ ที่ปรับให้เหมาะกับผู้ใช้หรือคำทั่วๆ ไป (ตัวอย่างเช่น การออกกำลังกายที่กำลังเป็นเทรนด์และ สุขภาพ) ใช้ตัวกรองเหล่านี้เพื่อแสดงบทความหรือบุคคลที่เกี่ยวข้องกับสุขภาพ และ ฟิตเนส

    • คลัสเตอร์คำแนะนำมี ArticleEntity, PersonEntity, หรือ EventEntity แต่ไม่ใช่เอนทิตีประเภทต่างๆ ผสมกัน

    คำแนะนำจะมีโครงสร้างต่อไปนี้

    • คลัสเตอร์คำแนะนำ: มุมมอง UI ที่มีกลุ่มของ คำแนะนำจากพาร์ทเนอร์นักพัฒนาซอฟต์แวร์รายเดียวกัน

    • เอนทิตี: ออบเจ็กต์ที่แทนรายการเดียวในคลัสเตอร์ ช่วงเวลานี้ การผสานรวมจะมีเอนทิตีบางรายการที่จะแสดงโดยใช้ คลัสเตอร์คำแนะนำ:

      • ArticleEntity: ArticleEntity แสดงคำแนะนำสำหรับ คอนเทนต์เกี่ยวกับสุขภาพและ ฟิตเนส สามารถใช้สำหรับ บทความ บล็อกโพสต์ เนื้อหาการตลาด ตัวอย่างข่าว และอื่นๆ

        วันที่
        รูปที่ 1: UI แสดง ArticleEntity รายการเดียวภายในคลัสเตอร์คำแนะนำ
      • PersonEntity: PersonEntity แสดงถึงบุคคล คำแนะนำอาจเป็นการไฮไลต์โค้ชหรือบุคคลที่เกี่ยวข้อง สุขภาพและการออกกำลังกาย ฯลฯ

        วันที่
        รูปที่ 2: UI แสดง PersonEntity เดียวภายใน คลัสเตอร์คำแนะนำ
      • EventEntity: EventEntity แสดงถึงเหตุการณ์ที่เกิดขึ้นใน ในอนาคต เวลาเริ่มต้นของกิจกรรมเป็นข้อมูลสำคัญที่ ต้องระบุเอนทิตีนี้ให้ผู้ใช้ทราบ กิจกรรม เช่น ค่ายบริจาคเลือด เซสชันการฝึกอบรม ยิม หรือ ชั้นเรียนโยคะ ฯลฯ ที่เกี่ยวข้องกับสุขภาพและการออกกำลังกาย

        วันที่
        รูปที่ 3: UI แสดง EventEntity รายการเดียว ภายในคลัสเตอร์คำแนะนำ
  • คลัสเตอร์ความต่อเนื่องจะแสดงเนื้อหาที่เพิ่งมีส่วนร่วมจากผู้ใช้จาก พาร์ทเนอร์นักพัฒนาซอฟต์แวร์หลายรายในกลุ่ม UI เดียว พาร์ทเนอร์นักพัฒนาแอปแต่ละราย จะได้รับอนุญาตให้เผยแพร่รายการในเวอร์ชันต่อเนื่องได้สูงสุด 10 รายการ คลัสเตอร์

    คอนเทนต์ต่อเนื่องจะมีโครงสร้างต่อไปนี้

    • ArticleEntity: ArticleEntity แสดงคำแนะนำสำหรับ เนื้อหาในรูปแบบข้อความที่เกี่ยวข้องกับสุขภาพและ ฟิตเนส เอนทิตีนี้สามารถ ใช้เพื่อแสดงบทความข่าวที่ยังสร้างไม่เสร็จหรือเนื้อหาอื่นๆ ที่ ผู้ใช้ก็ต้องการรับชมต่อจากจุดที่หยุดไว้ เช่น ข่าว ตัวอย่างข้อมูล ตัวอย่างบล็อกโพสต์เกี่ยวกับหัวข้อที่เกี่ยวข้องกับสุขภาพหรือการออกกำลังกาย

      วันที่
      รูปที่ 6 UI แสดง ArticleEntity รายการเดียวภายใน คลัสเตอร์แบบต่อเนื่อง
    • EventReservationEntity: EventReservationEntity เป็นตัวแทนของ การจองกิจกรรมและช่วยให้ผู้ใช้ติดตามกิจกรรมที่กำลังจะมีขึ้นหรือที่กำลังดำเนินอยู่ การจองกิจกรรมการออกกำลังกายและสุขภาพ เช่น เซสชันการฝึกอบรม

      วันที่
      รูปที่ 8 UI แสดงเส้นเดียว EventReservationEntity ภายในคลัสเตอร์ Continuation
  • คลัสเตอร์แนะนำคือมุมมอง UI ที่แสดง Hero ที่เลือก GenericFeaturedEntity จากพาร์ทเนอร์นักพัฒนาซอฟต์แวร์หลายรายในกลุ่ม UI เดียว มีคลัสเตอร์ "แนะนำ" เดียวที่แสดงอยู่ใกล้ส่วนบนสุดของ UI ที่มีตำแหน่งลำดับความสำคัญเหนือคลัสเตอร์คำแนะนำทั้งหมด ชิ้น พาร์ทเนอร์นักพัฒนาซอฟต์แวร์ได้รับอนุญาตให้เผยแพร่เอนทิตีเดียวที่ได้รับการสนับสนุน พิมพ์ "แนะนำ" โดยมีเอนทิตีจำนวนมาก (ซึ่งอาจเป็นประเภทที่ต่างกัน) จาก นักพัฒนาแอปหลายคนในคลัสเตอร์ "แนะนำ"

    • GeneralFeaturedEntity: genericFeaturedEntity แตกต่างจาก ควรใช้รายการแนะนำในรายการ "แนะนำ" สำหรับ เนื้อหายอดนิยมจากนักพัฒนาซอฟต์แวร์ และควรเป็นหัวข้อ เนื้อหาสำคัญที่น่าสนใจและเกี่ยวข้องกับผู้ใช้

      วันที่
      รูปที่ 12: UI แสดงฮีโร่เดี่ยว การ์ด genericFeaturedEntity ภายในคลัสเตอร์เด่น

งานก่อนเริ่มเวิร์กช็อป

ระดับ API ขั้นต่ำ: 19

เพิ่มไลบรารี com.google.android.engage:engage-core ลงในแอปโดยทำดังนี้

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

สรุป

การออกแบบนี้อิงจากการใช้ บริการที่มีผลผูกพัน

ข้อมูลที่ไคลเอ็นต์เผยแพร่ได้จะขึ้นอยู่กับขีดจำกัดต่อไปนี้สำหรับ ประเภทคลัสเตอร์

ประเภทคลัสเตอร์ ขีดจำกัดของคลัสเตอร์ ขีดจำกัดเอนทิตีขั้นต่ำในคลัสเตอร์ ขีดจำกัดเอนทิตีสูงสุดในคลัสเตอร์
คลัสเตอร์คำแนะนำ สูงสุด 5 รายการ อย่างน้อย 5 รายการ สูงสุด 25 (ArticleEntity, PersonEntity หรือ EventEntity)
คลัสเตอร์ความต่อเนื่อง มากที่สุด 1 อย่างน้อย 1 สูงสุด 10 (ArticleEntity หรือ EventReservationEntity)
คลัสเตอร์แนะนำ มากที่สุด 1 อย่างน้อย 1 สูงสุด 10 (GenericFeaturedEntity)

ขั้นตอนที่ 1: ระบุข้อมูลเอนทิตี

SDK ได้กำหนดเอนทิตีที่แตกต่างกันเพื่อแสดงรายการแต่ละประเภท เราสนับสนุน เอนทิตีต่อไปนี้สำหรับฟิลด์สุขภาพและ หมวดหมู่ฟิตเนส:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. PersonEntity
  4. EventEntity
  5. EventReservationEntity

แผนภูมิด้านล่างแสดงแอตทริบิวต์และข้อกำหนดสำหรับแต่ละประเภท

GenericFeaturedEntity

แอตทริบิวต์ ข้อกำหนด คำอธิบาย รูปแบบ
การดำเนินการ Uri ต้องระบุ

Deep Link ไปยังเอนทิตีในแอปผู้ให้บริการ

หมายเหตุ: คุณสามารถใช้ Deep Link สําหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้

URI
ภาพโปสเตอร์ ต้องระบุ

เราจะแสดงเพียง 1 ภาพหากมีหลายภาพ สัดส่วนภาพที่แนะนำคือ 16:9

หมายเหตุ: หากมีป้าย โปรดเตรียมพื้นที่ว่างให้พร้อมใช้งาน 24 dps ทั้งด้านบนและด้านล่างของรูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
ชื่อ ไม่บังคับ ชื่อรายการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: 50 อักขระ

คำอธิบาย ไม่บังคับ

ย่อหน้าข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: 180 อักขระ

รายการคำบรรยาย ไม่บังคับ

คำบรรยายสูงสุด 3 รายการ โดยแต่ละคำบรรยายมีข้อความ 1 บรรทัด

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ

ป้าย ไม่บังคับ

แต่ละป้ายจะเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก

ใช้ UX พิเศษที่ด้านบนของรูปภาพ/วิดีโอ เช่น เป็นป้าย วางซ้อนบนรูปภาพ

  • "ข้อมูลอัปเดตแบบเรียลไทม์"
  • ระยะเวลาในการอ่านบทความ
ป้าย - ข้อความ ไม่บังคับ

ชื่อสำหรับป้าย

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ

ป้าย - ภาพ ไม่บังคับ

รูปภาพขนาดเล็ก

การจัดการ UX แบบพิเศษ เช่น การซ้อนทับป้ายบนรูปภาพ/วิดีโอ

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
หมวดหมู่เนื้อหา ไม่บังคับ อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี

รายการ Enum

ดูส่วนหมวดหมู่เนื้อหา เพื่อเป็นแนวทาง

ArticleEntity

แอตทริบิวต์ ข้อกำหนด คำอธิบาย รูปแบบ
การดำเนินการ Uri ต้องระบุ

Deep Link ไปยังเอนทิตีในแอปผู้ให้บริการ

หมายเหตุ: คุณสามารถใช้ Deep Link สําหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้

URI
ชื่อ ต้องระบุ ชื่อรายการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ

ภาพโปสเตอร์ ไม่บังคับ

เราจะแสดงเพียง 1 ภาพหากมีหลายภาพ สัดส่วนภาพที่แนะนำคือ 16:9

หมายเหตุ: ขอแนะนำอย่างยิ่งให้เพิ่มรูปภาพ หากป้ายคือ ที่มีให้ โปรดตรวจสอบให้แน่ใจว่าระยะห่าง 24 dps ที่ปลอดภัยทั้งด้านบนและด้านล่างของ รูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
แหล่งที่มา - ชื่อ ไม่บังคับ ชื่อผู้เขียน องค์กร หรือผู้รายงาน

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: น้อยกว่า 25 อักขระ

แหล่งที่มา - รูปภาพ ไม่บังคับ รูปภาพของแหล่งที่มา เช่น ผู้เขียน องค์กร ผู้รายงาน โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
คำอธิบาย ไม่บังคับ

ย่อหน้าข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: 180 อักขระ

รายการคำบรรยาย ไม่บังคับ

คำบรรยายสูงสุด 3 รายการ โดยแต่ละคำบรรยายมีข้อความ 1 บรรทัด

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ

ป้าย ไม่บังคับ

แต่ละป้ายจะเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก

ใช้ UX พิเศษที่ด้านบนของรูปภาพ/วิดีโอ เช่น เป็นป้าย วางซ้อนบนรูปภาพ

  • "ข้อมูลอัปเดตแบบเรียลไทม์"
  • ระยะเวลาในการอ่านบทความ
ป้าย - ข้อความ ไม่บังคับ

ชื่อสำหรับป้าย

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ

ป้าย - ภาพ ไม่บังคับ

รูปภาพขนาดเล็ก

การจัดการ UX แบบพิเศษ เช่น การซ้อนทับป้ายบนรูปภาพ/วิดีโอ

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
เวลาเผยแพร่เนื้อหา ไม่บังคับ นี่คือการประทับเวลา Epoch ในหน่วยมิลลิวินาทีเมื่อเนื้อหา เผยแพร่ / อัปเดตในแอปแล้ว การประทับเวลา Epoch ในหน่วยมิลลิวินาที
เวลาในการมีส่วนร่วมสุดท้าย ต้องระบุแบบมีเงื่อนไข

การประทับเวลา Epoch ในหน่วยมิลลิวินาทีเมื่อผู้ใช้โต้ตอบกับ เอนทิตีนี้เป็นครั้งสุดท้าย

หมายเหตุ: ต้องระบุข้อมูลในช่องนี้หากเอนทิตีนี้เป็นส่วนหนึ่งของ คลัสเตอร์แบบต่อเนื่อง

การประทับเวลา Epoch ในหน่วยมิลลิวินาที
เปอร์เซ็นต์ความคืบหน้า ต้องระบุแบบมีเงื่อนไข

เปอร์เซ็นต์ของเนื้อหาทั้งหมดที่ผู้ใช้รับชมจนถึงปัจจุบัน

หมายเหตุ: ต้องระบุข้อมูลในช่องนี้หากเอนทิตีนี้เป็นส่วนหนึ่งของ คลัสเตอร์แบบต่อเนื่อง

ค่า int ระหว่าง 0~100 (รวมค่าแรกและค่าสุดท้าย)
หมวดหมู่เนื้อหา ไม่บังคับ อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี

รายการ Enum

ดูส่วนหมวดหมู่เนื้อหา เพื่อเป็นแนวทาง

PersonEntity

แอตทริบิวต์ ข้อกำหนด คำอธิบาย รูปแบบ
การดำเนินการ Uri ต้องระบุ

Deep Link ไปยังเอนทิตีในแอปผู้ให้บริการ

หมายเหตุ: คุณสามารถใช้ Deep Link สําหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้

URI
โปรไฟล์ - ชื่อ ต้องระบุ ชื่อหรือแฮนเดิลโปรไฟล์ เช่น "John Doe", "@TeamPixel" ฯลฯ

สตริง

ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ

โปรไฟล์ - รูปโปรไฟล์ ต้องระบุ

รูปโปรไฟล์หรือรูปโปรไฟล์ของผู้ใช้

หมายเหตุ: ต้องเป็นรูปภาพสี่เหลี่ยมจัตุรัส 1:1

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
โปรไฟล์ - ข้อความเพิ่มเติม ไม่บังคับ ข้อความอิสระ เช่น แฮนเดิลโปรไฟล์

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ

โปรไฟล์ - รูปภาพเพิ่มเติม ไม่บังคับ รูปภาพขนาดเล็ก เช่น ป้ายที่ผ่านการยืนยันแล้ว โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
รูปภาพส่วนหัว ไม่บังคับ

เราจะแสดงเพียง 1 ภาพหากมีหลายภาพ สัดส่วนภาพที่แนะนำคือ 16:9

หมายเหตุ: ขอแนะนำอย่างยิ่งให้เพิ่มรูปภาพ หากป้ายคือ ที่มีให้ โปรดตรวจสอบให้แน่ใจว่าระยะห่าง 24 dps ที่ปลอดภัยทั้งด้านบนและด้านล่างของ รูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
ความนิยม - จำนวน ไม่บังคับ

แสดงรูปภาพส่วนหัว ควรแตกต่างจากรูปโปรไฟล์ สามารถใช้ในกรณีที่มีรูปภาพเพิ่มเติมเพื่อช่วยไฮไลต์ ชอบงานของตัวเอง

หมายเหตุ: ต้องเป็นรูปภาพขนาด 16:9 หากมีป้าย โปรดตรวจสอบว่ามีพื้นที่ว่าง 24 dps ทั้งด้านบนและด้านล่างของรูปภาพ

สตริง

ขนาดข้อความที่แนะนำ: สูงสุด 20 อักขระสำหรับจำนวน + ป้ายกำกับ รวมกัน

ความนิยม - ค่าของจำนวน ไม่บังคับ

จำนวนผู้ติดตามหรือค่าความนิยม

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

ยาว
ความนิยม - ป้ายกำกับ ไม่บังคับ ระบุป้ายกำกับความนิยม เช่น "ชอบ"

สตริง

ขนาดข้อความที่แนะนำ: สูงสุด 20 อักขระสำหรับจำนวน + ป้ายกำกับ รวมกัน

ความนิยม - ภาพ ไม่บังคับ

ระบุว่าการโต้ตอบนี้มีไว้เพื่ออะไร ตัวอย่างเช่น - รูปภาพที่แสดง ไอคอนชอบ อีโมจิ

ใส่รูปภาพได้มากกว่า 1 รูป แต่บางรูปอาจไม่ได้แสดงในบางรายการ รูปแบบของอุปกรณ์

หมายเหตุ: ต้องเป็นรูปภาพสี่เหลี่ยมจัตุรัส 1:1

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
การให้คะแนน - ค่าสูงสุด ต้องระบุ

ค่าสูงสุดของสเกลการให้คะแนน

ต้องระบุหากค่าปัจจุบันของคะแนนรวมอยู่ ไว้ให้

จำนวน >= 0.0
การจัดประเภท - ค่าปัจจุบัน ต้องระบุ

ค่าปัจจุบันของสเกลการให้คะแนน

ต้องระบุหากมีค่าสูงสุดของคะแนนด้วย ไว้ให้

จำนวน >= 0.0
คะแนน - จำนวน ไม่บังคับ

จำนวนการให้คะแนนสำหรับเอนทิตี

หมายเหตุ: ระบุข้อมูลในช่องนี้หากแอปของคุณ ควบคุมวิธีการแสดงจำนวนที่แสดงต่อผู้ใช้ ใช้สตริงที่สั้นกระชับ ตัวอย่างเช่น หากจำนวนนับคือ 1,000,000 ให้พิจารณาใช้ตัวย่อ เช่น 1M เพื่อให้ระบบไม่ตัดตัวเลขที่แสดงในขนาดการแสดงผลขนาดเล็ก

สตริง
คะแนน - ค่าของจำนวน ไม่บังคับ

จำนวนการให้คะแนนสำหรับเอนทิตี

หมายเหตุ: โปรดป้อนช่องนี้หากคุณไม่ได้จัดการ ตรรกะตัวย่อการแสดงผล ด้วยตัวคุณเอง ถ้ามีทั้งค่า "นับ" และ "ค่าการนับ" แสดง จำนวนจะปรากฏต่อผู้ใช้

ยาว
สถานที่ - ประเทศ ไม่บังคับ ประเทศที่บุคคลดังกล่าวอาศัยอยู่หรือให้บริการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - เมือง ไม่บังคับ เมืองที่บุคคลนั้นอาศัยอยู่หรือให้บริการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - ที่อยู่ที่แสดง ไม่บังคับ ที่อยู่ที่บุคคลนั้นตั้งอยู่หรือให้บริการจะแสดงต่อ ผู้ใช้รายนั้น

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ตำแหน่ง - ที่อยู่ ไม่บังคับ ที่อยู่ (หากมี) ที่ที่บุคคลดังกล่าวอาศัยอยู่ หรือ แบบต้นทางถึงปลายทาง

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - รัฐ ไม่บังคับ รัฐ (หากมี) ที่บุคคลนั้นอาศัยอยู่หรือให้บริการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ตั้ง - รหัสไปรษณีย์ ไม่บังคับ รหัสไปรษณีย์ (หากมี) ที่บุคคลนั้นอยู่หรือให้บริการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ตำแหน่ง - ย่านใกล้เคียง ไม่บังคับ ละแวกใกล้เคียง (หากมี) ที่บุคคลดังกล่าวอาศัยอยู่หรือให้บริการ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ป้าย ไม่บังคับ

แต่ละป้ายจะเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก

ป้าย - ข้อความ ไม่บังคับ

ชื่อสำหรับป้าย

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ

ป้าย - ภาพ ไม่บังคับ

รูปภาพขนาดเล็ก

การจัดการ UX แบบพิเศษ เช่น การซ้อนทับป้ายบนรูปภาพ/วิดีโอ

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
คำอธิบาย ไม่บังคับ

ย่อหน้าข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: 180 อักขระ

รายการคำบรรยาย ไม่บังคับ

คำบรรยายสูงสุด 3 รายการ โดยแต่ละคำบรรยายมีข้อความ 1 บรรทัด

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ

หมวดหมู่เนื้อหา ไม่บังคับ อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี

รายการ Enum ที่มีสิทธิ์

  • TYPE_HEALTH_AND_FITENESS (ตัวอย่าง - ผู้ฝึกโยคะ/ฟิตเนส)
  • TYPE_HOME_AND_AUTO (ตัวอย่าง - ช่างประปา)
  • TYPE_SPORTS (ตัวอย่าง - โปรแกรมเล่น)
  • การเดทประเภท

ดูส่วนหมวดหมู่เนื้อหา เพื่อเป็นแนวทาง

EventEntity

แอตทริบิวต์ ข้อกำหนด คำอธิบาย รูปแบบ
การดำเนินการ Uri ต้องระบุ

Deep Link ไปยังเอนทิตีในแอปผู้ให้บริการ

หมายเหตุ: คุณสามารถใช้ Deep Link สําหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้

URI
ชื่อ ต้องระบุ ชื่อรายการ

สตริง

ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ

เวลาเริ่มต้น ต้องระบุ

การประทับเวลา Epoch เมื่อระบบคาดว่าเหตุการณ์จะเริ่มต้น

หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที

การประทับเวลา Epoch ในหน่วยมิลลิวินาที
โหมดเหตุการณ์ ต้องระบุ

ช่องสำหรับระบุว่ากิจกรรมจะเป็นแบบออนไลน์ แบบเข้าร่วมด้วยตนเอง หรือ ทั้ง 2 อย่าง

Enum: VIRTUAL, IN_PERSON หรือ HYBRID
ภาพโปสเตอร์ ต้องระบุ

เราจะแสดงเพียง 1 ภาพหากมีหลายภาพ สัดส่วนภาพที่แนะนำคือ 16:9

หมายเหตุ: ขอแนะนำอย่างยิ่งให้เพิ่มรูปภาพ หากป้ายคือ ที่มีให้ โปรดตรวจสอบให้แน่ใจว่าระยะห่าง 24 dps ที่ปลอดภัยทั้งด้านบนและด้านล่างของ รูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
สถานที่ - ประเทศ ต้องระบุแบบมีเงื่อนไข

ประเทศที่กิจกรรมจะเกิดขึ้น

หมายเหตุ: ต้องระบุสำหรับเหตุการณ์ที่เป็น IN_PERSON หรือ ผสม

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - เมือง ต้องระบุแบบมีเงื่อนไข

เมืองที่กิจกรรมจะเกิดขึ้น

หมายเหตุ: ต้องระบุสำหรับเหตุการณ์ที่เป็น IN_PERSON หรือ ผสม

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - ที่อยู่ที่แสดง ต้องระบุแบบมีเงื่อนไข

ที่อยู่หรือชื่อสถานที่ที่จัดกิจกรรมซึ่งควร ที่จะแสดงต่อผู้ใช้

หมายเหตุ: ต้องระบุสำหรับเหตุการณ์ที่เป็น IN_PERSON หรือ ผสม

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ตำแหน่ง - ที่อยู่ ไม่บังคับ ที่อยู่ (หากมี) ของสถานที่จัดกิจกรรม กำลังโฮสต์อยู่

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - รัฐ ไม่บังคับ รัฐหรือจังหวัด (หากมี) ที่จัดกิจกรรม ที่โฮสต์

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ตั้ง - รหัสไปรษณีย์ ไม่บังคับ รหัสไปรษณีย์ (หากมี) ของสถานที่จัดกิจกรรม ที่โฮสต์

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ตำแหน่ง - ย่านใกล้เคียง ไม่บังคับ พื้นที่ใกล้เคียง (หากมี) ที่จัดกิจกรรมนั้น

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

เวลาสิ้นสุด ไม่บังคับ

การประทับเวลา Epoch เมื่อคาดว่าเหตุการณ์จะสิ้นสุด

หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที

การประทับเวลา Epoch ในหน่วยมิลลิวินาที
คำอธิบาย ไม่บังคับ

ย่อหน้าข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: 180 อักขระ

รายการคำบรรยาย ไม่บังคับ

คำบรรยายสูงสุด 3 รายการ โดยแต่ละคำบรรยายมีข้อความ 1 บรรทัด

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ

ป้าย ไม่บังคับ

แต่ละป้ายจะเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก

ป้าย - ข้อความ ไม่บังคับ

ชื่อสำหรับป้าย

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ

ป้าย - ภาพ ไม่บังคับ

รูปภาพขนาดเล็ก

การจัดการ UX แบบพิเศษ เช่น การซ้อนทับป้ายบนรูปภาพ/วิดีโอ

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
ราคา - ราคาปัจจุบัน ต้องระบุแบบมีเงื่อนไข

ราคาปัจจุบันของตั๋ว/บัตรสำหรับงาน

ต้องระบุหากมีการระบุราคาที่มีขีดทับ

ข้อความอิสระ
ราคา - ขีดทับราคา ไม่บังคับ ราคาเดิมของตั๋ว/บัตรผ่านสำหรับงาน ข้อความอิสระ
ข้อความไฮไลต์ราคา ไม่บังคับ ข้อความไฮไลต์สำหรับแสดงโปรโมชัน กิจกรรม และส่วนลดสำหรับสมาชิก หากมี

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความยาวเกินไป อาจแสดงจุดไข่ปลา)

หมวดหมู่เนื้อหา ไม่บังคับ อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี

รายการ Enum ที่มีสิทธิ์

  • TYPE_MOVIES_AND_TV_SHOWS (ตัวอย่าง - ภาพยนตร์)
  • TYPE_DIGITAL_GAMES (ตัวอย่าง - eSports)
  • TYPE_MUSIC (ตัวอย่าง - คอนเสิร์ต)
  • TYPE_TRAVEL_AND_LOCAL (ตัวอย่าง - ทัวร์, เทศกาล)
  • TYPE_HEALTH_AND_FITENESS (ตัวอย่าง - ชั้นเรียนโยคะ)
  • TYPE_EDUCATION (ตัวอย่าง - ชั้นเรียน)
  • TYPE_SPORTS (ตัวอย่าง - การแข่งขันฟุตบอล)
  • TYPE_DATING (ตัวอย่าง - มีตติ้ง)

ดูส่วนหมวดหมู่เนื้อหา เพื่อเป็นแนวทาง

EventReservationEntity

แอตทริบิวต์ ข้อกำหนด คำอธิบาย รูปแบบ
การดำเนินการ Uri ต้องระบุ

Deep Link ไปยังเอนทิตีในแอปผู้ให้บริการ

หมายเหตุ: คุณสามารถใช้ Deep Link สําหรับการระบุแหล่งที่มาได้ ดูคำถามที่พบบ่อยนี้

URI
ชื่อ ต้องระบุ ชื่อรายการ

สตริง

ขนาดข้อความที่แนะนำ: สูงสุด 50 อักขระ

เวลาเริ่มต้น ต้องระบุ

การประทับเวลา Epoch เมื่อระบบคาดว่าเหตุการณ์จะเริ่มต้น

หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที

การประทับเวลา Epoch ในหน่วยมิลลิวินาที
โหมดเหตุการณ์ ต้องระบุ

ช่องสำหรับระบุว่ากิจกรรมจะเป็นแบบออนไลน์ แบบเข้าร่วมด้วยตนเอง หรือ ทั้ง 2 อย่าง

Enum: VIRTUAL, IN_PERSON หรือ HYBRID
สถานที่ - ประเทศ ต้องระบุแบบมีเงื่อนไข

ประเทศที่กิจกรรมจะเกิดขึ้น

หมายเหตุ: ต้องระบุสำหรับเหตุการณ์ที่เป็น IN_PERSON หรือ ผสม

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - เมือง ต้องระบุแบบมีเงื่อนไข

เมืองที่กิจกรรมจะเกิดขึ้น

หมายเหตุ: ต้องระบุสำหรับเหตุการณ์ที่เป็น IN_PERSON หรือ ผสม

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - ที่อยู่ที่แสดง ต้องระบุแบบมีเงื่อนไข

ที่อยู่หรือชื่อสถานที่ที่จัดกิจกรรมซึ่งควร ที่จะแสดงต่อผู้ใช้

หมายเหตุ: ต้องระบุสำหรับเหตุการณ์ที่เป็น IN_PERSON หรือ ผสม

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ตำแหน่ง - ที่อยู่ ไม่บังคับ ที่อยู่ (หากมี) ของสถานที่จัดกิจกรรม กำลังโฮสต์อยู่

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ - รัฐ ไม่บังคับ รัฐหรือจังหวัด (หากมี) ที่จัดกิจกรรม ที่โฮสต์

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

สถานที่ตั้ง - รหัสไปรษณีย์ ไม่บังคับ รหัสไปรษณีย์ (หากมี) ของสถานที่จัดกิจกรรม ที่โฮสต์

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ตำแหน่ง - ย่านใกล้เคียง ไม่บังคับ พื้นที่ใกล้เคียง (หากมี) ที่จัดกิจกรรมนั้น

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด ~20 อักขระ

ภาพโปสเตอร์ ไม่บังคับ

เราจะแสดงเพียง 1 ภาพหากมีหลายภาพ สัดส่วนภาพที่แนะนำคือ 16:9

หมายเหตุ: ขอแนะนำอย่างยิ่งให้เพิ่มรูปภาพ หากป้ายคือ ที่มีให้ โปรดตรวจสอบให้แน่ใจว่าระยะห่าง 24 dps ที่ปลอดภัยทั้งด้านบนและด้านล่างของ รูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
เวลาสิ้นสุด ไม่บังคับ

การประทับเวลา Epoch เมื่อคาดว่าเหตุการณ์จะสิ้นสุด

หมายเหตุ: ค่านี้จะแสดงเป็นมิลลิวินาที

การประทับเวลา Epoch ในหน่วยมิลลิวินาที
ผู้ให้บริการ - ชื่อ ไม่บังคับ

ชื่อผู้ให้บริการ

หมายเหตุ: ต้องมีข้อความหรือรูปภาพอย่างใดอย่างหนึ่งสำหรับบริการ

ข้อความอิสระ เช่น ชื่อผู้จัดกิจกรรม/ทัวร์ชม
ผู้ให้บริการ - รูปภาพ ไม่บังคับ

โลโก้/รูปภาพของผู้ให้บริการ

หมายเหตุ: ต้องมีข้อความหรือรูปภาพอย่างใดอย่างหนึ่งสำหรับบริการ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
คำอธิบาย ไม่บังคับ

ย่อหน้าข้อความ 1 ย่อหน้าเพื่ออธิบายเอนทิตี

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: 180 อักขระ

รายการคำบรรยาย ไม่บังคับ

คำบรรยายสูงสุด 3 รายการ โดยแต่ละคำบรรยายมีข้อความ 1 บรรทัด

หมายเหตุ: คำอธิบายหรือรายการคำบรรยายจะ แสดงต่อผู้ใช้ ไม่ใช่ทั้ง 2 อย่าง

ข้อความอิสระ

ขนาดข้อความที่แนะนำสำหรับคำบรรยายแต่ละรายการ: สูงสุด 50 อักขระ

ป้าย ไม่บังคับ

แต่ละป้ายจะเป็นข้อความอิสระ (สูงสุด 15 อักขระ) หรือรูปภาพขนาดเล็ก

ป้าย - ข้อความ ไม่บังคับ

ชื่อสำหรับป้าย

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: สูงสุด 15 อักขระ

ป้าย - ภาพ ไม่บังคับ

รูปภาพขนาดเล็ก

การจัดการ UX แบบพิเศษ เช่น การซ้อนทับป้ายบนรูปภาพ/วิดีโอ

หมายเหตุ: ป้ายต้องมีข้อความหรือรูปภาพ

โปรดดูข้อกำหนดเกี่ยวกับรูปภาพสำหรับคำแนะนำ
รหัสการจอง ไม่บังคับ รหัสการจองสำหรับการจองกิจกรรม ข้อความอิสระ
ราคา - ราคาปัจจุบัน ต้องระบุแบบมีเงื่อนไข

ราคาปัจจุบันของตั๋ว/บัตรสำหรับงาน

ต้องระบุหากมีการระบุราคาที่มีขีดทับ

ข้อความอิสระ
ราคา - ขีดทับราคา ไม่บังคับ ราคาเดิมของตั๋ว/บัตรผ่านสำหรับงาน ข้อความอิสระ
ข้อความไฮไลต์ราคา ไม่บังคับ ข้อความไฮไลต์สำหรับแสดงโปรโมชัน กิจกรรม และส่วนลดสำหรับสมาชิก หากมี

ข้อความอิสระ

ขนาดข้อความที่แนะนำ: ไม่เกิน 45 อักขระ (ข้อความยาวเกินไป อาจแสดงจุดไข่ปลา)

การให้คะแนน - ค่าสูงสุด ไม่บังคับ

ค่าสูงสุดของสเกลการให้คะแนน

ต้องระบุหากค่าปัจจุบันของคะแนนรวมอยู่ ไว้ให้

จำนวน >= 0.0
การจัดประเภท - ค่าปัจจุบัน ไม่บังคับ

ค่าปัจจุบันของสเกลการให้คะแนน

ต้องระบุหากมีค่าสูงสุดของคะแนนด้วย ไว้ให้

จำนวน >= 0.0
คะแนน - จำนวน ไม่บังคับ

จำนวนการให้คะแนนกิจกรรม

หมายเหตุ: กรอกข้อมูลในช่องนี้หากแอปของคุณต้องการ ควบคุมวิธีแสดงโฆษณานี้แก่ผู้ใช้ โปรดระบุข้อมูลที่กระชับ สตริงที่แสดงต่อผู้ใช้ ตัวอย่างเช่น หากจำนวนนับคือ 1,000,000 คน ลองใช้ตัวย่อ เช่น 1M เพื่อไม่ให้เป็น ถูกตัดบนหน้าจอขนาดเล็ก

สตริง
คะแนน - ค่าของจำนวน ไม่บังคับ

จำนวนการให้คะแนนกิจกรรม

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

ยาว
หมวดหมู่เนื้อหา ไม่บังคับ อธิบายหมวดหมู่ของเนื้อหาในเอนทิตี

รายการ Enum ที่มีสิทธิ์

  • TYPE_MOVIES_AND_TV_SHOWS (ตัวอย่าง - ภาพยนตร์)
  • TYPE_DIGITAL_GAMES (ตัวอย่าง - eSports)
  • TYPE_MUSIC (ตัวอย่าง - คอนเสิร์ต)
  • TYPE_TRAVEL_AND_LOCAL (ตัวอย่าง - ทัวร์, เทศกาล)
  • TYPE_HEALTH_AND_FITENESS (ตัวอย่าง - ชั้นเรียนโยคะ)
  • TYPE_EDUCATION (ตัวอย่าง - ชั้นเรียน)
  • TYPE_SPORTS (ตัวอย่าง - การแข่งขันฟุตบอล)
  • TYPE_DATING (ตัวอย่าง - มีตติ้ง)

ดูส่วนหมวดหมู่เนื้อหา เพื่อเป็นแนวทาง

ข้อกำหนดเกี่ยวกับรูปภาพ

ข้อกำหนดที่จำเป็นสำหรับชิ้นงานรูปภาพแสดงในตารางนี้

สัดส่วนภาพ พิกเซลขั้นต่ำ พิกเซลแนะนํา

สี่เหลี่ยมจัตุรัส (1x1)

แนะนำ

300x300 1200x1200
แนวนอน (1.91x1) 600x314 1200x628
แนวตั้ง (4x5) 480x600 960x1200

รูปภาพต้องโฮสต์บน CDN สาธารณะเพื่อให้ Google เข้าถึงได้ ให้พวกเขา

รูปแบบไฟล์

PNG, JPG, GIF แบบภาพนิ่ง, WebP

ขนาดไฟล์สูงสุด

5,120 KB

คำแนะนำเพิ่มเติม

  • พื้นที่ปลอดภัยของรูปภาพ: ใส่เนื้อหาสําคัญไว้ตรงกลาง 80% ของ รูปภาพ
  • ใช้พื้นหลังโปร่งใสเพื่อให้แสดงภาพได้อย่างถูกต้องใน การตั้งค่าธีมมืดและสว่าง

หมวดหมู่เนื้อหา

หมวดหมู่เนื้อหาช่วยให้แอปสามารถเผยแพร่เนื้อหาที่เป็นของ หมวดหมู่ต่างๆ การจับคู่เนื้อหากับหมวดหมู่ที่กำหนดไว้ล่วงหน้าบางส่วน ได้แก่

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

รูปภาพต้องโฮสต์บน CDN สาธารณะเพื่อให้ Google เข้าถึงได้ ให้พวกเขา

หลักเกณฑ์การใช้หมวดหมู่เนื้อหา

  1. เอนทิตีบางรายการ เช่น ArticleEntity และ genericFeaturedEntity มี สามารถใช้หมวดหมู่เนื้อหาใดๆ ได้ สำหรับหน่วยงานอื่นๆ เช่น EventEntity, EventReservationEntity, PersonEntity, เฉพาะบางส่วน ในหมวดหมู่เหล่านี้มีสิทธิ์ ตรวจสอบรายการหมวดหมู่ที่มีสิทธิ์สำหรับ ประเภทเอนทิตีก่อนเติมข้อมูลในรายการ
  2. ใช้ประเภทเอนทิตีเฉพาะสำหรับหมวดหมู่เนื้อหาบางหมวดหมู่ผ่านชุดค่าผสม ของเอนทิตีทั่วไปและประเภทเนื้อหา

  3. ฟิลด์ ContentCategory เป็นฟิลด์ที่ไม่บังคับ และควรเว้นว่างไว้หาก เนื้อหาไม่อยู่ในหมวดหมู่ใดๆ ที่ได้กล่าวถึงก่อนหน้านี้

  4. ในกรณีที่มีหมวดหมู่เนื้อหาหลายหมวดหมู่ ให้ระบุตามลำดับ ความเกี่ยวข้องกับเนื้อหาโดยมีหมวดหมู่เนื้อหาที่มีความเกี่ยวข้องมากที่สุด เป็นลำดับแรกในรายการ

ขั้นตอนที่ 2: ระบุข้อมูลคลัสเตอร์

ขอแนะนำให้ดำเนินการเผยแพร่เนื้อหาในเบื้องหลัง (เช่น ใช้ WorkManager) เป็นประจำหรือตามเหตุการณ์ (เช่น ทุกครั้ง ผู้ใช้เปิดแอปหรือเมื่อผู้ใช้เพิ่งเพิ่มสินค้าลงในรถเข็น)

AppEngagePublishClient มีหน้าที่รับผิดชอบในการเผยแพร่คลัสเตอร์

การเผยแพร่คลัสเตอร์ในไคลเอ็นต์มี API ต่อไปนี้

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

API นี้ใช้เพื่อตรวจสอบว่าบริการพร้อมผสานรวมหรือไม่ และ สามารถนำเสนอเนื้อหาบนอุปกรณ์ได้ไหม

Kotlin


client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

Java


client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

API นี้ใช้เพื่อเผยแพร่รายการออบเจ็กต์ RecommendationCluster รายการ

Kotlin


client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

Java


client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

เมื่อบริการได้รับคำขอ การดำเนินการต่อไปนี้จะเกิดขึ้นภายใน ธุรกรรมรายการเดียว:

  • ระบบจะนำข้อมูล RecommendationCluster ที่มีอยู่จากพาร์ทเนอร์นักพัฒนาแอปออก
  • ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอไว้ในคำแนะนำที่อัปเดต คลัสเตอร์

ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและสถานะที่มีอยู่คือ บำรุง

publishFeaturedCluster

API นี้ใช้เพื่อเผยแพร่รายการออบเจ็กต์ FeaturedCluster รายการ

Kotlin


client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java


client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

เมื่อบริการได้รับคำขอ การดำเนินการต่อไปนี้จะเกิดขึ้นภายใน ธุรกรรมรายการเดียว:

  • ระบบจะนำข้อมูล FeaturedCluster ที่มีอยู่จากพาร์ทเนอร์นักพัฒนาแอปออก
  • ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอไว้ในคลัสเตอร์เด่นที่มีการอัปเดต

ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและสถานะที่มีอยู่คือ บำรุง

publishContinuationCluster

API นี้ใช้เพื่อเผยแพร่ออบเจ็กต์ ContinuationCluster

Kotlin


client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java


client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

เมื่อบริการได้รับคำขอ การดำเนินการต่อไปนี้จะเกิดขึ้นภายใน ธุรกรรมรายการเดียว:

  • ระบบจะนำข้อมูล ContinuationCluster ที่มีอยู่จากพาร์ทเนอร์นักพัฒนาแอปออก
  • ระบบจะแยกวิเคราะห์และจัดเก็บข้อมูลจากคำขอไว้ในความต่อเนื่องที่อัปเดตแล้ว คลัสเตอร์

ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและสถานะที่มีอยู่คือ บำรุง

publishUserAccountManagementRequest

API นี้ใช้เพื่อเผยแพร่การ์ดการลงชื่อเข้าใช้ การดำเนินการลงชื่อเข้าใช้จะนำผู้ใช้ไปยัง หน้าลงชื่อเข้าใช้ของแอปเพื่อให้แอปสามารถเผยแพร่เนื้อหา (หรือให้ เนื้อหาที่ปรับเปลี่ยนในแบบของคุณ)

ข้อมูลเมตาต่อไปนี้เป็นส่วนหนึ่งของการ์ดลงชื่อเข้าใช้ -

แอตทริบิวต์ ข้อกำหนด คำอธิบาย
การดำเนินการ Uri ต้องระบุ Deep Link ไปยังการดำเนินการ (เช่น ไปที่หน้าลงชื่อเข้าใช้แอป)
รูปภาพ ไม่บังคับ - หากไม่ได้ระบุ คุณต้องระบุชื่อ

รูปภาพที่แสดงในการ์ด

รูปภาพอัตราส่วน 16x9 ที่มีความละเอียด 1264x712

ชื่อ ไม่บังคับ - หากไม่ได้ให้ไว้ ต้องระบุรูปภาพ ชื่อบนการ์ด
ข้อความดำเนินการ ไม่บังคับ ข้อความที่แสดงใน CTA (เช่น ลงชื่อเข้าใช้)
ชื่อรอง ไม่บังคับ คำบรรยายเสริมบนการ์ด

Kotlin


var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Java


SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

เมื่อบริการได้รับคำขอ การดำเนินการต่อไปนี้จะเกิดขึ้นภายใน ธุรกรรมรายการเดียว:

  • ข้อมูล UserAccountManagementCluster ที่มีอยู่จากพาร์ทเนอร์นักพัฒนาแอปคือ ลบแล้ว
  • ข้อมูลจากคำขอจะได้รับการแยกวิเคราะห์และจัดเก็บไว้ใน คลัสเตอร์ UserAccountManagementCluster

ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและสถานะที่มีอยู่คือ บำรุง

updatePublishStatus

หากภายในเหตุผลทางธุรกิจ หากไม่มีการเผยแพร่คลัสเตอร์ใด เราจะ ขอแนะนำอย่างยิ่งให้อัปเดตสถานะการเผยแพร่โดยใช้ updatePublishStatus API ซึ่งเป็นสิ่งสำคัญเนื่องจาก :

  • การแจ้งสถานะในทุกสถานการณ์ แม้ว่าจะมีการเผยแพร่เนื้อหาแล้วก็ตาม (STATUS == PUBLISHED) เป็นส่วนสำคัญในการสร้างหน้าแดชบอร์ดที่ใช้ สถานะที่ชัดเจนเพื่อแสดงข้อมูลเกี่ยวกับสุขภาพและเมตริกอื่นๆ ของการผสานรวม
  • หากไม่ได้เผยแพร่เนื้อหาแต่สถานะการผสานรวมยังไม่เสียหาย (STATUS == NOT_PUBLISHED) Google สามารถหลีกเลี่ยงการทริกเกอร์การแจ้งเตือนในแอปได้ แดชบอร์ดประสิทธิภาพการทำงาน เป็นการยืนยันว่าเนื้อหาไม่ถูกเผยแพร่เนื่องจาก สถานการณ์ที่คาดหวังจากมุมมองของผู้ให้บริการ
  • ช่วยให้นักพัฒนาซอฟต์แวร์ให้ข้อมูลเชิงลึกเกี่ยวกับเวลาที่เผยแพร่ข้อมูล ไม่ได้
  • Google อาจใช้รหัสสถานะเพื่อกระตุ้นให้ผู้ใช้ดำเนินการบางอย่าง เพื่อให้พวกเขาเห็นเนื้อหาของแอปหรือจะเอาชนะเนื้อหานั้นได้

รายการรหัสสถานะการเผยแพร่ที่มีสิทธิ์มีดังนี้

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

หากไม่มีการเผยแพร่เนื้อหาเนื่องจากผู้ใช้ไม่ได้เข้าสู่ระบบ Google จะ ขอแนะนำให้เผยแพร่การ์ดลงชื่อเข้าใช้ หากผู้ให้บริการไม่สามารถ เพื่อเผยแพร่การ์ดลงชื่อเข้าใช้ เราขอแนะนำให้เรียก updatePublishStatus API ที่มีรหัสสถานะ ไม่เผยแพร่

Kotlin


client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

Java


client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์คำแนะนำ

Kotlin


client.deleteRecommendationClusters()

Java


client.deleteRecommendationClusters();

เมื่อบริการได้รับคำขอ จะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์คำแนะนำ ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและ สถานะเดิมจะยังคงอยู่

deleteFeaturedCluster

API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ที่แนะนำ

Kotlin


client.deleteFeaturedCluster()

Java


client.deleteFeaturedCluster();

เมื่อบริการได้รับคำขอ จะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์แนะนำ ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธ สถานะเดิมจะยังคงอยู่

deleteContinuationCluster

API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ Continuation

Kotlin


client.deleteContinuationCluster()

Java


client.deleteContinuationCluster();

เมื่อบริการได้รับคำขอ จะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์ความต่อเนื่อง ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธและ สถานะเดิมจะยังคงอยู่

deleteUserManagementCluster

API นี้ใช้เพื่อลบเนื้อหาของคลัสเตอร์ UserAccountManagement

Kotlin


client.deleteUserManagementCluster()

Java


client.deleteUserManagementCluster();

เมื่อบริการได้รับคำขอ จะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์ UserAccountManagement ในกรณีที่มีข้อผิดพลาด คำขอทั้งหมดจะ ถูกปฏิเสธและคงสถานะเดิมไว้

deleteClusters

API นี้ใช้เพื่อลบเนื้อหาของประเภทคลัสเตอร์ที่ระบุ

Kotlin


client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

Java


client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

เมื่อบริการได้รับคำขอ ระบบจะนำข้อมูลที่มีอยู่ออกจาก คลัสเตอร์ที่ตรงกับประเภทคลัสเตอร์ที่ระบุ ลูกค้าเลือกได้ว่าจะให้ผ่าน หลายๆ ประเภท ในกรณีที่เกิดข้อผิดพลาด คำขอทั้งหมดจะถูกปฏิเสธ สถานะเดิมจะยังคงอยู่

การจัดการข้อผิดพลาด

ขอแนะนำให้ฟังผลลัพธ์งานจาก API การเผยแพร่ เช่น การดำเนินการติดตามผลสามารถทำได้เพื่อกู้คืนและส่งงานที่สำเร็จอีกครั้ง

Kotlin


client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

Java


client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

ข้อผิดพลาดจะแสดงผลเป็น AppEngageException พร้อมระบุสาเหตุเป็น รหัสข้อผิดพลาด

รหัสข้อผิดพลาด โน้ต
SERVICE_NOT_FOUND บริการไม่พร้อมใช้งานในอุปกรณ์ที่ระบุ
SERVICE_NOT_AVAILABLE บริการพร้อมใช้งานในอุปกรณ์ที่ระบุ แต่ไม่พร้อมใช้งาน ณ เวลาที่โทร (เช่น ปิดใช้งานอย่างชัดแจ้ง)
SERVICE_CALL_EXECUTION_FAILURE การดําเนินงานล้มเหลวเนื่องจากปัญหาเกี่ยวกับการแยกชุดข้อความ ในกรณีนี้ ลองอีกครั้งได้
SERVICE_CALL_PERMISSION_DENIED ผู้โทรไม่ได้รับอนุญาตให้เรียกใช้บริการ
SERVICE_CALL_INVALID_ARGUMENT คำขอนี้มีข้อมูลที่ไม่ถูกต้อง (ตัวอย่างเช่น มากกว่าที่อนุญาต จำนวนคลัสเตอร์)
SERVICE_CALL_INTERNAL เกิดข้อผิดพลาดที่ฝั่งบริการ
SERVICE_CALL_RESOURCE_EXHAUSTED มีการเรียกใช้บริการบ่อยเกินไป

ขั้นตอนที่ 3: จัดการการออกอากาศ Intent

นอกจากการเผยแพร่การเรียก Content API ผ่านงานแล้ว ที่จำเป็นต่อการตั้งค่า BroadcastReceiver เพื่อรับ คำขอสำหรับการเผยแพร่เนื้อหา

เป้าหมายของการออกอากาศเพื่อการเผยแพร่นั้นหลักๆ แล้วคือการเปิดใช้แอปอีกครั้งและการบังคับให้ใช้ข้อมูล การซิงค์ ความตั้งใจในการออกอากาศไม่ได้ออกแบบมาให้ส่งบ่อยครั้ง แต่เป็นเพียง ทริกเกอร์เมื่อบริการ Engage ระบุว่าเนื้อหาอาจไม่มีอัปเดต (สำหรับ เช่น 1 สัปดาห์) วิธีนี้จะเพิ่มความมั่นใจให้ผู้ใช้ ประสบการณ์การใช้งานเนื้อหาแบบใหม่ แม้ว่าแอปพลิเคชันจะไม่มีการเรียกใช้เพื่อ เป็นเวลานาน

ต้องตั้งค่า BroadcastReceiver ด้วย 2 วิธีต่อไปนี้

  • ลงทะเบียนอินสแตนซ์ของคลาส BroadcastReceiver แบบไดนามิกโดยใช้ Context.registerReceiver() การดำเนินการนี้จะทำให้แอปพลิเคชันสามารถสื่อสารกันได้ ที่ยังหลงเหลืออยู่ในความทรงจำ

Kotlin

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

Java

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • ประกาศการติดตั้งใช้งานที่มีแท็ก <receiver> แบบคงที่ในบัญชี AndroidManifest.xml วิธีนี้ช่วยให้แอปพลิเคชันสามารถรับการออกอากาศ เมื่อไม่ได้ทำงานอยู่ และอนุญาตให้แอปพลิเคชันสามารถเผยแพร่ เนื้อหานั้น
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

ความตั้งใจต่อไปนี้จะส่งโดย บริการ:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION แนะนำ เพื่อเริ่มการโทร publishRecommendationClusters เมื่อได้รับ Intent นี้
  • com.google.android.engage.action.PUBLISH_FEATURED ขอแนะนำให้ เริ่มการโทร publishFeaturedCluster เมื่อได้รับ Intent นี้
  • com.google.android.engage.action.PUBLISH_CONTINUATION ขอแนะนำให้ เริ่มการโทร publishContinuationCluster เมื่อได้รับ Intent นี้

เวิร์กโฟลว์การผสานรวม

ดูคำแนะนำทีละขั้นตอนเกี่ยวกับการยืนยันการผสานรวมหลังจากที่เสร็จสมบูรณ์ได้ที่ มีส่วนร่วมกับเวิร์กโฟลว์การผสานรวมของนักพัฒนาซอฟต์แวร์

คำถามที่พบบ่อย

ดูคำถามที่พบบ่อยเกี่ยวกับ Engage SDK สำหรับ คำถามที่พบบ่อย

รายชื่อติดต่อ

ข้อมูลติดต่อ Engage-developers@google.com หากมี คำถามใดๆ ระหว่างขั้นตอนการผสานรวม

ขั้นตอนถัดไป

หลังจากผสานรวมเสร็จแล้ว ขั้นตอนถัดไปของคุณมีดังนี้

  • ส่งอีเมลถึง Engage-developers@google.com และ แนบ APK ที่ผสานรวมซึ่งพร้อมสำหรับการทดสอบโดย Google
  • Google จะดำเนินการยืนยันและตรวจสอบเป็นการภายใน ทำงานตามที่คาดไว้ หากจำเป็น Google จะติดต่อคุณ พร้อมรายละเอียดที่จำเป็น
  • เมื่อการทดสอบเสร็จสิ้นและไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ Google จะติดต่อหาคุณ จะแจ้งให้คุณทราบว่าคุณสามารถเริ่มเผยแพร่ APK ที่อัปเดตแล้วและผสานรวมได้ Play Store
  • หลังจากที่ Google ยืนยันว่า APK ที่อัปเดตแล้วของคุณได้รับการเผยแพร่ไปยัง Play Store, คำแนะนำ, เกมแนะนำ และความต่อเนื่อง อาจมีการเผยแพร่คลัสเตอร์และผู้ใช้มองเห็นได้