จะย้ายจาก Google-Analytics ไปยัง Firebase-Analytics ได้อย่างไร


85

พื้นหลัง

ในช่วงไม่กี่เดือนที่ผ่านมา Google ได้เผยแพร่ทางเลือกใหม่ของ Analytics ที่เรียกว่า " Firebase Analytics "

ปัญหา

เนื่องจากแอปมี Google-Analytics อยู่แล้วฉันจึงพบอุปสรรคบางอย่างที่ไม่เห็นวิธีจัดการที่ดีที่สุด

คำถาม

  1. ก่อนหน้านี้ฟังก์ชัน "newTracker" จำเป็นต้องมีรหัสคุณสมบัติ ตอนนี้ไม่เห็นแล้ว หมายความว่าไม่จำเป็นต้องใช้หรือไม่?

  2. ก่อนหน้านี้มี "enableAdvertisingIdCollection" เพื่อรวบรวมข้อมูลโฆษณาด้วย ไม่พบใน API ใหม่ มีการรวบรวมโดยอัตโนมัติหรือไม่?

  3. "setDryRun" สามารถปิดการส่งข้อมูลไปยังเซิร์ฟเวอร์ได้ แต่ตอนนี้ฉันไม่เห็น หมายความว่าเป็นวิธีนี้โดยอัตโนมัติสำหรับเวอร์ชันดีบักของแอปใช่หรือไม่ ฟังก์ชันทั้งหมดเขียนลงในบันทึกหรือไม่

  4. ก่อนหน้านี้ฉันติดตาม "หน้าจอ" ได้:

    public void setScreenName(String name) {
        mGoogleAnalyticsTracker.setScreenName(name);
        mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
    }
    

    ตอนนี้ฉันไม่เห็นมัน แต่อย่างที่ฉันอ่านฉันคิดว่ามันเป็นไปโดยอัตโนมัติดังนั้นมันจึงส่งข้อมูลของวงจรชีวิตของกิจกรรมอยู่ดี มันจริงหรอ?

  5. อาจเป็นสิ่งที่สำคัญที่สุดก่อนหน้านี้ฉันสามารถติดตามโดยใช้หมวดหมู่การกระทำป้ายกำกับและค่า:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder()
                .setCategory(category).setAction(action)
                .setLabel(label).setValue(value).build());
    }
    

    และตอนนี้ฉันเห็นวิธีที่แตกต่างไปจากเดิมอย่างสิ้นเชิงในการติดตามเหตุการณ์ ("เหตุการณ์ที่กำหนดเอง") โดยใช้บันเดิล ตัวอย่าง:

    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
    

    มันทำงานอย่างไร? แสดงในเว็บไซต์ของ Firebase Analyticsอย่างไร ฉันคิดว่าฉันสามารถให้พารามิเตอร์แรกของ logEvent ทำงานเหมือนกับพารามิเตอร์หมวดหมู่ของ Google-Analytics แต่ฉันควรทำอย่างไร / ที่เหลือ ตามเอกสารสิ่งนี้ควรจะใช้ได้:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        Bundle bundle = new Bundle();
        bundle.putString("action", action);
        bundle.putString("label", label);
        bundle.putLong("value", value);
        mFirebaseAnalytics.logEvent(category, bundle);
    }
    
  6. เหตุการณ์ใดที่ถูกติดตามโดยอัตโนมัติ (ฉันถามสิ่งนี้เพราะบางคนบอกว่าฉันไม่ควรใช้ที่นี่ ) พวกเขารวมการซื้อหรือไม่ แอพเชิญ? โฆษณา? ฉันจะเห็นสิ่งเหล่านี้ในเว็บไซต์คอนโซลได้ที่ไหน

  7. เกี่ยวกับบันทึกมันบอกว่า SDK ใหม่ทำโดย:

    คุณสามารถเปิดใช้งานการบันทึกแบบละเอียดด้วยชุดคำสั่ง adb:

    adb shell setprop log.tag.FA VERBOSE adb shell setprop log.tag.FA-SVC VERBOSE adb logcat -v time -s FA FA-SVC

    คำสั่งเหล่านั้นทำหน้าที่อะไร? ฉันจะปิดการใช้งานได้อย่างไร? ฉันสังเกตเห็นว่ามันแสดงในแอปเวอร์ชันวางจำหน่าย ...

  8. SDK ใหม่ควรจะมาแทนที่ Google-Analytics หรือไม่ แนะนำให้ย้ายไปอย่างเต็มที่หรือไม่ Google-Analytics จะมีการอัปเดตหรือไม่?


1
ปิดโหวตทำไม? :(
นักพัฒนา android

1
โปรดทราบว่าฉันได้ทำการวิจัย Firebase Analytics และเพิ่งนำไปใช้กับแอปที่ตอบสนองของตัวเอง ดูเหมือนว่าจะถูกเปลี่ยนชื่อเป็น "Google Analytics สำหรับ Firebase" firebase.google.com/docs/analytics
ตัวฉันเอง

iS GOOGLE Analytics เลิกใช้งานสำหรับเว็บหรือไม่
Ahmad Arslan

@AhmadArslan ฉันไม่รู้
นักพัฒนา Android

คำตอบ:


56

คำถามมากมายรวมเข้าด้วยกันดังนั้นฉันจะพยายามตอบสั้น ๆ ส่วนใหญ่:

  1. Google Analytics รายงานเกี่ยวกับรหัสติดตาม Firebase Analytics รายงานเกี่ยวกับแอปพลิเคชัน มีเพียง id เดียวในแอปพลิเคชันที่กำหนดไว้ใน google-services.json ของคุณ รหัสถูกแปลเป็นทรัพยากรสตริงโดยปลั๊กอินบริการของ Google ภายใต้ชื่อ "google_app_id" เหตุการณ์ทั้งหมดจากแอปจะถูกรายงานไปยังรหัสเดียวนี้
  2. Firebase Analytics รายงาน AdId โดยอัตโนมัติ คุณไม่จำเป็นต้องเปิดใช้งาน
  3. ไม่มีคุณสมบัติ dryRun คุณสามารถใช้ google-services.json แยกต่างหากระหว่างการพัฒนากรองเวอร์ชันการพัฒนาออกโดยใช้เวอร์ชันของแอปหรือเพิ่มคุณสมบัติผู้ใช้เพื่อทำเครื่องหมายอินสแตนซ์ของแอปที่ใช้สำหรับการพัฒนา
  4. คุณสามารถรายงานหน้าจอด้วยไฟล์

    Bundle params = new Bundle();
    params.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "screen");
    params.putString(FirebaseAnalytics.Param.ITEM_NAME, "screen name");
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params);
    
  5. คุณสามารถบันทึกเหตุการณ์ที่กำหนดเองด้วยพารามิเตอร์เดียวกัน

    Bundle params = new Bundle();
    params.putString("category", category);
    params.putString("action", action);
    params.putString("label", label);
    params.putLong("value", value);
    firebaseAnalytics.logEvent("xyz_event", params);
    

    คำนำหน้า "ga_" ถูกสงวนไว้และการวิเคราะห์ของคุณจะล้มเหลวหากคุณใช้ ให้ใช้ "xyz_" แทนโดยที่ xyz เป็นชื่อย่อของ บริษัท ของคุณเช่น

    อย่าใช้หมวดหมู่เป็นชื่อกิจกรรมเว้นแต่คุณจะมีหมวดหมู่น้อยมากที่คุณต้องการติดตาม Firebase Analytics รองรับชื่อเหตุการณ์ได้สูงสุด 500 ชื่อ การบันทึกมากกว่านั้นจะทำให้ข้อมูลบางส่วนของคุณถูกละเว้น

  6. มีรายชื่อของเหตุการณ์ที่สงวนไว้ในจุดเริ่มต้นของการเป็นระดับ FirebaseAnalytics.Event มันแสดงถึงเหตุการณ์อัตโนมัติที่รายงานโดยคร่าวๆ

  7. Firebase Analytics ได้ปิดใช้การบันทึกการแก้ไขข้อบกพร่องโดยค่าเริ่มต้น บันทึกเฉพาะข้อผิดพลาดและคำเตือน หากคุณไม่ได้เปิดใช้งานการบันทึกการแก้ไขข้อบกพร่องและแอปของคุณได้รับการกำหนดค่าอย่างถูกต้องมีเพียง 2 บรรทัดที่จะถูกบันทึกเมื่อแอปเริ่มต้นด้วยคำแนะนำเกี่ยวกับวิธีเปิดใช้งานการบันทึกการแก้ไขข้อบกพร่อง ไม่มีสิ่งใดที่จะปิดใช้งานในการใช้งานจริงและไม่มีสิ่งใดเทียบเท่ากับ setLogLevel (ERROR) จาก Google Analytics WARN คือระดับการบันทึกเริ่มต้น คุณสามารถเปิดใช้งานการบันทึกบนอุปกรณ์แต่ละเครื่องโดยเรียกใช้คำสั่ง adb บนอุปกรณ์) ซึ่งช่วยให้คุณหลีกเลี่ยงการจัดส่งแอปในการผลิตโดยเปิดใช้งานการบันทึกการแก้ไขข้อบกพร่อง

  8. Google Analytics SDK สำหรับ Android และ iOS ไม่ได้เลิกใช้งานและจะได้รับการสนับสนุนและอัปเดตสำหรับอนาคตอันใกล้ คุณไม่จำเป็นต้องย้ายออกจากแอปหากคุณได้ลงทุนใช้แอปในแอปของคุณแล้วและแอปนั้นตอบสนองความต้องการของคุณ


3
5. ดูเหมือนว่ามันยังไม่รองรับการใช้สิ่งที่มัดที่กำหนดเองตามที่โพสต์เหล่านี้: stackoverflow.com/a/37779048 , stackoverflow.com/a/37511858 เลวมาก.
นักพัฒนา Android

1
ขอบคุณสำหรับความคิดเห็น เปลี่ยนค่าเป็น long ใน 5 ยังไม่มีการรายงานอัตโนมัติสำหรับพารามิเตอร์ทั้งหมด แต่คุณสามารถเชื่อมโยงบัญชีกับ BigQuery และใช้เพื่อสร้างรายงานได้ BigQuery มีโควต้าฟรีบางส่วนที่อาจเป็นทั้งหมดที่คุณต้องการ Abotu 3. ค่าเริ่มต้นคือการรายงาน 4. การรายงานหน้าจอไม่ใช่อัตโนมัติ คุณต้องบันทึกเหตุการณ์เมื่อคุณแสดงเนื้อหา 5. หากการรายงานเริ่มต้นไม่เพียงพอคุณสามารถสืบค้นข้อมูลใน BigQuery ได้ มีเหตุการณ์ดิบขณะที่คุณบันทึกไว้ 6. คุณควรละเว้น app_uninstall 7. หากคุณเปิดใช้งานการบันทึกการแก้ไขข้อบกพร่องบนอุปกรณ์คุณจะเห็นบันทึกทั้งหมด
djabi

1
8. นี่เป็นคำถามที่กว้างมาก คุณถามเกี่ยวกับคุณลักษณะใดเป็นพิเศษ หาก Firebase Analytics เหมือนกับ Google Analytics จะเป็น Google Analytics ไม่ใช่ Firebase Analytics
djabi

2
"คำนำหน้า" firebase_ "," google_ "และ" ga_ "สงวนไว้และไม่ควรใช้": firebase.google.com/docs/reference/cpp/group/parameter-names คำแนะนำของฉันแทนที่จะเป็น "ga_event" จะ be "abc_event" โดยที่ "abc" เป็นตัวย่อสำหรับคุณหรือ บริษัท ของคุณ
KRA2008

5
ฉันมาถึงที่นี่เพราะตอนนี้เป็นปี 2019 และในไม่ช้า Google ก็เลิกใช้ GA เพื่อสนับสนุน FA ดังนั้นการย้ายจึงมีผลบังคับใช้ support.google.com/firebase/answer/9167112
Ryan

13

Google Analyticsเป็นบริการวิเคราะห์เว็บแบบฟรีเมียมที่นำเสนอโดย Google ซึ่งติดตามและรายงานการเข้าชมเว็บไซต์ 1 Google เปิดตัวบริการในเดือนพฤศจิกายน 2548 หลังจากได้รับ Urchin Firebaseเป็นผู้ให้บริการระบบคลาวด์และแบ็กเอนด์ในฐานะ บริษัท ผู้ให้บริการในซานฟรานซิสโกแคลิฟอร์เนีย บริษัท ผลิตผลิตภัณฑ์จำนวนมากสำหรับนักพัฒนาซอฟต์แวร์ที่สร้างแอปพลิเคชันมือถือหรือเว็บ

จะย้ายจาก Google Analytics ไปยัง Firebase Analytics ได้อย่างไร

Google Analytics (GA) และ Firebase Analytics (FA) แม้จะมีชื่อสามัญ แต่ก็มีความแตกต่างกันอย่างกว้างขวางในหลายด้าน แม้ว่า GA จะเป็นเครื่องมือวิเคราะห์สำหรับวัตถุประสงค์ทั่วไป (และเน้นเว็บมากกว่า) แต่ Firebase ถูกสร้างขึ้นโดยคำนึงถึงอุปกรณ์เคลื่อนที่ดังนั้นชุดคุณลักษณะจึงแตกต่างกันระหว่างทั้งสองอย่างโดยมีบางสิ่งที่เพิ่มเข้ามาใน FA และสิ่งที่ขาดหายไปจาก GA .

โดยเฉพาะอย่างยิ่งสิ่งเหล่านี้เป็นประเด็นสำคัญบางประการเมื่อพิจารณา Firebase Analytics:

  • มุมมองแบบเรียลไทม์ขาดหายไป
  • กิจกรรมจะมีขึ้นหลังจากช่วงเวลา 4-6 ชั่วโมง
  • ไม่มีขั้นตอนพฤติกรรม (จาก GA)
  • ผู้ชมมีข้อได้เปรียบที่ยิ่งใหญ่ของ FA และเมื่อรวมกับการแจ้งเตือนช่วยให้คุณสามารถมีส่วนร่วมกับกลุ่มผู้ใช้ที่ต้องการได้
  • เมื่อใช้ Firebase Crash Reporting ระบบจะสร้างผู้ชมที่มีผู้ใช้ที่พบข้อขัดข้องโดยอัตโนมัติ
  • การวิเคราะห์ช่องทางมีความหมายมากกว่าใน GA เนื่องจาก FA อิงตามเหตุการณ์ไม่ใช่การดูหน้าจอ
  • ฟรีและไม่ จำกัด ยกเว้นจำนวนประเภทของกิจกรรม (จำกัด ที่ 500) ไม่ จำกัด ปริมาณของเหตุการณ์ต่อแต่ละประเภท
  • เหตุการณ์บางอย่างจะถูกบันทึกโดยอัตโนมัติ (เช่นเซสชันตามวงจรชีวิตของกิจกรรม)
  • วิธีการที่ค่อนข้างต่ำเมื่อเทียบกับจำนวนวิธีของ GA
  • ง่ายต่อการติดตั้งไม่มีซิงเกิลตันในการเริ่มต้นเพียงรวมการพึ่งพา Gradle และเริ่มบันทึกเหตุการณ์
  • คอนโซล All-in-one หากคุณวางแผนที่จะใช้บริการ Firebase อื่น ๆ

หากพิจารณาว่าควรเปลี่ยนจากที่หนึ่งไปเป็นอีกแบบหนึ่งหรือหากจะให้ทั้งคู่ขนานกันคำตอบคือขึ้นอยู่กับ

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

โปรดทราบว่า Firebase เพิ่งเปิดตัวและ Google มีแผนที่จะเพิ่มคุณลักษณะเพิ่มเติมในอีกไม่กี่สัปดาห์ข้างหน้า (เช่นแดชบอร์ดแบบเรียลไทม์)

คุณสามารถดูบทช่วยสอนได้ที่นี่https://firebase.google.com/docs/analytics/android/start/


11
ฉันมาถึงที่นี่เพราะตอนนี้เป็นปี 2019 และในไม่ช้า Google ก็เลิกใช้ GA เพื่อสนับสนุน FA ดังนั้นการย้ายจึงมีผลบังคับใช้ support.google.com/firebase/answer/9167112
Ryan

1
นั่นหมายความว่าเราต้องใช้ Firebase Analytics แทน Google Analytics? ฉันถูกไหม?
Sumit Shukla

@Ryan วัวศักดิ์สิทธิ์! ฉันต้องการไปที่ Google Analytics จาก Firebase Analytics แต่ความคิดเห็นของคุณช่วยฉันไว้! ขอบคุณ!
Aleksandar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.