การอัปเดตรายวัน (Dialogflow)

ผู้ใช้สมัครรับข้อมูลอัปเดตรายวันของการดำเนินการในโทรศัพท์ของตน

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

ประสบการณ์ของผู้ใช้เกี่ยวกับการอัปเดตเหล่านี้มีดังต่อไปนี้

  1. ผู้ใช้เรียกใช้ Intent ของการดำเนินการที่คุณกำหนดค่าไว้เป็นอัปเดตรายวัน
  2. ผู้ใช้ทำตามข้อความแจ้งเพื่อสมัครรับการอัปเดตรายวัน โดยข้อความเตือนนี้จะแสดงในระหว่างการสนทนาหรือเป็นชิปคำแนะนำเมื่อการสนทนาสิ้นสุดลง
  3. ผู้ใช้จะกำหนดเวลาที่ต้องการรับข้อมูลอัปเดตประจำวันโดยลงทะเบียนการอัปเดตกับ Google Assistant
  4. ในเวลาที่กำหนดไว้ในแต่ละวัน ผู้ใช้จะได้รับการแจ้งเตือน Assistant ในอุปกรณ์เคลื่อนที่
  5. เมื่อผู้ใช้เปิดการแจ้งเตือนนี้ ผู้ใช้จะเรียกใช้ Intent ที่คุณกำหนดค่าเป็นการอัปเดตรายวันและโต้ตอบกับการดำเนินการของคุณ

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

Use Case

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

  • ตรวจสอบให้แน่ใจว่าการอัปเดตรายวันจะทำให้ผู้ใช้เห็นข้อมูลที่เป็นประโยชน์และแตกต่างไปทุกวัน หากการแตะอัปเดตรายวันทำให้เกิดข้อความแจ้งเดิมทุกครั้ง ผู้ใช้อาจยกเลิกการสมัครหลังจากผ่านไป 2-3 วัน
  • ตรวจสอบว่ากล่องโต้ตอบนั้นเหมาะสมสำหรับผู้ใช้ หากผู้ใช้ตรงกับความตั้งใจของการอัปเดตรายวันโดยตรง ผู้ใช้อาจไม่ได้เริ่มต้นตั้งแต่แรก ของการสนทนา ดังนั้นจึงไม่ควรมีบริบทมากนัก
  • แสดงให้ผู้ใช้เห็นถึงประโยชน์ของการดำเนินการก่อนที่จะแจ้งให้ผู้ใช้ลงทะเบียนสำหรับการอัปเดตรายวัน ผู้ใช้ของคุณควรคิดว่า "ฉันต้องการเนื้อหานี้ทุกวัน" เมื่อมีตัวเลือกในการสมัครรับข้อมูล
  • อย่าทำให้ผู้ใช้ได้รับคำแนะนำให้ลงทะเบียนซ้ำๆ จนเกินไป เสนอการสมัครรับข้อมูลอัปเดตรายวันทันทีหลังจากให้ผู้ใช้เห็นว่าจะสมัครใช้บริการอะไรบ้าง และหลีกเลี่ยงการส่งข้อเสนอซ้ำในบริบทอื่นๆ
  • สนทนาสั้นๆ หลังจากเรียกใช้ Intent การอัปเดต การอัปเดตรายวันส่วนใหญ่ควรประกอบด้วยการตอบกลับเพียงครั้งเดียวแล้วปิดไปโดยที่ผู้ใช้ไม่จำเป็นต้องป้อนข้อมูล

ตั้งค่าการอัปเดตรายวัน

สำรวจใน Dialogflow

คลิกต่อไปเพื่อนำเข้าตัวอย่างการอัปเดตรายวันใน Dialogflow จากนั้นทำตามขั้นตอนด้านล่างเพื่อทำให้ใช้งานได้และทดสอบตัวอย่าง

  1. ป้อนชื่อตัวแทนและสร้าง Agent ใหม่ใน Dialogflow สำหรับตัวอย่าง
  2. หลังจากนำเข้า Agent เสร็จแล้ว ให้คลิกไปที่ Agent
  3. จากเมนูการนำทางหลัก ให้ไปที่การดำเนินการคำสั่งซื้อ
  4. เปิดใช้ตัวแก้ไขในบรรทัด แล้วคลิกทำให้ใช้งานได้ ซึ่งตัวแก้ไขจะมีโค้ดตัวอย่าง
  5. จากเมนูการนําทางหลัก ให้ไปที่ Integrations แล้วคลิก Google Assistant
  6. ในหน้าต่างโมดัลที่ปรากฏ ให้เปิดใช้แสดงตัวอย่างการเปลี่ยนแปลงอัตโนมัติ และคลิกทดสอบเพื่อเปิดเครื่องจำลองการดำเนินการ
  7. ในเครื่องจำลอง ให้ป้อน Talk to my test app เพื่อทดสอบตัวอย่าง

หากต้องการกำหนดค่า Intent ของ Action สำหรับการอัปเดตรายวัน ให้ทำตามวิธีการต่อไปนี้

1. เตรียม Intent ในการอัปเดต

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

หากต้องการกำหนด Intent ในการทริกเกอร์ใน Dialogflow ให้ทำตามขั้นตอนต่อไปนี้

  1. ใน Dialogflow Console ให้คลิก Integrations
  2. คลิกการตั้งค่าการผสานรวมในส่วน Google Assistant
  3. ในส่วน Discovery > การเรียกใช้โดยนัย ให้คลิก เพิ่ม Intent แล้วเลือก Intent ในการทริกเกอร์หากยังไม่มี
  4. เปิดแสดงตัวอย่างอัตโนมัติที่จะเปลี่ยนแปลงหากยังไม่ได้เปิดใช้
  5. คลิกปิด

ใน Actions SDK ให้กำหนด Intent การอัปเดตเป็น Intent ในการทริกเกอร์ในแพ็กเกจการดำเนินการ

2. เปิดใช้การอัปเดต

หากต้องการเปิดการอัปเดตรายวันสำหรับ Intent ในการทริกเกอร์ ให้ทำดังนี้

  1. ในคอนโซล Actions ให้ไปที่พัฒนา > การดําเนินการ
  2. เลือก Intent ในการทริกเกอร์ หาก Intent ไม่ปรากฏในรายการ ให้ตรวจสอบว่ามีการกำหนดค่าเป็น Intent ในการทริกเกอร์ และได้ตั้งค่าการผสานรวม Assistant ของ Dialogflow ให้แสดงตัวอย่างการเปลี่ยนแปลงอัตโนมัติแล้ว
  3. เลื่อนลงไปที่ส่วนการมีส่วนร่วมของผู้ใช้ แล้วเปิดคุณต้องการเสนอการอัปเดตรายวันให้แก่ผู้ใช้ไหม
  4. ป้อนชื่อเนื้อหา
  5. คลิกบันทึก

ตอนนี้คุณได้กำหนดค่าการดำเนินการให้เสนอการสมัครใช้บริการอัปเดตรายวันสำหรับความตั้งใจแล้ว ตอนนี้คุณทดสอบการอัปเดตรายวันในอุปกรณ์เคลื่อนที่ได้แล้ว

ปรับแต่งการลงทะเบียนการอัปเดต (ไม่บังคับ)

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

ดูตัวอย่างการมีส่วนร่วมของผู้ใช้ Actions on Google (Node.js และ Java) เพื่อดูตัวอย่างทั้งหมดของการดำเนินการที่จัดการฟีเจอร์การอัปเดตรายวันที่ไม่บังคับ

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

1. เพิ่มข้อความแจ้งให้ลงทะเบียน

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

โค้ดตัวอย่างต่อไปนี้แจ้งให้ผู้ใช้สมัครรับข้อมูลอัปเดตรายวันซึ่งมีอุณหภูมิต่ำสุดที่คาดไว้ในแต่ละวัน

Node.js
app.intent('Daily Lowest Temperature', (conv, params) => {
  const today = DAYS[new Date().getDay()];
  const lowestTemperature = lowestTemperatures[today];
  conv.ask(`The lowest temperature for today is ${lowestTemperature}`);
  conv.ask('I can send you daily updates with the lowest temperature' +
    ' of the day. Would you like that?');
  conv.ask(new Suggestions('Send daily updates'));
});
Java
@ForIntent("Daily Lowest Temperature")
public ActionResponse dailyLowestTemperature(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  Integer lowestTemperature =
      LOWEST_TEMPERATURES.get(LocalDate.now().getDayOfWeek());
  responseBuilder
      .add("The lowest temperature for today is " +  lowestTemperature + " degrees Fahrenheit.")
      .add("I can send you daily updates with the lowest temperature of " +
          "the day. Would you like that?")
      .addSuggestions(new String[] {
          "Send daily updates"
      });
  return responseBuilder.build();
}
Dialogflow JSON

โปรดทราบว่า JSON ด้านล่างอธิบายการตอบสนองของเว็บฮุค

{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "The lowest temperature for today is 75 degrees Fahrenheit"
            }
          },
          {
            "simpleResponse": {
              "textToSpeech": "I can send you daily updates with the lowest temperature of the day. Would you like that?"
            }
          }
        ],
        "suggestions": [
          {
            "title": "Send daily updates"
          }
        ]
      }
    }
  }
}
API ของ Actions SDK

โปรดทราบว่า JSON ด้านล่างอธิบายการตอบสนองของเว็บฮุค

{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.TEXT"
        }
      ],
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "The lowest temperature for today is 75 degrees Fahrenheit"
              }
            },
            {
              "simpleResponse": {
                "textToSpeech": "I can send you daily updates with the lowest temperature of the day. Would you like that?"
              }
            }
          ],
          "suggestions": [
            {
              "title": "Send daily updates"
            }
          ]
        }
      }
    }
  ]
}

2. จัดการการลงทะเบียนการอัปเดต

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

  • intent - ตั้งค่าเป็น Intent การอัปเดตที่คุณกำหนดค่าไว้
  • frequency - ตั้งค่าเป็น "รายวัน"

รหัสต่อไปนี้จะบันทึกการอัปเดตรายวันสำหรับความตั้งใจ "อุณหภูมิต่ำสุดรายวัน"

Dialogflow Node.js
app.intent('Subscribe to Daily Updates', (conv) => {
  conv.ask(new RegisterUpdate({
    intent: 'Daily Lowest Temperature',
    frequency: 'DAILY',
  }));
});
Actions SDK Node.js
conv.ask(new RegisterUpdate({
  intent: 'Daily Lowest Temperature',
  frequency: 'DAILY',
}));
Java สำหรับ Dialogflow
@ForIntent("Subscribe to Daily Updates")
public ActionResponse subscribeToDailyUpdates(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  return responseBuilder.add(new RegisterUpdate()
      .setIntent("Daily Lowest Temperature")
      .setFrequency("DAILY"))
      .build();
}
Actions SDK Java
ResponseBuilder responseBuilder = getResponseBuilder(request);
return responseBuilder.add(new RegisterUpdate()
    .setIntent("Daily Lowest Temperature")
    .setFrequency("DAILY"))
    .build();
Dialogflow JSON
{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "systemIntent": {
        "intent": "actions.intent.REGISTER_UPDATE",
        "data": {
          "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
          "intent": "Daily Lowest Temperature",
          "triggerContext": {
            "timeContext": {
              "frequency": "DAILY"
            }
          }
        }
      }
    }
  }
}
Actions SDK JSON
{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.REGISTER_UPDATE",
          "inputValueData": {
            "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
            "intent": "Daily Lowest Temperature",
            "triggerContext": {
              "timeContext": {
                "frequency": "DAILY"
              }
            }
          }
        }
      ]
    }
  ]
}

3. จัดการผลลัพธ์

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

วิธีการสำหรับขั้นตอนนี้จะแตกต่างกันไปขึ้นอยู่กับว่าคุณใช้ Dialogflow หรือ Actions SDK สำหรับการพัฒนา

Dialogflow

ทำตามขั้นตอนต่อไปนี้เพื่อสร้าง Intent ที่จัดการผลการลงทะเบียน

  1. ในคอนโซล Dialogflow ให้สร้าง Intent ใหม่
  2. เพิ่มเหตุการณ์ actions_intent_REGISTER_UPDATE
  3. เปิด Fulfillment เว็บฮุคสำหรับ Intent
  4. คลิกบันทึก
ใน Fulfillment สำหรับ Intent ให้ตรวจสอบพารามิเตอร์ registered สำหรับผลลัพธ์แล้ว Pivot การสนทนาให้สอดคล้องกัน
Dialogflow Node.js
app.intent('Confirm Daily Updates Subscription', (conv, params, registered) => {
  if (registered && registered.status === 'OK') {
    conv.close(`Ok, I'll start giving you daily updates.`);
  } else {
    conv.close(`Ok, I won't give you daily updates.`);
  }
});
Java สำหรับ Dialogflow
@ForIntent("Confirm Daily Updates Subscription")
public ActionResponse confirmDailyUpdatesSubscription(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  if (request.isUpdateRegistered()) {
    responseBuilder.add("Ok, I'll start giving you daily updates.");
  } else {
    responseBuilder.add("Ok, I won't give you daily updates.");
  }
  return responseBuilder.endConversation().build();
}
Dialogflow JSON
{
  "payload": {
    "google": {
      "expectUserResponse": false,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Ok, I'll start giving you daily updates."
            }
          }
        ]
      }
    }
  }
}
Actions SDK

ในโค้ด Fulfillment ให้เพิ่มการจัดการสำหรับ Intent ในตัวของ actions.intent.REGISTER.UPDATE ตรวจสอบพารามิเตอร์ registered สำหรับผลลัพธ์และ Pivot การสนทนาให้เหมาะสม

Actions SDK Node.js
app.intent('actions.intent.REGISTER_UPDATE', (conv, params, registered) => {
  if (registered && registered.status === 'OK') {
    conv.close(`Ok, I'll start giving you daily updates.`);
  } else {
    conv.close(`Ok, I won't give you daily updates.`);
  }
});
Actions SDK Java
@ForIntent("actions.intent.REGISTER_UPDATE")
public ActionResponse confirmDailyUpdatesSubscription(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  if (request.isUpdateRegistered()) {
    responseBuilder.add("Ok, I'll start giving you daily updates.");
  } else {
    responseBuilder.add("Ok, I won't give you daily updates.");
  }
  return responseBuilder.endConversation().build();
}
Actions SDK JSON
{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "simpleResponse": {
            "textToSpeech": "Ok, I'll start giving you daily updates."
          }
        }
      ]
    }
  }
}

ปรับเปลี่ยนการอัปเดตในแบบของคุณ (ไม่บังคับ)

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

วิธีการสำหรับฟีเจอร์นี้จะแตกต่างกันไปขึ้นอยู่กับว่าคุณใช้ Dialogflow หรือ Actions SDK สำหรับการพัฒนา

Dialogflow

กำหนดเอนทิตี Dialogflow เพื่อจัดการพารามิเตอร์ที่กำหนดเองสำหรับการอัปเดต จากนั้นส่งค่าพารามิเตอร์เป็นอาร์กิวเมนต์สำหรับ Intent ในการอัปเดต หากต้องการตั้งค่าการอัปเดตที่ปรับเปลี่ยนในแบบของคุณใน Dialogflow ให้ทำตามขั้นตอนต่อไปนี้

  1. สร้างเอนทิตีใหม่ในคอนโซล Dialogflow
  2. เพิ่มรายการและคำพ้องความหมายที่เกี่ยวข้องกับพารามิเตอร์ของคุณ
  3. คลิกบันทึก จากนั้นเปิด Intent การอัปเดต
  4. ในส่วนการกระทำและพารามิเตอร์ ให้ตั้งค่า actions.intent.CONFIGURE_UPDATES เป็นเหตุการณ์ ในส่วนเดียวกัน ให้เพิ่มพารามิเตอร์ที่มีประเภทเดียวกับเอนทิตีใหม่
  5. เปิด Intent "การลงทะเบียนอัปเดต" ที่จัดการ Intent ในตัวของ CONFIGURE_UPDATES
  6. ในส่วนการดำเนินการและพารามิเตอร์ ให้เพิ่มพารามิเตอร์ที่จำเป็นและตั้งค่าประเภทเป็นเอนทิตีที่สร้างไว้ก่อนหน้านี้
  7. อัปเดตโค้ด Fulfillment ของ Intent การลงทะเบียนให้รวมออบเจ็กต์ arguments ที่มีเนื้อหาต่อไปนี้
    • name - ชื่อพารามิเตอร์ตามที่กำหนดค่าไว้ใน Dialogflow
    • textValue - ค่าของพารามิเตอร์

โค้ดต่อไปนี้อ่านค่าของพารามิเตอร์และใช้ค่านี้ในคำขอลงทะเบียนการอัปเดต

Dialogflow Node.js
app.intent('setup_update', (conv) => {
  conv.ask(new RegisterUpdate({
    intent: 'update_of_the_day',
    arguments: [
      {
        name: 'category',
        textValue: 'Daily_lowest_temperature',
      },
    ],
    frequency: 'DAILY',
  }));
});
Java สำหรับ Dialogflow
@ForIntent("setup_update")
public ActionResponse setupUpdate2(ActionRequest request) {
  List<Argument> args =
      Arrays.asList(
          new Argument()
              .setName("category")
              .setTextValue(request.getParameter("category").toString()));
  return getResponseBuilder(request)
      .add(new RegisterUpdate().setIntent("intent_name").setArguments(args).setFrequency("DAILY"))
      .build();
}
Dialogflow JSON
{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "PLACEHOLDER"
            }
          }
        ]
      },
      "userStorage": "{\"data\":{}}",
      "systemIntent": {
        "intent": "actions.intent.REGISTER_UPDATE",
        "data": {
          "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
          "intent": "update_of_the_day",
          "arguments": [
            {
              "name": "category",
              "textValue": "Daily_lowest_temperature"
            }
          ],
          "triggerContext": {
            "timeContext": {
              "frequency": "DAILY"
            }
          }
        }
      }
    }
  },
  "outputContexts": [
    {
      "name": "/contexts/_actions_on_google",
      "lifespanCount": 99,
      "parameters": {
        "data": "{}"
      }
    }
  ]
}
Actions SDK

ขอข้อมูลเพิ่มเติมจากผู้ใช้ใน Fulfillment Intent แล้วส่งต่อข้อมูลเป็นอาร์กิวเมนต์สำหรับ Intent ในการอัปเดต หากต้องการตั้งค่าการอัปเดตที่ปรับเปลี่ยนในแบบของคุณใน Actions SDK ให้ทำตามขั้นตอนต่อไปนี้

  1. แจ้งให้ผู้ใช้ทราบถึงข้อมูลที่คุณต้องการใช้เพื่อการปรับเปลี่ยนในแบบของคุณ
  2. ในรหัส Fulfillment สำหรับ Intent "การลงทะเบียนอัปเดต" ที่จัดการ CONFIGURE UPDATES มีออบเจ็กต์ arguments ที่มีเนื้อหาต่อไปนี้
    • name - ชื่อสำหรับอาร์กิวเมนต์
    • textValue - ข้อมูลจากผู้ใช้ที่จะส่งเป็นอาร์กิวเมนต์

โค้ดต่อไปนี้จะส่งอาร์กิวเมนต์พร้อมกับคำขอลงทะเบียนการอัปเดต

Actions SDK Node.js
app.intent('actions.intent.TEXT', (conv) => {
  if (conv.input.raw === 'Send daily') {
    conv.ask(new RegisterUpdate({
      intent: 'update_of_the_day',
      arguments: [
        {
          name: 'category',
          textValue: 'Daily_lowest_temperature',
        },
      ],
      frequency: 'DAILY',
    }));
  }
});
Actions SDK Java
@ForIntent("actions.intent.CONFIGURE_UPDATES")
public ActionResponse configureUpdatesActionsSdk(ActionRequest request) {
  List<Argument> args =
      Arrays.asList(
          new Argument()
              .setName("category")
              .setTextValue(request.getParameter("category").toString()));
  return getResponseBuilder(request)
      .add(new RegisterUpdate().setIntent("intent_name").setArguments(args).setFrequency("DAILY"))
      .build();
}

@ForIntent("actions.intent.TEXT")
public ActionResponse text(ActionRequest request) {
  ResponseBuilder rb = getResponseBuilder(request);
  String input = request.getRawInput().getQuery();
  if (input.equals("DAILY_NOTIFICATION_SUGGESTION")) {
    rb.add("For which category do you want to receive daily updates?");
  } else {
    rb.add("Sorry, I didn't get that. Please try again later").endConversation();
  }
  return rb.build();
}
Actions SDK JSON
{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "PLACEHOLDER"
              }
            }
          ]
        }
      },
      "possibleIntents": [
        {
          "intent": "actions.intent.REGISTER_UPDATE",
          "inputValueData": {
            "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
            "intent": "update_of_the_day",
            "arguments": [
              {
                "name": "category",
                "textValue": "Daily_lowest_temperature"
              }
            ],
            "triggerContext": {
              "timeContext": {
                "frequency": "DAILY"
              }
            }
          }
        }
      ]
    }
  ],
  "conversationToken": "{\"data\":{}}",
  "userStorage": "{\"data\":{}}"
}

เมื่อผู้ใช้เรียกใช้การอัปเดตรายวัน Intent ในการอัปเดตจะมีอาร์กิวเมนต์ที่มีค่าที่ผู้ใช้ระบุระหว่างการลงทะเบียน ใช้ค่าเหล่านี้เพื่อปรับเปลี่ยนการอัปเดตให้เหมาะกับผู้ใช้แต่ละคน

ทดสอบการอัปเดตรายวัน

ทดสอบการอัปเดตประจำวันโดยใช้อุปกรณ์เคลื่อนที่ที่มี Google Assistant โดยใช้บัญชี Google เดียวกับที่คุณใช้สร้างการดำเนินการ เรียกใช้การดำเนินการและสมัครรับข้อมูลการอัปเดตรายวัน จากนั้นตรวจสอบการแจ้งเตือนของอุปกรณ์ในช่วงเวลาที่อัปเดต