เมื่อใช้กิจกรรมบนเว็บที่เชื่อถือได้ในแอปพลิเคชัน นักพัฒนาซอฟต์แวร์อาจต้องส่งข้อมูลจาก ส่วนเดิมของแอปพลิเคชันลงใน Progressive Web App (PWA)
กรณีการใช้งานที่พบบ่อยสำหรับการดำเนินการนี้คือการใช้การแบ่งกลุ่มการวิเคราะห์ที่กำหนดเองเพื่อวัดการติดตั้ง และเซสชันต่างๆ เริ่มจากกิจกรรมในเว็บที่เชื่อถือได้ เพิ่มพารามิเตอร์การค้นหาลงใน URL เปิดใช้งานได้ เพื่อนำสิ่งนี้ไปใช้
การแก้ไข URL เริ่มต้น
หากพารามิเตอร์ที่ส่งไปยัง PWA จะยังคงเดิมสำหรับผู้ใช้ทั้งหมด และ คุณสามารถใส่พารามิเตอร์ต่อท้าย URL เปิดใช้งานได้โดยตรง ตัวอย่างการใช้งานนี้คือ เมื่อนักพัฒนาซอฟต์แวร์ต้องการวัดจำนวนเซสชันการนำทางที่สร้างจากเว็บที่เชื่อถือได้ กิจกรรม
การใช้ Bubblewrap
Bubblewrap คือเครื่องมือที่สร้างขึ้นเพื่อช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างโครงการสำหรับ แอปพลิเคชัน Android ที่เปิดตัว PWA ที่มีอยู่โดยใช้เว็บที่เชื่อถือได้ กิจกรรม ซึ่งมีทั้งไลบรารีและอินเทอร์เฟซบรรทัดคำสั่ง (CLI)
กำลังสร้างโปรเจ็กต์ใหม่
เมื่อใช้ Bubblewrap CLI โปรเจ็กต์จะเริ่มต้นด้วยคำสั่ง init
และสร้าง
ค่าเริ่มต้นจากไฟล์ Manifest ในเว็บที่ระบุเป็นพารามิเตอร์ ดังนี้
bubblewrap init --manifest https://material.money/manifest.json
วิซาร์ดจะใช้ start_url จากไฟล์ Manifest ของเว็บเป็นค่าเริ่มต้น และจะขอให้ผู้ใช้ยืนยัน เพื่อให้นักพัฒนาซอฟต์แวร์มีโอกาสเพิ่มพารามิเตอร์เพิ่มเติมลงใน URL ที่ใช้เริ่ม Progressive Web App
การแก้ไขโปรเจ็กต์ที่มีอยู่
เมื่อ Bubblewrap สร้างโปรเจ็กต์ ข้อมูลสำหรับโปรเจ็กต์นั้นๆ จะเก็บไว้ในไฟล์
ที่ชื่อ twa-manifest.json
ในโฟลเดอร์โปรเจ็กต์ วิธีแก้ไข URL เริ่มต้นสำหรับโปรเจ็กต์ที่มีอยู่
นักพัฒนาซอฟต์แวร์ต้องแก้ไขไฟล์:
{
...
"startUrl": "/?utm_source=trusted-web-activity",
...
}
จากนั้นสร้างไฟล์โครงการอีกครั้งและใช้ URL เริ่มต้นใหม่
bubblewrap update
การใช้ Android Studio
เมื่อใช้ Android Studio และกิจกรรม Launcher เริ่มต้น ระบบจะกำหนด startUrl เป็นเมตาแท็ก ใน AndroidManifest.xml และเราสามารถเปลี่ยน URL ที่ใช้เปิดกิจกรรมในเว็บที่เชื่อถือได้โดย กำลังแก้ไข:
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/app_name">
...
<meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
android:value="https://svgomg.firebaseapp.com/?utm_source=trusted-web-activity" />
...
</activity>
การแก้ไข URL เริ่มต้นแบบไดนามิก
ในกรณีอื่นๆ นักพัฒนาซอฟต์แวร์อาจต้องการสร้างพารามิเตอร์ที่เปลี่ยนไปตามผู้ใช้หรือเซสชันต่างๆ อินสแตนซ์ ในกรณีส่วนใหญ่ การดำเนินการนี้จะเกี่ยวข้องกับการเก็บรายละเอียดจากฝั่ง Android ของ เพื่อส่งไปยัง Progressive Web App
ขั้นตอนที่ 1: สร้างกิจกรรม Launcher ที่กำหนดเอง
public class CustomQueryStringLauncherActivity extends LauncherActivity {
private String getDynamicParameterValue() {
return String.valueOf((int)(Math.random() * 1000));
}
@Override
protected Uri getLaunchingUrl() {
// Get the original launch Url.
Uri uri = super.getLaunchingUrl();
// Get the value we want to use for the parameter value
String customParameterValue = getDynamicParameterValue();
// Append the extra parameter to the launch Url
return uri
.buildUpon()
.appendQueryParameter("my_parameter", customParameterValue)
.build();
}
}
ขั้นตอนที่ 2: แก้ไข AndroidManifest.xml
เพื่อใช้ LauncherActivity ที่กำหนดเอง
<activity android:name="com.myapp.CustomQueryStringLauncherActivity"
android:label="@string/app_name">
...
<meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
android:value="https://squoosh.app/?utm_source=trusted-web-activity" />
...
</activity>
บทสรุป
คุณสามารถส่งข้อมูลจากส่วนเนทีฟไปยังเว็บของแอปพลิเคชันได้โดยใช้ พารามิเตอร์การค้นหา เมื่อเพิ่มพารามิเตอร์ลงในสตริงการค้นหา สคริปต์จะเข้าถึงพารามิเตอร์ดังกล่าวได้ แสดงในหน้าเว็บนั้นๆ และอาจเป็นส่วนหนึ่งของการอ้างอิงเมื่อผู้ใช้ไปที่หน้าอื่นหรือ นักพัฒนาซอฟต์แวร์ใช้การกระทำการแชร์
นักพัฒนาแอปต้องตระหนักถึงผลกระทบเหล่านั้น และสามารถลดผลกระทบลงได้โดยใช้ link rel=noreferrer หรือล้าง URL โดยใช้ page location API
ขณะนี้โปรโตคอลกิจกรรมบนเว็บที่เชื่อถือได้ยังไม่มีกลไกสำหรับการแลกเปลี่ยนข้อความ ส่วนเนทีฟของแอปพลิเคชันหลังจากที่เรียกใช้เว็บพาร์ต
เราเชื่อว่า API ของแพลตฟอร์มเว็บที่มีอยู่หรือที่กำลังจะเปิดตัวนั้นช่วยให้นักพัฒนาแอปจำเป็นต้องใช้ Use Case ส่วนใหญ่ ถ้า คุณกำลังมองหา Web API ใหม่หรือที่กำลังจะมีขึ้น โปรดดูที่หน้าสถานะความสามารถใหม่