การเพิ่ม Progressive Web App ไปยัง Google Play

การเพิ่ม Progressive Web App ไปยัง Google Play

เกี่ยวกับ Codelab นี้

subjectอัปเดตล่าสุดเมื่อ พ.ย. 10, 2021
account_circleเขียนโดย Googler

1 ยินดีต้อนรับ

ในห้องทดลองนี้ คุณจะได้ใช้ Progressive Web App ที่คุณติดตั้งใช้งานและรวมไว้ในแอปเพื่อเผยแพร่ใน Play Store ของ Google

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้ Bubblewrap เพื่อบรรจุ Progressive Web App สําหรับ Play Store ของ Google
  • คีย์ Signing คืออะไรและใช้งานอย่างไร
  • วิธีสร้างแอปใหม่ใน Google Play Console และตั้งค่ารุ่นสําหรับการทดสอบเพื่อทดสอบแอปของคุณก่อนเผยแพร่
  • ลิงก์เนื้อหาดิจิทัลและวิธีเพิ่มลิงก์ลงในเว็บแอป

สิ่งที่ควรทราบ

  • Progressive Web App คืออะไร
  • วิธีใช้เครื่องมือบรรทัดคําสั่ง
  • คําสั่ง Shell Bash พื้นฐาน หรือวิธีแปลคําสั่งให้เป็น Shell ที่คุณเลือก

สิ่งที่ต้องมี

  • Progressive Web App ที่เผยแพร่บนอินเทอร์เน็ตและคุณสามารถทําการเปลี่ยนแปลง
  • Bubblewrap Command Line Interface ที่ติดตั้งไว้และพร้อมใช้งาน
  • บัญชีนักพัฒนาซอฟต์แวร์ Google Play
  • คีย์ Signing ที่มีอยู่หากคุณเปิดตัวแอปไว้ใน Google Play แล้ว
  • อุปกรณ์ Android หรือ Chrome OS ที่จะทดสอบ

สิ่งที่จะไม่ครอบคลุม

2 ตีกรอบ PWA

Bubblewrap เป็นเครื่องมือที่ช่วยให้การรวม Progressive Web App ไว้ใน Android App Bundle ทําได้ง่ายๆ เพียงใช้คําสั่ง CLI คําสั่ง 2-3 รายการ โดยการสร้างโปรเจ็กต์ Android ที่เปิดใช้ PWA เป็นกิจกรรมในเว็บที่เชื่อถือได้

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

$ mkdir my-pwa && cd my-pwa

จากนั้นเรียกใช้เครื่องมือบรรทัดคําสั่ง Bubblewrap เพื่อสร้างการกําหนดค่าและโครงการ Android สําหรับ Android App Bundle ที่คุณจะอัปโหลดไปยัง Play ดังนี้

$ bubblewrap init --manifest=https://my-pwa.com/manifest.json

ลูกโป่งนี้เริ่มจากตําแหน่งของไฟล์ Web App Manifest ของ PWA&#39 การดําเนินการนี้จะสร้างการกําหนดค่าเริ่มต้นจากไฟล์ Manifest ของเว็บแอป และเริ่มต้นวิซาร์ดในคอนโซลซึ่งจะช่วยให้คุณเปลี่ยนการกําหนดค่าเริ่มต้นได้ ทําตามวิซาร์ดเพื่อเปลี่ยนค่าที่สร้างโดยเครื่องมือ

วิซาร์ด Bubblewrap CLI ที่แสดงการเริ่มต้นจาก Airhorner โดยมีการลบล้างโดเมนด้วย example.com และ URL เริ่มต้น

คีย์ Signing

Play Store ของ Google กําหนดให้แพ็กเกจแอปพลิเคชันต้องมีลายเซ็นดิจิทัลพร้อมใบรับรองเมื่ออัปโหลด ซึ่งมักเรียกว่าคีย์การลงนาม นี่คือใบรับรองแบบ Self-signed และแตกต่างจากใบรับรองที่ใช้แสดงแอปพลิเคชันผ่าน HTTPS

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

วิซาร์ด Bubblewrap CLI ที่สอบถามตําแหน่งของชื่อและคีย์การลงนามที่มีอยู่ของผู้ใช้

หากคุณยังไม่มีคีย์ Signing และกําลังสร้างรายการใหม่ใน Play Store คุณจะใช้ค่าเริ่มต้นที่ Bubblewrap ให้ไว้เพื่อสร้างคีย์ใหม่ให้คุณได้

วิซาร์ด Bubblewrap CLI ที่ถามผู้ใช้ว่าต้องการสร้างคีย์การลงนามใหม่หรือไม่

เอาต์พุต Bubblewrap

หลังจากเริ่มต้นโปรเจ็กต์ Bubblewrap และวิซาร์ดเสร็จสมบูรณ์แล้ว ระบบจะสร้างรายการต่อไปนี้

  • twa-manifest.json - การกําหนดค่าโปรเจ็กต์ซึ่งแสดงค่าที่เลือกในวิซาร์ด Bubblewrap คุณจะต้องติดตามไฟล์นี้ด้วยระบบควบคุมเวอร์ชัน เพราะสามารถใช้สร้างโปรเจ็กต์ Bubblewrap ขึ้นใหม่ได้หากจําเป็น
  • ไฟล์โครงการ Android - ไฟล์ที่เหลือในไดเรกทอรีจะเป็นโครงการ Android ที่สร้างขึ้น โปรเจ็กต์นี้เป็นแหล่งที่มาที่ใช้สําหรับคําสั่ง Bubblewrap Build นอกจากนี้คุณยังติดตามไฟล์เหล่านี้ด้วยระบบควบคุมเวอร์ชันได้อีกด้วย
  • (ไม่บังคับ) คีย์การลงนาม - หากคุณเลือกที่จะให้ Bubblewrap สร้างคีย์การลงนามให้คุณ คีย์ก็จะเป็นเอาต์พุตไปยังตําแหน่งที่อธิบายในวิซาร์ด ตรวจสอบว่าเก็บคีย์ไว้ในที่ที่ปลอดภัยและจํากัดจํานวนผู้ที่มีสิทธิ์เข้าถึง คีย์ดังกล่าวใช้เพื่อพิสูจน์แอปใน Play Store จากคุณ

ไฟล์เหล่านี้มีทุกอย่างที่เราต้องการในการสร้างแพ็กเกจแอปพลิเคชัน Android

สร้าง Android App Bundle

จากภายในไดเรกทอรีเดียวกันที่คุณเรียกใช้คําสั่งเริ่มต้นของ Bubblewrap' ให้เรียกใช้คําสั่งต่อไปนี้ (คุณจะต้องมีรหัสผ่านสําหรับคีย์การลงนาม):

$ bubblewrap build

ผลลัพธ์ Bubblewrap CLI สําหรับการสร้างโปรเจ็กต์ ขอรหัสผ่านสําหรับคีย์การลงนาม และแสดงการสร้างแอป Android เวอร์ชันต่างๆ

คําสั่งบิลด์จะสร้างไฟล์ที่สําคัญ 2 ไฟล์ดังนี้

  • app-release-bundle.aab - Android App Bundle ของ PWA&#39 ซึ่งเป็นไฟล์ที่คุณจะอัปโหลดไปยัง Google Play Store
  • app-release-signed.apk - รูปแบบแพ็กเกจของ Android ที่ใช้ติดตั้งแอปพลิเคชันไปยังอุปกรณ์การพัฒนาได้โดยตรงโดยใช้คําสั่ง bubblewrap install

3 ลองเลย - Bubblewrap

ตอนนี้ถึงตาคุณแล้ว สิ่งที่ได้เรียนรู้ในขั้นตอนก่อนหน้ามีดังนี้

  1. สร้างไดเรกทอรีเพื่อใช้เก็บโปรเจ็กต์ Android ที่สร้างขึ้น
  2. เริ่มไดเรกทอรีนั้นด้วย Bubblewrap และ Manifest ของเว็บแอป PWA&#39
  3. สร้างคีย์การลงนามใหม่ หรือใช้คีย์เดิมที่มีอยู่หากมี
  4. สร้าง Android App Bundle จากโครงการ Android ที่สร้างขึ้น

4 กําลังเพิ่มแอปลงใน Google Store ของ Google

ตอนนี้คุณมี Android App Bundle สําหรับ PWA แล้ว ก็ถึงเวลาอัปโหลดไปยัง Play Store ของ Google เมื่อลงทะเบียนบัญชีนักพัฒนาซอฟต์แวร์แล้ว คุณจะไปที่ Play Console เพื่อลงชื่อเข้าสู่ระบบและเริ่มต้นใช้งานได้

สร้างแอป

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

หน้าจอแสดงแบบฟอร์มสร้างแอป Play Console’s

ที่นี่มีช่องจํานวนมากให้กรอกข้อมูล รวมถึงชื่อแอป ภาษาเริ่มต้น ไม่ว่าจะเป็นแอปหรือเกม ทั้งแบบฟรีหรือต้องซื้อ และการประกาศจํานวนหนึ่ง คุณจะสร้างแอปไม่ได้หากไม่ยอมรับการประกาศ ดังนั้นคุณควรอ่านและทําความเข้าใจคําอธิบายของแอปก่อนยอมรับ

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

ตั้งค่าการทดสอบภายใน

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

รายการตรวจสอบการเริ่มทดสอบเลย

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

ป๊อปอัปที่แสดงแบบฟอร์มรายการรายชื่ออีเมลซึ่งประกอบด้วยชื่อรายการ อีเมล ลิงก์สําหรับอัปโหลดไฟล์ CSV ของอีเมล และพื้นที่เพื่อแสดงอีเมลที่อัปโหลด

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

หน้าการทดสอบภายในที่มีลูกศรชี้ไปยังปุ่มสร้างรุ่นใหม่

สร้างรุ่นสําหรับการทดสอบ

หลังจากคลิกปุ่มสร้างรุ่นใหม่แล้ว คุณจะได้รับการแจ้งเตือนผ่านส่วนต่างๆ ความสมบูรณ์ของแอปอย่างแรกคือที่ที่คุณจัดการเกี่ยวกับวิธีจัดการคีย์ App Signing ตัวเลือกเริ่มต้นคือให้ Google จัดการคีย์ Signing ของคุณ ซึ่งเป็นตัวเลือกที่แนะนําเพราะจะปลอดภัยและทําให้แอปกู้คืนได้ในกรณีที่คีย์การอัปโหลดสูญหาย

Play App Signing

โฟลว์ชาร์ตที่แสดงจากซ้ายไปขวา นักพัฒนาซอฟต์แวร์ และคีย์การอัปโหลด จากนั้นรับรองแอปแล้วส่งไปให้ Google จากนั้น Google จะมีคีย์ App Signing และรับรองแอปด้วยคีย์ดังกล่าว จากนั้นส่งคีย์ให้กับผู้ใช้

การอัปโหลดแอปและการสรุป

หลังจากเลือกวิธีจัดการคีย์ Signing แล้ว ระบบจะขอให้คุณอัปโหลด App Bundle ไปยังรุ่นของคุณ ซึ่งทําได้โดยลากและวางไฟล์ app-release-bundle.aab ที่ Bubblewrap สร้างในแบบฟอร์ม หากต้องการดําเนินการรุ่นให้เสร็จสิ้น ให้ป้อนรายละเอียดของรุ่นที่เหลือและคลิกบันทึก จากนั้นคลิกตรวจสอบรุ่น และสุดท้ายคือปุ่มเริ่มเปิดตัวรุ่นสําหรับการทดสอบภายในเพื่อเริ่มรุ่น การดําเนินการนี้จะทําให้แอปของคุณพร้อมใช้งานสําหรับผู้ทดสอบภายใน กลับไปที่แท็บผู้ทดสอบในหน้าการทดสอบภายใน คุณจะคัดลอกลิงก์เพื่อแชร์กับผู้ทดสอบเพื่อให้ผู้ทดสอบเข้าถึงแอปได้

หน้าการทดสอบภายในที่มีลูกศรชี้ไปยังลิงก์คัดลอกลิงก์เพื่อแชร์ลิงก์การทดสอบกับผู้ทดสอบ

5 ลองเลย - สร้างแอป

ตอนนี้ถึงตาคุณแล้ว สิ่งที่ได้เรียนรู้ในขั้นตอนก่อนหน้ามีดังนี้

  1. สร้างแอปใหม่สําหรับ PWA ใน Play Console
  2. ตั้งค่าการทดสอบภายในสําหรับแอปและเพิ่มตัวคุณเองเป็นผู้ทดสอบ
  3. อัปโหลด App Bundle และสร้างรุ่นทดสอบของแอป
  4. ติดตั้งแอปของคุณจาก Play Store ในอุปกรณ์ Android หรือ Chrome OS โดยใช้ลิงก์ทดสอบ

6 ลิงก์เนื้อหาดิจิทัล (Digital Asset Links)

หากคุณลองทดสอบ PWA ใน Play คุณอาจสังเกตเห็นว่า Play ทํางานแบบเต็มหน้าจอไม่ได้ นั่นเป็นเพราะคุณยังไม่ได้ยืนยันการเป็นเจ้าของเว็บไซต์ผ่านไฟล์ลิงก์เนื้อหาดิจิทัล แม้ว่า Bubblewrap กําหนดค่าและสร้างแพ็กเกจแอปพลิเคชัน Android ได้ แต่คุณต้องอัปเดตลิงก์ให้เสร็จก่อนอัปเดตเว็บแอปพลิเคชัน

รับลายนิ้วมือ SHA-256 ของแอป

หากต้องการกําหนดค่าลิงก์เนื้อหาดิจิทัลของ PWA&#39 คุณต้องมีลายนิ้วมือ SHA-256 สําหรับใบรับรองที่ใช้เพื่อลงนามพัสดุที่ผู้ใช้ได้รับในโทรศัพท์

พร้อม Play App Signing

หากคุณตั้งค่า Play App Signing สําหรับแอปเมื่อสร้างรุ่น (ซึ่งก่อนหน้านี้แนะนํา) คุณจะเห็นลายนิ้วมือ SHA-256 ใน Play Console โปรดทราบว่าใบรับรองนี้แตกต่างจากใบรับรองที่ใช้ในการอัปโหลดแอปพลิเคชัน หากต้องการรับลายนิ้วมือจากภายในแอปพลิเคชันของคุณใน Play Console ให้ไปที่ Releases->Setup->App Integrity ที่นั่น คุณจะเห็นตัวเลือกจํานวนมากในส่วนใบรับรองคีย์ App Signing คัดลอกค่าลายนิ้วมือสําหรับใบรับรอง SHA-256

หน้าจอความสมบูรณ์ของแอปที่ไฮไลต์ลายนิ้วมือสําหรับใบรับรอง SHA-256

ไม่ใช้ Play App Signing

หากเลือกไม่ใช้ Play App Signing คีย์ที่ใช้ลงนามแอปพลิเคชันครั้งสุดท้ายจะเป็นคีย์เดียวกับที่ใช้สําหรับอัปโหลดแอปพลิเคชันไปยัง Play Console คุณใช้เครื่องมือคีย์ของ Java&#39 เพื่อดึงลายนิ้วมือได้

$ keytool -list -v \
   
-keystore <keystore-file-path> \
   
-alias <key-alias> \
   
-keypass <key-password> \
   
-storepass <store-password> | grep SHA256

$     SHA256
: BD:92:64:B0:1A:B9:08:08:FC:FE:7F:94:B2...

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

Bubblewrap สามารถจัดการลายนิ้วมือลายเซ็นที่คุณเรียกและสร้างไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ถูกต้องให้คุณได้ หากต้องการเพิ่มลายนิ้วมือด้วย Bubblewrap ให้เรียกใช้คําสั่งต่อไปนี้จากภายในไดเรกทอรีเดียวกันที่สร้างขึ้นระหว่าง Bubblewrapping Your PWA โดยแทนที่ <fingerprint> ด้วยลายนิ้วมือที่คัดลอกมาจากขั้นตอนก่อนหน้า

$ bubblewrap fingerprint add <fingerprint>

คําสั่งนี้จะเพิ่มลายนิ้วมือลงในรายการลายนิ้วมือของแอปพลิเคชัน และสร้างไฟล์ assetlinks.json อัปโหลดไฟล์นี้ไปยังไดเรกทอรี .well-known ในต้นทางเดียวกันกับ PWA

7 ลองเลย - ลิงก์เนื้อหาดิจิทัล

ตอนนี้ถึงตาคุณแล้ว สิ่งที่ได้เรียนรู้ในขั้นตอนก่อนหน้ามีดังนี้

  1. ค้นหาลายนิ้วมือ SHA-256 ของแอป
  2. สร้างไฟล์ลิงก์เนื้อหาดิจิทัลสําหรับแอปของคุณ
  3. อัปโหลดไฟล์ลิงก์เนื้อหาดิจิทัลไปยัง PWA
  4. ยืนยันว่าตั้งค่าไฟล์ลิงก์เนื้อหาดิจิทัลอย่างถูกต้องโดยใช้ API และแอปทดสอบ

8 ทดสอบความรู้ของคุณ

ก่อนที่จะเสร็จสิ้น ให้ทดสอบความรู้และดูว่าคุณได้เรียนรู้อะไรบ้างโดยการตอบคําถามต่อไปนี้ อย่าไปพูดถึงคําตอบสิ!

หลังจากสร้างโปรเจ็กต์ Android ด้วย Bubblewrap แล้ว Sally จะส่งไฟล์ ______ ที่สร้างขึ้นไปยังระบบควบคุมเวอร์ชันของเธอเพื่อให้เธอสร้างไฟล์ใหม่ได้ทุกเมื่อที่ต้องการ

จอมต้องการให้ทีม QA ทดสอบแอป Android ใน PWA เขา ______ Android App Bundle กับแทร็กทดสอบภายใน

แอป PWA ของ Oogie Boogie' ไม่ได้เรียกใช้โหมดเต็มหน้าจอ ปัญหานี้แก้ไขได้โดยการมอบลายนิ้วมือสําหรับใบรับรอง SHA-256 สําหรับ ______ และอัปโหลดไปยังไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ซึ่งอยู่ใน ______ ต้นทางเดียวกับ PWA

9 ทดสอบความรู้ของคุณ - คําตอบ

ตอบคําถามเพื่อทดสอบความรู้

  1. หลังจากสร้างโปรเจ็กต์ Android ด้วย Bubblewrap แล้ว Sally จะส่งไฟล์ ______ ที่สร้างขึ้นไปยังระบบควบคุมเวอร์ชันของเธอเพื่อให้เธอสร้างไฟล์ใหม่ได้ทุกเมื่อที่ต้องการ
  2. จอมต้องการให้ทีม QA ทดสอบแอป Android ใน PWA เขา ______ Android App Bundle กับแทร็กทดสอบภายใน
  3. แอป PWA ของ Oogie Boogie' ไม่ได้เรียกใช้โหมดเต็มหน้าจอ ปัญหานี้แก้ไขได้โดยการมอบลายนิ้วมือสําหรับใบรับรอง SHA-256 สําหรับ ______ และอัปโหลดไปยังไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ซึ่งอยู่ใน ______ ต้นทางเดียวกับ PWA

10 ยินดีด้วย

ยินดีด้วย คุณได้ดูวิธีเพิ่ม PWA ไปยัง Google Store ของ Google แล้ว

เมื่อคุณพร้อมที่จะดําเนินการแล้ว ลองทําตามขั้นตอนต่อไปนี้ด้วยตนเอง

ขอให้สนุกกับการเขียนโค้ด