ลองเล่น Google Play Install Referrer เมื่อคุณอยากชวนเพื่อนมาโหลดแอป
เกริ่นนำเล็กน้อย (ข้ามได้)
ในช่วงไวรัสระบาดแบบนี้ ผู้คนต่างหลบภัยอยู่ในที่พักอาศัยของตน ไม่มีผู้ใดย่างกรายออกไปยังสถานที่อันตรายทำให้บริการสั่งอาหารแบบออนไลน์กลายเป็นที่นิยมขึ้นมาทันที
แล้วในวันหนึ่งเพื่อนของผมที่ได้ใช้แอปพลิเคชันสั่งอาหารเจ้าหนึ่งก็มาถามผมว่า
แอปมันมีชวนเพื่อน แล้วพอกดลิงก์แล้วคนที่ยังไม่มีแอปมันก็เด้งให้ไปดาวน์โหลด แล้วพอเข้าแอปครั้งแรกมันก็รู้ว่าใครเป็นคนชวนเรามา
เราเพิ่งโหลดแอปมาครั้งแรกแท้ๆ พอเปิดแอปขึ้นมาปุ๊ปมันรู้ได้เลยว่าใครเป็นคนชวนเรามา โดยที่เรายังไม่ได้ login หรือทำอะไรเลยด้วยซ้ำ
ผมก็เลยไปลองหาคำตอบ และก็ได้รู้จักกับสิ่งนี้
Google Play Install Referrer
Google Play Install Referrer คือความสามารถหนึ่งของ Play Store ที่จะช่วยให้คุณสามารถรับข้อมูลบางอย่างจาก Play Store ได้เมื่อคุณโหลด แอปมาจาก Play Store โดยที่ข้อมูลนั้นถูกใส่ไว้ใน url ที่คุณกดเพื่อเปิด Play Store ขึ้นมานั่นแหละ
เพื่อให้เห็นภาพคร่าวๆ ผมขอยกตัวอย่างเป็นสถานการณ์แบบนี้นะครับ
แอปพลิเคชันที่คุณใช้อยู่มีแคมเปญชวนเพื่อนมาใช้ โดยที่แอปจะสร้าง url ขึ้นมาแล้วให้คุณส่ง url นั้นให้เพื่อนของคุณโดยเป็นใครก็ได้ ใน url ที่คุณส่งจะแนบข้อมูลต่างๆ ของคุณไปด้วย
จากนั้นพอเพื่อนของคุณเปิด Play Store ด้วย url ที่คุณส่งให้และทำการติดตั้ง พอเพื่อนเปิดแอปพลิเคชันขึ้นมา แอปพลิเคชันนั้นสามารถเรียกดูข้อมูลที่แนบมากับ url ที่ใช้เปิด Play Store ได้ รวมไปถึงเวลาที่คุณกด url และเวลาที่คุณติดตั้งแอปด้วยนะ
ดูภาพประกอบได้ด้านล่างครับ
Referrer url
ก่อนที่ผมจะอธิบายลองดูตัวอย่าง url นี้ครับ
Url สำหรับเปิด Play Store ด้วย browser
https://play.google.com/store/apps/details?id=com.example.android&referrer=utm_source%3DYourAppName%26utm_medium%3DYourMedium%26utm_campaign%3DYourCampaign%26utm_content%3DYourSampleContent
DeepLink สำหรับเปิด Application Play Store โดยตรง
market://details?id=com.example.android&referrer=utm_source%3DYourAppName%26utm_medium%3DYourMedium%26utm_campaign%3DYourCampaign%26utm_content%3DYourSampleContent
ถ้ามองผ่านๆ คุณผู้อ่านคงเห็นว่ามันก็คือ url ที่เอาไว้เปิด Play Store เพื่อ download แอปพลิเคชันแต่ตรงที่ผมทำตัวหนาไว้ นั่นแหละคือ Referrer เราสามารถใส่ parameter ต่างๆ ลงไปในนั้นได้ เช่น utm_source, utm_medium หรือ utm_content ซึ่งในส่วนนี้เองเราสามารถใส่ข้อมูลเพิ่มเติมเข้าไป อาจจะเป็นข้อมูลของคนที่จะส่ง url ไปก็ได้
ส่วน parameter มีอะไรบ้างและแต่ละตัวคืออะไรสามารถเปิดวาร์ปนี้เข้าไปดูได้เลยครับ
อ้อ เราสามารถ generate referrer url ใน link ที่ผมส่งไปได้ด้วยนะ
Play Install Referrer Library
เป็น Library ที่จะช่วยให้เราสามารถรับข้อมูลของ referrer จาก Play Store ได้นั่นเอง เชื่อว่าพอคุณผู้อ่านเห็นคำว่า ‘Library’ แล้วคงรู้สึกใจชื้นขึ้นมาสินะครับ เพราะเราไม่ต้องเขียนเองยังไงล่ะ เรามาเริ่ม implement กันเลยดีกว่า
ใส่ dependency ตามนี้ครับ
implementation 'com.android.installreferrer:installreferrer:1.1'
จากนั้นสร้าง InstallReferrerClient แล้ว start connection เพื่อเชื่อมต่อกับ Play Store Service ครับ
ดู response ได้เพียงเรียก referrerClient.installReferrer
แล้วเรียกค่าต่างๆ จาก response
response: ReferrerDetails = referrerClient.installReferrer
referrerUrl = response.installReferrer
referrerClickTime = response.referrerClickTimestampSeconds
appInstallTime = response.installBeginTimestampSeconds
instantExperienceLaunched = response.googlePlayInstantParam
referrerUrl
คือ ก้อนของ referrer ที่อยู่ใน url ถ้าดูจากตัวอย่าง url ที่ผมส่งให้ก็คือส่วนที่อยู่หลัง &referrer=
referrerClickTime
คือ เวลาที่ผู้ใช้กด url เพื่อเปิด Play Store เป็นรูปแบบ timestamp in second
appInstallTime
คือ เวลาที่ผู้ใช้ติดตั้งแอป เป็นรูปแบบ timestamp in second
instantExperienceLaunched
คือ ค่า boolean ที่บอกว่าผู้ใช้ได้ลองเปิด instant app ของคุณหรือไม่ในระยะ 7 วันที่ผ่านมา
อ้อ ข้อมูลพวกนี้มีอายุ 90 วันนะครับ และจะไม่ถูกเปลี่ยนแปลงเว้นแต่จะติดตั้งแอปใหม่
ผลการทดลอง
ผมได้เขียนแอปตัวอย่างขึ้นมาพร้อมกับ upload ขึ้น Play Store แต่ตั้งเป็น Alpha release ไว้นะครับ จากนั้นผมก็สร้าง referrer url ขึ้นมาแบบนี้
https://play.google.com/store/apps/details?id=com.taweewong.test.referrertest&referrer=utm_source%3Dmyself%26utm_content%3Dhello%2520referrer-san%26utm_campaign%3Dthis%2520is%2520my%2520referrer
แน่นอนว่าพอกด link นี้ก็จะไปเปิด store
และเมื่อผมเปิดแอปหลังจากที่ download มาแล้วก็จะพบกับ
แค่นี้แหละ เสร็จแล้วครับ ที่เหลือก็แค่แกะข้อมูลออกมาแล้วเอาไปใช้ต่อ จบวิ้ง
นอกจาก Referrer จะช่วยให้เราสร้างแคมเปญชวนเพื่อนได้แล้ว มันก็ยังถูกใช้กับพวก ads ด้วยนะ โดยที่จุดประสงค์หลักก็คือให้แอปของเราได้รับข้อมูลบางอย่างเมื่อ download มาครั้งแรก อันนี้ก็แล้วแต่ use case เนอะว่าใครจะใช้ทำอะไร สำหรับบทความนี้ก็มีเท่านี้ครับ