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

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

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

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

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

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

กรณีการใช้งาน

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

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

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

สำรวจใน Dialogflow

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

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

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

1. เตรียมแผนการอัปเดต

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

หากต้องการกำหนดความตั้งใจในการเรียกใช้ใน Dialogflow ให้ทำดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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"
          }
        ]
      }
    }
  }
}
Action SDK JSON

โปรดทราบว่า 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 - ตั้งค่าเป็น "DAILY"

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

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',
}));
Dialogflow Java
วันที่
@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 สร้างความตั้งใจใหม่ขึ้นมา
  2. เพิ่มเหตุการณ์ actions_intent_REGISTER_UPDATE
  3. เปิดการดำเนินการตามเว็บฮุคสำหรับ 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.`);
  }
});
Dialogflow Java
วันที่
@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

เพิ่มการจัดการสำหรับ actions.intent.REGISTER.UPDATE ในรหัสการดำเนินการตามคำสั่งซื้อ Intent ในตัว ตรวจสอบพารามิเตอร์ registered สำหรับผลลัพธ์ และเปลี่ยนทิศทางการสนทนาตามความเหมาะสม

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."
          }
        }
      ]
    }
  }
}

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

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

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

Dialogflow

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

  1. สร้างเอนทิตีใหม่ในคอนโซล Dialogflow
  2. เพิ่มรายการและคำพ้องความหมายที่เกี่ยวข้องกับพารามิเตอร์ของคุณ
  3. คลิกบันทึก จากนั้นเปิด Intent การอัปเดต
  4. ในส่วนการดำเนินการและพารามิเตอร์ ให้ตั้งค่า actions.intent.CONFIGURE_UPDATES เป็นเหตุการณ์ ในส่วนเดียวกัน ให้เพิ่มพารามิเตอร์ที่มีประเภทเดียวกับเอนทิตีใหม่
  5. เปิด "อัปเดตการลงทะเบียน" Intent ที่จัดการ Intent ในตัว CONFIGURE_UPDATES ได้
  6. ในส่วนการดำเนินการและพารามิเตอร์ ให้เพิ่มพารามิเตอร์ที่จำเป็นและตั้งค่าประเภทเป็นเอนทิตีที่สร้างไว้ก่อนหน้านี้
  7. อัปเดตรหัสการดำเนินการตามคำสั่งซื้อของ 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',
  }));
});
Dialogflow Java
วันที่
@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

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

  1. แจ้งให้ผู้ใช้ทราบข้อมูลที่คุณต้องการใช้ การปรับเปลี่ยนให้เหมาะกับผู้ใช้
  2. ในรหัสการดำเนินการตามคำสั่งซื้อสำหรับ "อัปเดตการลงทะเบียน" ความตั้งใจนั้น จัดการ 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 เดียวกับที่คุณใช้สร้างการดำเนินการ เรียกใช้การดำเนินการของคุณ และสมัครรับการอัปเดตประจำวัน จากนั้นตรวจสอบการแจ้งเตือนของอุปกรณ์ เวลาอัปเดต