หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
สถานการณ์ทั่วไปในการสร้างแอปคือความจำเป็นในการแชร์ "เชื่อมโยงโดยตรง" ไปยังหน้าจอเฉพาะ เชื่อมโยงโดยตรงมีประโยชน์เมื่อคุณต้องการนำผู้ใช้ไปยังหน้าจอและข้อมูลที่ต้องการโดยตรง แทนที่จะขอให้ผู้ใช้นำทางจากหน้าจอ "หลัก" ของแอปของคุณ
เพื่อเชื่อมโยงโดยตรงไปยัง Power Apps คุณจะใช้ไวยากรณ์ URL นี้: https://apps.powerapps.com/play/{App ID}?{Query}
ในไวยากรณ์นี้:
- ID แอป—ID ของแอป ไปที่ Power Apps>แอป> เลือกแอปของคุณ >รายละเอียด
- การสอบถาม ข้อความแบบสอบถามช่วยให้คุณสามารถระบุข้อมูลไปยังการเชื่อมโยงโดยตรงได้ คุณจะต้องทำการเปลี่ยนแปลงโค้ดในแอปพื้นที่ทำงาน เพื่อใช้พารามิเตอร์ที่ให้มาเพื่อเปิดแอปโดยใช้ URL การค้นหา
ในบทความนี้ คุณจะเรียนรู้เกี่ยวกับวิธี:
- ตั้งค่าแอปพื้นที่ทำงานเพื่อจัดการพารามิเตอร์การสอบถาม
- สร้าง UI สำหรับการส่งอีเมลการเชื่อมโยงโดยตรงจากหน้าจอแอปของคุณ
- ใช้แอปเพื่อเรียกดูบัญชีใดบัญชีหนึ่ง ส่งอีเมลพร้อมการเชื่อมโยงโดยตรง และใช้ลิงก์จากอีเมลที่ได้รับเพื่อเปิดแอปโดยตรงไปยังบัญชีนั้น
ข้อกำหนดเบื้องต้น
- สิทธิ์การใช้งาน Power Apps
- หากคุณยังใหม่กับ Power Apps ทำความคุ้นเคยกับ Power Apps พื้นฐานโดย การสร้างแอป แล้วปรับแต่ง การควบคุมแกลเลอรีฟอร์ม และ การ์ด ของแอป
- ในการสร้างแอป คุณต้องได้รับบทบาทความปลอดภัยสำหรับ ผู้สร้างสภาพแวดล้อม
สร้างแอป
สร้างแอป โดยใช้ตาราง บัญชี ใน Microsoft Dataverse
แอปของคุณเปิดไปยัง BrowseScreen ที่แสดงรายการบัญชีในแกลเลอรี ตามค่าเริ่มต้น แกลเลอรีนี้แสดงที่อยู่อีเมล เมือง และชื่อบัญชีผู้ใช้ แอปนี้ยังมี DetailScreen และ EditScreen
อัปเดตการนำทาง
ตอนนี้ คุณจะต้องตั้งค่าการนำทางเพื่อใช้บริบทที่เราจะใช้เพื่อนำผู้ใช้ไปยังหน้าจออื่น
บนหน้าจอ BrowseScreen เลือก เค้าโครง ภายใต้คุณสมบัติแกลเลอรี แล้วเลือก ชื่อเรื่อง คำบรรยาย และเนื้อหา
เลือกบันทึกแรกของแกลเลอรี BrowseGallery จากนั้น ภายใต้ OnSelect ป้อนรายละเอียดต่อไปนี้:
Navigate(DetailScreen1, Fade, {accountVal:ThisItem})
ฟังก์ชั่น Navigate() สร้างตัวแปรบริบทที่เรียกว่า accountVal ตัวแปรนี้จะถูกเติมเมื่อใดก็ตามที่คุณเลือกเรกคอร์ดจากแกลเลอรี เมื่อเลือกเรกคอร์ด คุณจะถูกนำไปที่ DetailScreen ด้วยค่าที่เลือก (ในตัวอย่างนี้คือ บัญชี) ใน accountVal
จาก มุมมองแบบทรี ที่ด้านซ้ายของหน้าจอ ให้ขยาย DetailScreen1 และเลือก DetailForm1
จากบานหน้าต่างคุณสมบัติทางด้านขวาของหน้าจอ ให้เลือก แก้ไขฟิลด์ และเพิ่มฟิลด์ บัญชีผู้ติดต่อหลัก และ อีเมล
เลือก DetailForm และตั้งค่า รายการ เป็น accountVal
บันทึก ด้วยชื่อ "Account deep linking"
รับรหัสแอป
รหัสแอป เป็น GUID ที่ไม่ซ้ำกัน ซึ่งแสดงถึงแอปที่กำหนด และสร้างขึ้นเมื่อคุณบันทึกแอปไปยังระบบคลาวด์
ในการรับ ID แอป ให้เปิดแท็บใหม่และไปที่ Power Apps>แอป> เลือกแอปของคุณ >รายละเอียด ข้อมูลเพิ่มเติม: รับรหัสแอป
เปิดใช้งานการเชื่อมโยงโดยตรงไปยังหน้าจอ
เป้าหมายของตัวอย่างนี้คือการนำผู้ใช้ไปที่ DetailsScreen1 เมื่อเปิดแอปด้วยพารามิเตอร์การสอบถาม accountId เป็นส่วนหนึ่งของ URL ของแอป เพื่อจุดประสงค์นี้ เราจะใช้ฟังก์ชัน Param() ที่ดึงพารามิเตอร์สตริงการสอบถามที่ให้มาขณะเปิดแอป
เลือก แอป จาก มุมมองแบบทรี บนด้านซ้ายของหน้าจอ
เคล็ดลับ
ถ้าคุณปิด Power Apps Studio ให้เปิดแอป "การเชื่อมโยงโดยตรงกับบัญชี" ที่บันทึกไว้อีกครั้ง โดย การแก้ไข แอป
เลือกคุณสมบัติ OnStart จากรายการคุณสมบัติ
เพื่อจัดเก็บค่า รหัสแอป อัปเดตสูตรคุณสมับติ OnStart ดังต่อไปนี้
Set(AppID, "GUID"); If(Not(IsBlank(Param("accountId"))),Set(accountId,Param("accountId")));
ในสูตรนี้ ฟังก์ชัน Set() กำหนด รหัสแอป ไปยัง GUID ของแอป และฟังก์ชัน Param() เก็บค่าในตัวแปร accountId เมื่อไม่เว้นว่าง
หมายเหตุ
ตรวจสอบให้แน่ใจว่าคุณได้แทนที่ "GUID" ในสูตรข้างต้นเป็นรหัสแอปของคุณตามความเหมาะสม
เลือกคุณสมบัติ StartScreen สำหรับแอป และเพิ่มสิ่งต่อไปนี้:
If(Not(IsBlank(Param("accountId"))),DetailScreen1,BrowseScreen1)
ฟังก์ชันนี้จะตรวจสอบว่า Param ว่างหรือไม่ จากนั้นให้อยู่บน BrowseScreen1 หรือไปที่ DetailScreen1
เลือก DetailScreen1 จาก มุมมองแบบทรี
เลือกคุณสมบัติ OnVisible และป้อนรายละเอียดต่อไปนี้:
If(Not(IsBlank(accountId)), UpdateContext({accountVal:LookUp(Accounts, Account = GUID(accountId))}))
ฟังก์ชันนี้ใช้ accountId ที่เก็บไว้จากขั้นตอนก่อนหน้า เพื่อตั้งค่าตัวแปร accountVal
สร้าง URL การเชื่อมโยงโดยตรง
แอปของคุณได้รับการกำหนดค่าให้รับ accountId เป็นพารามิเตอร์ที่มี GUID สำหรับบัญชีจากตาราง บัญชี และเมื่อพารามิเตอร์นี้ได้รับการร้องขอไปยังแอป แอปจะเปิดหน้าจอรายละเอียดโดยตรง (DetailScreen1) กับ accountId ที่ให้มา
ในการเรียกใช้แอปด้วยค่าพารามิเตอร์ เราต้องใช้ไวยากรณ์ต่อไปนี้:
https://apps.powerapps.com/play/{App ID}?{Query}
ในไวยากรณ์ข้างต้น เราต้องเพิ่ม รหัสแอป และแบบสอบถามที่ประกอบด้วยตัวแปร accountId ที่มีค่าของตัวเอง
ตัวอย่างเช่น เมื่อป้อน URL ต่อไปนี้ในเบราว์เซอร์สำหรับผู้เช่าตัวอย่าง แอป Account deep linking จะเปิดโดยตรงกับค่าพารามิเตอร์ accountId ที่ให้มา (ในตัวอย่างนี้คือ "A. Datum Corporation (Sample)"): https://apps.powerapps.com/play/061b64cd-e5a0-4a7a-a77f-b6f8586dd6c7?accountId=01e5bf81-7d44-ec11-8c60-002248094566
ส่งลิงก์การเชื่อมโยงโดยตรงในอีเมล
นอกจากนี้เรายังสามารถจัดหาตัวแปร accountVal เพื่อชี้ไปที่ ID ของบัญชีแทนที่จะใช้ลิงก์แบบสัมบูรณ์ที่อธิบายไว้ข้างต้นในขณะที่เรียกใช้ URL สำหรับบัญชีที่กำหนดจากภายในแอป
เพื่อจุดประสงค์นี้ เราจะสร้างปุ่มและเพิ่มความสามารถในการเรียกใช้อีเมลจากภายในแอปด้วยลิงก์การเชื่อมโยงโดยตรง ไปยังหน้าจอรายละเอียดของบัญชีที่เลือกจากแอป Account deep linking
เลือก ข้อมูล จากทางด้านซ้ายของหน้าจอ
เลือก เพิ่มข้อมูล> ค้นหาและเลือก Office 365 Outlook> เลือก เชื่อมต่อ
หมายเหตุ
การกระทำนี้จะเพิ่มการเชื่อมต่อ Microsoft 365 Outlook เพื่อให้เราสามารถใช้ขั้นตอนต่อไปเพื่อเรียกใช้การเขียนอีเมลเพื่อแบ่งปันข้อมูลบัญชี
เลือก DetailScreen1 จาก มุมมองแบบทรี
แทรกปุ่มที่ด้านล่างขวาของหน้าจอ และเปลี่ยนชื่อเป็น ใช้บัญชีร่วมกัน
บนปุ่มคุณสมบัติของ OnSelect ป้อนข้อมูลต่อไปนี้:
Office365Outlook.SendEmailV2("Recipient", "Subject", "Here's the deep link to the selected account - https://apps.powerapps.com/play/{App ID}?accountId=" & accountVal.Account)
สูตรนี้ใช้ตัวเชื่อมต่อ Microsoft 365 สำหรับ Outlook เพื่อส่งอีเมล โดยใช้การดำเนินการ SendEmailV2
หมายเหตุ
แทนที่ ผู้รับเรื่อง และ AppID ในสูตรด้านบนที่มีที่อยู่อีเมลของผู้รับ หัวเรื่องของอีเมล และ ID ของแอป
บันทึกและเผยแพร่ แอป
ทดสอบแอป
เรียกใช้แอป และไปที่หน้าจอรายละเอียดสำหรับบัญชีใดๆ จากนั้นเลือกปุ่ม แบ่งปันบัญชี สูตรปุ่ม OnSelect จะทริกเกอร์อีเมลไปยังผู้รับ ที่กำหนดค่าหัวเรื่องและเนื้อหาไว้ก่อนหน้านี้ นี่คือตัวอย่างอีเมลที่ส่งโดยแอปที่กำหนดค่า:
เปิดอีเมล และคัดลอกลิงก์การเชื่อมโยงโดยตรงที่ชี้ไปยังบัญชีที่เลือก และคุณจะถูกนำไปที่หน้าจอรายละเอียดบัญชีในแอป Account deep linking โดยตรง แทนหน้าจอเรียกดูเริ่มต้น