ฉันกำลังติดตั้งโค้ดเพื่อทำการติดตามการอ้างอิงของตัวเองสำหรับการดาวน์โหลดจากตลาด Android
ดูการติดตามการอ้างอิงของ Android ใช้ไม่ได้สำหรับแนวคิดว่าแอปของฉันกำลังทำอะไรอยู่
ฉันจะทดสอบได้อย่างไรว่าโค้ดนี้ใช้งานได้ก่อนที่จะปรับใช้สู่สาธารณะ
ฉันกำลังติดตั้งโค้ดเพื่อทำการติดตามการอ้างอิงของตัวเองสำหรับการดาวน์โหลดจากตลาด Android
ดูการติดตามการอ้างอิงของ Android ใช้ไม่ได้สำหรับแนวคิดว่าแอปของฉันกำลังทำอะไรอยู่
ฉันจะทดสอบได้อย่างไรว่าโค้ดนี้ใช้งานได้ก่อนที่จะปรับใช้สู่สาธารณะ
คำตอบ:
adb
วิธีที่ง่ายที่สุดคือการใช้ คุณไม่ต้องเขียนโค้ดใด ๆ
เพียงแค่เรียกใช้ในเทอร์มินัล :
adb shell
am broadcast -a com.android.vending.INSTALL_REFERRER -n <your.package>/.<path.up.until.your.BroadcastReceiver> --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"
นี่คือบรรทัดที่แน่นอนของฉัน:
am broadcast -a com.android.vending.INSTALL_REFERRER -n net.lp.collectionista/.util.broadcast_receivers.FacadeBroadcastReceiver --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"
แต่ของคุณBroadcastReceiver
อาจต้องเป็นAnalyticsReceiver
เช่น
สำหรับ Google Analytics v2:
com.your.package / com.google.analytics.tracking.android.CampaignTrackingReceiver
สำหรับ Google Analytics v3:
com.your.package / com.google.android.apps.analytics.AnalyticsReceiver
สำหรับ Google Analytics v4:
com.your.package / com.google.android.gms.analytics.CampaignTrackingReceiver
ดังที่ Luigi กล่าวไว้คุณสามารถละทิ้ง"-n"
ส่วนชื่อคอมโพเนนต์ได้ แต่ทุกแอปบนอุปกรณ์ของคุณจะได้รับการอ้างอิง นี่อาจเป็นการทดสอบเพิ่มเติมที่ดีเพื่อดูว่าคุณBroadcastReceiver
สามารถพบได้อย่างถูกต้องหรือไม่
ผลลัพธ์ที่ฉันเห็น (โดยเฉพาะบรรทัดสุดท้ายมีความสำคัญ):
05-13 17:28:08.335: D/Collectionista FacadeBroadcastReceiver(8525): Receiver called
05-13 17:28:08.335: V/Collectionista FacadeBroadcastReceiver(8525): Receiver called with action: com.android.vending.INSTALL_REFERRER
05-13 17:28:08.365: D/GoogleAnalyticsTracker(8525): Stored referrer:utmcsr=test_source|utmccn=test_name|utmcmd=test_medium|utmctr=test_term|utmcct=test_content
adb shell <enter> am broadcast..
. ฉันพิมพ์adb shell am broadcast...
โดยไม่ได้ตั้งใจและมันไม่ได้ส่งออกอะไรเลย
ไม่! คุณมีสองสามวิธีในการทดสอบส่งการออกอากาศด้วยตนเองโดยใช้แบบฟอร์มนี้
Intent i = new Intent("com.android.vending.INSTALL_REFERRER");
//Set Package name
i.setPackage("com.package.yourapp");
//referrer is a composition of the parameter of the campaing
i.putExtra("referrer", referrer);
sendBroadcast(i);
คำสั่งข้างต้นไม่เหมาะกับฉัน หลังจากลองใช้ชุดคำสั่งมากมายนี่คือคำสั่งที่เหมาะกับฉัน:
./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> --es "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"
หมายเหตุ: ผู้อ้างอิงควรเข้ารหัส URL
พบเครื่องมือโอเพ่นซอร์สที่ดีที่ช่วยให้คุณสแกน qrcode อ้างอิงที่คุณสร้างขึ้นที่นี่และส่งเจตนาการออกอากาศพร้อมข้อมูลที่ถูกต้องทั้งหมด
คำตอบของ pjv ใช้ได้ในกรณีที่ชื่อแพ็กเกจใน AndroidManifest.xml ตรงกับ applicationId ใน build.gradle หากไม่ตรงกันให้ดำเนินการดังนี้:
ให้:
applicationId is com.my.app.debug
package is com.package.app
receiver จะpath.to.MyReceiver
ออกอากาศไปยังcom.my.app.debug/com.package.app.path.to.MyReceiver
รายละเอียดที่นี่: https://groups.google.com/forum/#!topic/adt-dev/PjTHX79Iomw
https://github.com/rogerbinns/referraltesterที่นี่เป็นแอปที่ยอดเยี่ยมสำหรับเริ่มต้นการออกอากาศ "com.android.vending.INSTALL_REFERRER" คุณสามารถป้อนพารามิเตอร์ได้เช่นกัน
สำหรับฉันจะเพิ่มความพิเศษในจุดประสงค์ก็ต่อเมื่อเพิ่มด้วย "-e" แทนที่จะเป็น "--es" อาจเป็นปัญหาเวอร์ชันโฆษณาของฉัน ดังนั้นคำสั่งของฉันคือ
./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> -e "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"
Goople Play ได้รับลิงก์ APP และขอให้ผู้ใช้คลิกเพื่อดาวน์โหลดและ Google Play จะส่งการออกอากาศเมื่อการดาวน์โหลดเสร็จสมบูรณ์ โดยปกติลิงก์ APP จะใช้พารามิเตอร์บางอย่าง (เช่นตัวอย่างต่อไปนี้) เพื่อให้ Google Play และ APP ทราบว่าแหล่งที่มามาจากไหน
Https://play.google.com/store/apps/details?id=com.example.application
& Referrer = utm_source% 3Dgoogle
% 26utm_medium% 3Dcpc
% 26utm_term% 3Drunning% 252Bshoes
% 26utm_content% 3Dlogolink
% 26utm_campaign% 3Dspring_sale
ดังนั้นเราจึงสามารถใช้ adb เพื่อจำลองการออกอากาศจาก Google Play
echo 'am broadcast \
-a com.android.vending.INSTALL_REFERRER \
-n "com.google.samples.quickstart.analytics/com.google.android.gms.analytics.CampaignTrackingReceiver" \
--es "referrer" \
"utm_source=test_sourceCampaignTrackingReceiver&utm_medium=referral&utm_term=test_term&utm_content=test_content&utm_campaign=test_name"; \
exit' | adb shell