ã¿ãªããããã«ã¡ã¯ïŒ
ç§ãã¡ã¯éçºè
ã§ãïŒèªãããã«èãããŸãããïŒïŒããããŠç§ãã¡ã¯ç©æ¥µçã«æ°æ©èœãèŠã€ãããã°ãä¿®æ£ãã補åãæ¹åããããšããŠããŸãã ãããããŠãŒã¶ãŒã補åãã©ã®ããã«äœ¿çšããŠããããã©ã®è£œåã奜ãããã©ããããŸãè¯ããªãããæ£ç¢ºã«çè§£ããããã«ãåæã䜿çšããŸãã ããŸããŸãªããŒã«ããããŸããããã®èšäºã§ã¯ãéçºãšå€æŽã掻çºã«è¡ãããŠããGoogleã®åæã«ã€ããŠå
·äœçã«èª¬æããããšæããŸãã Google Analyticsãšããååã®å€ãæŠéæ©ã¯ãæ°ããæŠéæ©-FirebaseçšGoogle AnalyticsïŒæ§ç§°-Firebase AnalyticsïŒã«çœ®ãæããããŸããã
ååã§ãããã®å€åã®é¢šãã€ããããšãã§ããŸãã ãããŠãå€åã®é¢šã¯åžžã«äœããã®æ
å ±ã®ç©ºçœãäœãåºããããã«ã¯ããŸããŸãªçš®é¡ã®åãå
¥ããŸãããããã¯åžžã«ä¿¡é Œã§ãããã®ã§ã¯ãããŸããã
ãããã£ãŠããã®åæã§äœãèµ·ãã£ãŠããã®ããæçµçã«äœã䜿çšããã®ãã詳现ã«çè§£ããŠã¿ãŸãããã ãããŠãçãç¶ããæ¹æ³ã
Googleã¢ããªãã£ã¯ã¹ã«é¢ããå€ãã®æ
å ±ãããããããäœç³»åãããŠããå ŽåïŒãã®ãªãœãŒã¹ã®äŸ¡å€ãçæ³çãªãªãã¡ã¬ã³ã¹ïŒãFirebaseåãã®Googleã¢ããªãã£ã¯ã¹ã«ã¯ãè¥ããŠæŽ»çºã«éçºãããŠãã補åã®å
žåçãªç
æ°ããããŸã-æ
å ±ãã»ãšãã©ãªããæ£åšããæã«ã¯ççŸããŠããããšãããããŸãã ãããŠãç§ã¯ãã€ãŠäœãäœã§ããããçè§£ããããã«å€ãã®æéãšãšãã«ã®ãŒãè²»ãããã
å®éããã®èšäºã®äž»ãªç®æšã¯ãFirebaseåãGoogleã¢ããªãã£ã¯ã¹ã®ç¥èãšçŸåšã®ç¶æ
ãäœç³»åããããšã§ãã FirebaseåãGoogleã¢ããªãã£ã¯ã¹ã®ããŒããããã
ãã®ãã«ãŒããã¯æéãšç¥çµãããªãç¯çŽããŠããããšç¢ºä¿¡ããŠããŸã=ïŒ
æãéèŠãªç¥è©±ã Googleã¢ããªãã£ã¯ã¹all
ããã§ããç§ã¯äžçªããããªãã®ããå§ããŸãã
Firebase Analyticsã®ç»å Žä»¥æ¥ããã®åãç¶ããŠããããã«æããŸãã ãããŠäžæ¹ã§ãGoogleã2ã€ã®åæããŒã«ãå¿
èŠãšããçç±ã¯è«ççã§ãã ãã ããGoogleã¢ããªãã£ã¯ã¹ïŒGAãšåŒã³ãŸãïŒãšFirebaseåãGoogleã¢ããªãã£ã¯ã¹ïŒä»¥åã¯FAãšåŒã³ãŸãããïŒã¯ãæŠå¿µãšã¢ãããŒããç°ãªã2ã€ã®åæã§ãããããã«ã€ããŠã¯ä»¥äžã§èª¬æããŸãã
GAã¯ã©ãã«ãè¡ããŸããããæ¶ããŸããïŒå°ãªããšãä»ã®ãšããïŒããŸã誰ã«ã飲ã¿èŸŒãŸããŸããã ããã¯ãGoogleã®ã¢ã¹ã¯ã¯äºåæã®ä»£è¡šè
ããã®æ
å ±ãšãéçºè
èªèº«ããã®å
éšè
ã®äž¡æ¹ã§ãã
GAãã¡ã³ã¯ããç ããŸã...ä»ã®ãšããã ããããèª°ãæ¬¡ã«äœãèµ·ããããç¥ã£ãŠããŸãã ãããã£ãŠãèªã¿ç¶ããããšã匷ããå§ãããŸã=ïŒ
GA察FAã äžè¬çãªæŠå¿µ
FAã¯ããŸã£ããç°ãªãæŠå¿µãšå²åŠãæã€åæã§ãã ã€ãã³ãããŒã¹ã§ãããæºåž¯é»è©±å°çšã«èšèšãããŠããŸãã GAã¯ã¹ã¯ãªãŒã³ããŒã¹ã§ãããæåã¯Webåãã§ãããããã®åŸåããŠæºåž¯é»è©±åãã«å¹ãæ¿ããããŸããã
GAã¯1ã€ã®å€ãæã€éå±€ã€ãã³ããäžå¿ã«æ§æãããFAã¯å€æ°ã®ãã©ã¡ãŒã¿ãŒïŒããŒãšå€ã®ãã¢ïŒãæã€1ã€ã®ã€ãã³ããèšé²ããããšãç®çãšããŠããŸãã
ãããã®ã¢ããªã¹ãã¯éåžžã«ç°ãªã£ãŠããŸãã ãããã£ãŠããããã亀æããããšã¯ã§ããŸããã
ãããã®ããå¥ã®ãã®ãžã®ç§»è¡ã¯æäŸãããŸããã ããããGoogleã¯ãããã®ã¢ããªã¹ãã®ç¹å®ã®äºææ§ã«åãçµãã§ããŸããããã«ã€ããŠã¯åŸã§èª¬æããŸãã
GA察FAã ã€ãã³ã
ãã§ã«ã€ãã³ãã®ããŒãã«è§Šããã®ã§ã ãã€ãã³ãããçè§£ãããšããç¹ã§ã¯ãGAãšFAã¯éåžžã«ç°ãªã£ãŠããŸãã ãããŠãããã¯äŸã§ç¹ã«é¡èã§ãã
ã¢ããªã±ãŒã·ã§ã³ãã²ãŒã ã§ãããšããŸãããã ã²ãŒã ã®æåŸã«ããŠãŒã¶ãŒãæçµçã«ã©ã®ããã«ãã¬ã€ãããã«é¢ããçµ±èšãéä¿¡ããŸãã ãããŠããŠãŒã¶ãŒããåèšã¹ã³ã¢ã殺ãããæµã®æ°ãå®äºããã©ãŠã³ãã®æ°ãç¥ããããšæããŸãã
GAã§ã¯ã次ã®ããã«ãªããŸãã
// total score mTracker = googleAnalytics.newTracker(R.xml.tracker_global_config); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("gameOver") .setAction("totalScore") .setLabel("") .setValue(gameStats.getTotalScore()); mTracker.send(builder.build()); // enemies beaten mTracker = googleAnalytics.newTracker(R.xml.tracker_global_config); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("gameOver") .setAction("enemiesBeaten") .setLabel("") .setValue(gameStats.getEnemiesBeaten()); mTracker.send(builder.build()); // roundsSurvived mTracker = googleAnalytics.newTracker(R.xml.tracker_global_config); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("gameOver") .setAction("roundsSurvived") .setLabel("") .setValue(gameStats.getRoundsSurvived()); mTracker.send(builder.build());
GAã§ã¯ãåã€ãã³ãã¯åºæ¬çã«ãã©ã¡ãŒã¿ãŒã®éå±€ã衚ããŸãã
ã«ããŽãª->ã¢ã¯ã·ã§ã³->ã©ãã«->å€
ãŸããã³ã³ãœãŒã«èªäœã§ã¯ããã®ãã©ã¡ãŒã¿ãŒã®éå±€ã確èªã§ããŸãã å®éã远跡ãããã€ãã³ããçºæãããšãããã®ãã©ãã€ã ã«å°ãããã¹ãã§ãã ã³ã³ãœãŒã«ã§ãããããã®ãã©ã¡ãŒã¿ãŒã«å¿ããŠããŸããŸãªãã£ã«ã¿ãŒãäœæã§ããŸãã
ããããGAã«ã¯ã€ãã³ãã«é¢ããŠå°ããªãã€ãã¹ããããŸãã äžèšã«å ããŠãã€ãã³ãã«è¿œå ã®ãã©ã¡ãŒã¿ãŒã远å ãããå Žåãããã§ã¯ãã«ããŽãªãŒã->ãã¢ã¯ã·ã§ã³ã->ãã©ãã«ã->ãå€ãã®åšãã§èžããæ°ããå®åŒåãªã©ãèãåºãå¿
èŠããããŸãã äžäŸ¿ã å°ãªããšã以åã¯ããã§ããã
ããŠããããã®çµ±èšãFAã§ã©ã®ããã«æã¡è² ããããšãã§ããããèŠãŠã¿ãŸãããã
Bundle params = new Bundle(); params.putLong("totalScore", gameStats.getTotalScore()); params.putLong("enemiesBeaten", gameStats.getEnemiesBeaten()); params.putLong("roundsSurvived", gameStats.getRoundSurvived()); mFirebaseAnalytics.logEvent("game_over", params);
ã芧ã®ãšããã3ã€ã®ã€ãã³ãã®ä»£ããã«ãããè«ççã§äŸ¿å©ãª1ã€ã®ã€ãã³ããéä¿¡ããŸãã FAã®ãã€ãã³ããã«ã€ããŠã¯ã以äžã§è©³ãã説æããŸãã
GA察FAã ã³ã³ãœãŒã«
第äºã«ãã¢ããªã¹ããéåžžã«ç°ãªã£ãŠããããããã³ã³ãœãŒã«ã§ãã
GAã§ã®ã³ã³ãœãŒã«ã®å€èŠ³ã¯æ¬¡ã®ãšããã§ã ïŒ åçã¯ã¯ãªãã¯å¯èœã§ã ïŒã

ãã€ãã³ããã¯ãå·ŠåŽã®ãåäœãã¿ãã®å¥¥æ·±ãã«é ãããŠããŸãã ãã ããæšæºã¬ããŒãã¯ããã«ã«ããŽãªãã¢ã¯ã·ã§ã³ãã©ãã« ïŒ ã¯ãªãã¯å¯èœãªç»å ïŒã«åé¡ãããŸãã

ãããFAã³ã³ãœãŒã«ã®å€èгã§ãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

æåã«è¡šç€ºãããã®ã¯æŠèŠã§ãã ãããŠãç§ã¯ããã«ãŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ãã«ãŒãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒã«æ³šæãæããŸã ã

æåŸã«ãç»é¢ã®éåžžã®è¡šç€ºãFAã³ã³ãœãŒã«ã«è¿œå ãããŸããã 5æãŸã§ãç§ãã¡ã¯ãããªãã§çããŸããã ã€ãŸãããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ãã€ãã³ãã¯éä¿¡ãããŸããããã³ã³ãœãŒã«ã§è¡šç€ºã§ããŸããã§ããã ã²ã©ãã£ãã ãããŠãããã¯ãããã誰ããFAã«åãæ¿ããããªãçç±ã®1ã€ã§ãã
ã芧ã®ããã«ã[ ã€ãã³ã ]ã¿ãã¯ããã·ã¥ããŒãã®ããåŸãã«ãããFAãã€ãã³ãã®åŠçã«åããããŠããããšã確èªããŸãã ãŸããã³ã³ãœãŒã«ã«ãå°ãæ»ã£ãŠãFAã®ãã€ãã³ããã®ãã®åºç¯ãªãããã¯ã«é£ã³èŸŒãããšãææ¡ããŸãã
FAã€ãã³ã
ã³ãŒããç°¡åã«èŠãŠã¿ãŸãããã
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);
ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãå®çŸ©æžã¿ã®ã€ãã³ããå«ãæå€§500çš®é¡ã®ã€ãã³ããéä¿¡ã§ããŸãïŒ FirebaseAnalytics.Event.SELECT_CONTENT
ã¯äºåå®çŸ©ãããŠããŸãããç¬èªã®ã¿ã€ããèšå®ããããšãã§ããŸãïŒã éä¿¡ãããã€ãã³ãã®ç·æ°ã¯å¶éãããŠããŸããïŒ ãœãŒã¹ ïŒã
åã€ãã³ãã«æå€§25åã®ãã©ã¡ãŒã¿ãŒãæ·»ä»ã§ããŸã ïŒ Bundle
ïŒã ãã©ã¡ãŒã¿ãäºåå®çŸ©ãããŠããŸãããã«ã¹ã¿ã ãã©ã¡ãŒã¿ã®èšå®ãçŠæ¢ãã人ã¯ããŸããã ããã§èª¬æããŸã ã
ã€ãã³ããšãã©ã¡ãŒã¿ãŒã®ã¿ã€ãã¯éåžžã®String
ã§ãã
ã€ãã³ãåãšãã©ã¡ãŒã¿ãŒåã¯å€§æåãšå°æåãåºå¥ãããŸãã åãã€ãã³ãã¯ãã¿ã€ããšãã©ã¡ãŒã¿ãŒãäžèŽããå¿
èŠããããŸãã
ããã«ãããã©ã«ãã§ãã£ã¹ããããããã€ãã³ãããããŸãã 説æä»ãã®èªåçã«éãããã€ãã³ãã®å
šãªã¹ãã¯ãã®ãªã³ã¯ã§äžããããŸãã ã芧ã®ãšããã以åã¯åä¿¡ã§ããªãã£ããããªéåžžã«è峿·±ãã€ãã³ãããããããããŸãã ãã£ãããïŒ
ãŸããäžèšã®ãªã³ã¯ã§ã¯ãç¹å®ã®ã€ãã³ãã«å¯ŸããŠéžæã§ããå®çŸ©æžã¿ã®ã€ãã³ããšãã©ã¡ãŒã¿ãŒã確èªã§ããŸãã
FAã€ãã³ãã ãçŽã®äžã§ã¯æ»ããã§ããããæžè°·ãå¿ããŠããŸããã
ã€ãã³ããšãã©ã¡ãŒã¿ãŒã®äºåå®çŸ©ãããååã«ã€ããŠãã©ããããããäžå¯©ãªããšã«èšãããŠããããšã«æ°ä»ããŸããã ãŸãã説æã®ããã®äŸã§ã¯ãéåžžéä¿¡ãããã®ã¯ãããã®ã€ãã³ããšãã©ã¡ãŒã¿ãŒã§ãã ããããããã¯å¶ç¶ã§ã¯ãããŸããã 10åã®ã«ã¹ã¿ã ãã©ã¡ãŒã¿ã䜿çšããŠã€ãã³ããéä¿¡ãããšããŸãã ãããŠãã€ãã³ãã®ã³ã³ãœãŒã«ã«ä»¥äžã衚瀺ãããŸãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

ãããããç§ã®ãã¹ãŠã®éžæè¢ã¯ã©ãã«ãããŸããïŒããšããªãã¯å°ããŸãã ãããããã®ããã«ã³ã³ãœãŒã«ã«ã¯ãããŸããã
äºå®ããã¹ãŠã®çŸããã°ã©ãã£ãã¯ããã®ã¯ãäºåå®çŸ©ãããååã䜿çšããå Žåã«ã®ã¿æ§ç¯ãããŸãã ç¬èªã®ãã«ã¹ã¿ã ãã䜿çšãããšãäœã衚瀺ãããŸããã ãã€ãã³ãã®æ°ããšããŠãŒã¶ãŒã®æ°ãã®ã¿ã
ãããŠãI / O 17ã®åã¯ãã²ã©ãçã¿ã§ããã ãã£ãŒãã¯ããã®èšäºã®ããã«ãããšãã°Valueãã©ã¡ãŒã¿ãŒã䜿çšããŠäœæã§ããŸãã ããããããã¯ãã¡ãããããã ãã§ã¯ãããŸããã
ãããŠãããã§ã¯ãã¡ããããã¹ãŠã人ã
ã®ããã®ãã®ã§ããGAã«ã€ããŠæãåºãããããããã®ã®ããã«ããããçš®é¡ã®ãã£ã«ã¿ãŒãäœæããŸãã
ããããããã§å°ãåŸ
ã¡äŒãã æšæºã¬ããŒã-ã¯ããåé¡ãªããã«ãã§ããŸãã ãã ããã»ãšãã©ã®å Žåãã«ã¹ã¿ã ã¬ããŒããå¿
èŠã§ãã ããšãã°ãã»ã«ã³ããªãã£ã¡ã³ã·ã§ã³ã远å ããŠãããã€ã¹ã¢ãã«ããšã«ã€ãã³ããäžŠã¹æ¿ããŸãã ãããŠãããã§ããµã³ããªã³ã°ããšããæãããèšèããããã¢ããããŸãã
ã¬ããŒãã«ãã£ãŠãGAã®ãµã³ããªã³ã°ã¢ã«ãŽãªãºã ã¯ç°ãªããŸãã Googleã¯ãåã¬ããŒãã§ãµã³ãã«ãã©ã®ããã«èæ
®ãããããæ£ç¢ºã«é瀺ããŠããŸããããäžè¬ã«ããã¹ãŠã®æ
£è¡ã¯ãã§ã«ç¥ãããŠããŸãã ããã¯éåžžã hiããŒã¹ã®ãµã³ããªã³ã°ãŸãã¯cookieããŒã¹ã®ãµã³ããªã³ã°ã§ãã æåã®ã±ãŒã¹ã§ã¯ããã¹ãŠã®ã¬ã³ãŒãïŒã€ãã³ãããã¥ãŒãªã©ïŒããã©ã³ãã ãµã³ãã«ãååŸããã2çªç®ã®ã±ãŒã¹ã§ã¯ããã¹ãŠã®ãŠãŒã¶ãŒïŒãããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®å ŽåãããŒã¯ã¢ããCookieãŸãã¯gaid / idfaïŒããã©ã³ãã ãµã³ãã«ãååŸãããŸãã
ãããã£ãŠãåãã£ãŒã«ãã®ãšã©ãŒã«ã€ããŠç¢ºå®ã«è©±ãããšã¯äžå¯èœã§ãã
å®éã«ã¯ã5ïŒ
ãè¶
ãããµã³ãã«ã§ã¯ãââã€ãã³ãã¬ããŒãã®çµ¶å¯Ÿæ°ã®èª€å·®ã¯2.5ïŒ
æªæºã§ãããšåœŒãã¯èšããŸãã
ãµã³ããªã³ã°ã«é¢ããæ
å ±ãæäŸããããã«ãYandexã®Alexander Sergeevã«æè¬ããŸãã
FAã€ãã³ãã ç¶ç¶
ããã ãããã®ãã€ãã³ããã§ã¯ãã¹ãŠãç°¡åã§ã¯ãããŸããã å®éãFAã¯äžè¬ã®äººã
ã®åžæãæºãããŸãã
ãŸããFAã«ã¯ãµã³ããªã³ã°ããããŸããã ãã¹ãŠã®ããŒã¿ãå©çšå¯èœã§ãã
ãŸããGoogle Analytics 360ïŒãµã³ããªã³ã°ãªãã®GAã®ææçïŒã®ã³ã¹ãã¯ããªã倧ãããããããã¯éåžžã«ã¯ãŒã«ã§ãã ãŸããFAã§ã¯ãããŒã¿ãBigQueryã«ã¢ããããŒãããŠãå¿
èŠãªåŠçãå®è¡ã§ããŸãã
次ã«ãI / O 17ã®åŸãã«ã¹ã¿ã ãã©ã¡ãŒã¿ã䜿çšããŠã¬ããŒããäœæã§ããããã«ãªããŸããã
ç¹å®ã®ã€ãã³ãã®ç»é¢ã§ã ã«ã¹ã¿ã ãã©ã¡ãŒã¿ãç»é²ããããã«æ±ããããŸã ïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

ãã ãããã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯åèšã§ããããã®ãã©ã¡ãŒã¿ãŒãæå€§50å ïŒ 10åã®ããã¹ããš40åã®æ°å€ ïŒç»é²ã§ããŸã ã ãã®å¶éãåé¿ããããã«ã©ã€ãããã¯ã詊ããŸãããç°ãªãã€ãã³ãã«å¯ŸããŠåãååã®ã«ã¹ã¿ã ãã©ã¡ãŒã¿ãç»é²ããŸããã 圹ã«ç«ããªãã£ãããããã§ãããã©ã¹ã¯ã³ããè¡ãããã
ããã«ãããã«æ¢æã®ã¬ããŒãã衚瀺ãããããšãæåŸ
ããŠããå Žåã¯ããæ¥ããã ããã ã¬ããŒãã¯çޝç©çã«æ§ç¯ãããŸãã ã¬ããŒããäœæããã«ã¹ã¿ã ãã©ã¡ãŒã¿ãcustom_1ããæã€ãevent_1ãããããšããŸãã ã³ã³ãœãŒã«ã§ã¯ããã®ã¬ããŒããæç¹Xã§äœæããããã«æ§æããŸããããããã£ãŠãæç¹Xã®åŸã«æ¥ããã¹ãŠã®ã€ãã³ããevent_1ãã¯ã¬ããŒãã«å«ãŸããŸãããŸããæç¹XãŸã§ã®ãã¹ãŠã®ãevent_1ãã¯æ²ããããšã«åŠçãããŸããã ã ããæ³šæããŠãã ããã
ã€ãŸããããè¯ãããã«èŠããŸãããããã»ã©ã§ã¯ãããŸããã ããã«more蟱çãªããšã«ããããã®ã¬ããŒããäœããã®åœ¢ã§çµã¿åãããããšã¯ã§ããŸããã ããããããããã³ã³ãœãŒã«ããã®èŠæ±ãå€ãããŸãã ããŒã¿ã䜿çšããŠäœãããããå Žåã¯ãBigQueryã®çŽ æŽãããäžçãžããããã ããŒã¿ã®è¬ã®ãã®ããŒã«ãå°ãéããŸãããã
Bigquery
BigQueryã¯éåžžããããã«ç°ãªãéæ²³ã§ãã
ãã¬ãã¢ã ã¢ãŒããããå Žåã«ã®ã¿ãGAãä»ããŠBigQueryãæäœã§ããŸãã FAã®[ã€ãã³ã]ã¿ãã§ãæ¥ç¶ã確ç«ããããã«æ±ããããŸãïŒ ã¯ãªãã¯å¯èœãªå³ ïŒã

Googleã¯æ¬¡ã®ããã«è¿°ã¹ãŠããŸãããç§ãã¡ã¯ããªãã«è»ãæž¡ããŸãããã¬ãœãªã³ä»£ã¯ããªããæ¯æããŸããã ããã§é¢çšèšç»ãèŠã€ããããšãã§ããŸã ã ãããã詊ããŠã¿ãã ãã§ãç¡æã®Blazeé¢çšå¶éã§ååã§ãããšä¿¡ããŠãã ããã ãããŠãè»éã®è£œåãæ±ããšãã§ãããåå¿ã®ã¬ãã¥ãŒãã倿ããŠãæ¯æãã¯éåžžã«arbitraryæçã§ãã
ããã§ã¯ãç¥ãåããå§ããŸãããã ãããBigQueryã³ã³ãœãŒã«ã®å€èгã§ãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

䜿çšå¯èœãªããŒã¿ã®ãªã¹ããå·ŠåŽã®ã¡ãã¥ãŒã«è¡šç€ºãããŸãã ããšãã°ã TestStepã¯ãæ§æå
ã«1ã€ã®ã¢ããªã±ãŒã·ã§ã³ãããç§ã®ãã¹ããããžã§ã¯ãã§ãã ãŸãã bigquery-public-dataãšPublic Datasetsã¯ããæ³åã®ãšãããå®éšããŠã¯ãšãªã®äœæãç·Žç¿ã§ãããããªãã¯ããŒã¿ã§ãã
å³åŽã«ã¯ãæåãããã®ãšããã§ãªããã®ã®äž¡æ¹ã®ãªã¯ãšã¹ãã®ãªã¹ãã衚瀺ãããŸãã
ããã§ã¯ã2017幎3æ14æ¥ã®ãã¹ãã¢ããªã±ãŒã·ã§ã³ããŒã¿ïŒè¡šapp_events_20170314ã ã¯ãªãã¯å¯èœãªæ°å ïŒãèŠãŠã¿ãŸãããã

ãã®æ¥ã®ãã¹ãŠã®ããŒã¿ãããŒãã«ã«æããŸããïŒ52ã€ãã³ãïŒã å
šäœã®è¡šã¯ç®ã®åã«è¡šç€ºãããŸãã ã芧ã®ãšãããããã§ã¯ããã¹ãŠã®ããããã£ãå«ãåã€ãã³ãã«ã€ããŠãå¯èœãªéãå®å
šã«èª¬æããŸããããã«ã€ããŠã¯ã以äžã§èª¬æããŸãã
ããŒã¿ãã¬ãã¥ãŒïŒ[ãã¬ãã¥ãŒ]ã¿ãã ã¯ãªãã¯å¯èœãªç»å ïŒãèŠãŠã¿ãŸãããã

å€åºå
ã§ã®è¡šåœ¢åŒãã¥ãŒã¯æçã§ã¯ãããŸããã ããçè§£ãããã圢åŒã¯JSONïŒ ã¯ãªãã¯å¯èœãªç»å ïŒã§ãã

ãããŠãã€ãã³ãå
šäœã玹ä»ããŸãã äœããã®çç±ã§ãUIã§json衚瀺ãŠã£ã³ããŠãå±éã§ããªããããæåŸã®5ã€ã®ã€ãã³ãã®å®å
šãªjsonãåå¥ã«æäŸããŸãã
BigQueryã®5ã€ã®ã€ãã³ã [ { "user_dim": { "user_id": null, "first_open_timestamp_micros": "1488878151620000", "user_properties": [ { "key": "first_open_time", "value": { "value": { "string_value": null, "int_value": "1488880800000", "float_value": null, "double_value": null }, "set_timestamp_usec": "1488878151620000", "index": null } } ], "device_info": { "device_category": "mobile", "mobile_brand_name": null, "mobile_model_name": null, "mobile_marketing_name": null, "device_model": "507SH", "platform_version": "6.0.1", "device_id": null, "resettable_device_id": null, "user_default_language": "ru-ru", "device_time_zone_offset_seconds": "10800", "limited_ad_tracking": "false" }, "geo_info": { "continent": "Europe", "country": "Russia", "region": "Moscow", "city": "Moscow" }, "app_info": { "app_version": "1.0", "app_instance_id": "d0c587de4d5804ddc1d34f8d54b981f9", "app_store": "manual_install", "app_platform": "ANDROID", "app_id": "com.example.matsyuk.testfirebase" }, "traffic_source": null, "bundle_info": { "bundle_sequence_id": "65", "server_timestamp_offset_micros": "-496748" }, "ltv_info": null }, "event_dim": [ { "date": "20170314", "name": "user_engagement", "params": [ { "key": "firebase_screen_class", "value": { "string_value": "SecondActivity", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_event_origin", "value": { "string_value": "auto", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_screen_id", "value": { "string_value": null, "int_value": "1109587836504693342", "float_value": null, "double_value": null } }, { "key": "engagement_time_msec", "value": { "string_value": null, "int_value": "4424", "float_value": null, "double_value": null } } ], "timestamp_micros": "1489478210462000", "previous_timestamp_micros": "1489478205970000", "value_in_usd": null } ] }, { "user_dim": { "user_id": null, "first_open_timestamp_micros": "1488878151620000", "user_properties": [ { "key": "first_open_time", "value": { "value": { "string_value": null, "int_value": "1488880800000", "float_value": null, "double_value": null }, "set_timestamp_usec": "1488878151620000", "index": null } } ], "device_info": { "device_category": "mobile", "mobile_brand_name": null, "mobile_model_name": null, "mobile_marketing_name": null, "device_model": "507SH", "platform_version": "6.0.1", "device_id": null, "resettable_device_id": null, "user_default_language": "ru-ru", "device_time_zone_offset_seconds": "10800", "limited_ad_tracking": "false" }, "geo_info": { "continent": "Europe", "country": "Russia", "region": "Moscow", "city": "Moscow" }, "app_info": { "app_version": "1.0", "app_instance_id": "d0c587de4d5804ddc1d34f8d54b981f9", "app_store": "manual_install", "app_platform": "ANDROID", "app_id": "com.example.matsyuk.testfirebase" }, "traffic_source": null, "bundle_info": { "bundle_sequence_id": "64", "server_timestamp_offset_micros": "-515257" }, "ltv_info": null }, "event_dim": [ { "date": "20170314", "name": "user_engagement", "params": [ { "key": "firebase_screen_class", "value": { "string_value": "MainActivity", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_event_origin", "value": { "string_value": "auto", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_screen_id", "value": { "string_value": null, "int_value": "1109587836504693341", "float_value": null, "double_value": null } }, { "key": "engagement_time_msec", "value": { "string_value": null, "int_value": "17278", "float_value": null, "double_value": null } } ], "timestamp_micros": "1489478205970000", "previous_timestamp_micros": "1489153178047000", "value_in_usd": null } ] }, { "user_dim": { "user_id": null, "first_open_timestamp_micros": "1488878151620000", "user_properties": [ { "key": "first_open_time", "value": { "value": { "string_value": null, "int_value": "1488880800000", "float_value": null, "double_value": null }, "set_timestamp_usec": "1488878151620000", "index": null } } ], "device_info": { "device_category": "mobile", "mobile_brand_name": null, "mobile_model_name": null, "mobile_marketing_name": null, "device_model": "507SH", "platform_version": "6.0.1", "device_id": null, "resettable_device_id": null, "user_default_language": "ru-ru", "device_time_zone_offset_seconds": "10800", "limited_ad_tracking": "false" }, "geo_info": { "continent": "Europe", "country": "Russia", "region": "Moscow", "city": "Moscow" }, "app_info": { "app_version": "1.0", "app_instance_id": "d0c587de4d5804ddc1d34f8d54b981f9", "app_store": "manual_install", "app_platform": "ANDROID", "app_id": "com.example.matsyuk.testfirebase" }, "traffic_source": null, "bundle_info": { "bundle_sequence_id": "63", "server_timestamp_offset_micros": "-500210" }, "ltv_info": null }, "event_dim": [ { "date": "20170314", "name": "ga_event", "params": [ { "key": "label", "value": { "string_value": "label1", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_screen_class", "value": { "string_value": "MainActivity", "int_value": null, "float_value": null, "double_value": null } }, { "key": "action", "value": { "string_value": "action1", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_event_origin", "value": { "string_value": "app", "int_value": null, "float_value": null, "double_value": null } }, { "key": "value", "value": { "string_value": null, "int_value": "1", "float_value": null, "double_value": null } }, { "key": "category", "value": { "string_value": "category1", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_screen_id", "value": { "string_value": null, "int_value": "1109587836504693341", "float_value": null, "double_value": null } } ], "timestamp_micros": "1489478204880000", "previous_timestamp_micros": "1489137436229000", "value_in_usd": null } ] }, { "user_dim": { "user_id": null, "first_open_timestamp_micros": "1488878151620000", "user_properties": [ { "key": "first_open_time", "value": { "value": { "string_value": null, "int_value": "1488880800000", "float_value": null, "double_value": null }, "set_timestamp_usec": "1488878151620000", "index": null } } ], "device_info": { "device_category": "mobile", "mobile_brand_name": null, "mobile_model_name": null, "mobile_marketing_name": null, "device_model": "507SH", "platform_version": "6.0.1", "device_id": null, "resettable_device_id": null, "user_default_language": "ru-ru", "device_time_zone_offset_seconds": "10800", "limited_ad_tracking": "false" }, "geo_info": { "continent": "Europe", "country": "Russia", "region": "Moscow", "city": "Moscow" }, "app_info": { "app_version": "1.0", "app_instance_id": "d0c587de4d5804ddc1d34f8d54b981f9", "app_store": "manual_install", "app_platform": "ANDROID", "app_id": "com.example.matsyuk.testfirebase" }, "traffic_source": null, "bundle_info": { "bundle_sequence_id": "62", "server_timestamp_offset_micros": "-499813" }, "ltv_info": null }, "event_dim": [ { "date": "20170314", "name": "select_content", "params": [ { "key": "firebase_screen_class", "value": { "string_value": "MainActivity", "int_value": null, "float_value": null, "double_value": null } }, { "key": "content_type", "value": { "string_value": "image", "int_value": null, "float_value": null, "double_value": null } }, { "key": "item_name", "value": { "string_value": "name1", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_event_origin", "value": { "string_value": "app", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_screen_id", "value": { "string_value": null, "int_value": "1109587836504693341", "float_value": null, "double_value": null } }, { "key": "item_id", "value": { "string_value": "1", "int_value": null, "float_value": null, "double_value": null } } ], "timestamp_micros": "1489478204208000", "previous_timestamp_micros": "1489137435605000", "value_in_usd": null } ] }, { "user_dim": { "user_id": null, "first_open_timestamp_micros": "1488878151620000", "user_properties": [ { "key": "first_open_time", "value": { "value": { "string_value": null, "int_value": "1488880800000", "float_value": null, "double_value": null }, "set_timestamp_usec": "1488878151620000", "index": null } } ], "device_info": { "device_category": "mobile", "mobile_brand_name": null, "mobile_model_name": null, "mobile_marketing_name": null, "device_model": "507SH", "platform_version": "6.0.1", "device_id": null, "resettable_device_id": null, "user_default_language": "ru-ru", "device_time_zone_offset_seconds": "10800", "limited_ad_tracking": "false" }, "geo_info": { "continent": "Europe", "country": "Russia", "region": "Moscow", "city": "Moscow" }, "app_info": { "app_version": "1.0", "app_instance_id": "d0c587de4d5804ddc1d34f8d54b981f9", "app_store": "manual_install", "app_platform": "ANDROID", "app_id": "com.example.matsyuk.testfirebase" }, "traffic_source": null, "bundle_info": { "bundle_sequence_id": "61", "server_timestamp_offset_micros": "-537470" }, "ltv_info": null }, "event_dim": [ { "date": "20170314", "name": "session_start", "params": [ { "key": "firebase_screen_class", "value": { "string_value": "MainActivity", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_event_origin", "value": { "string_value": "auto", "int_value": null, "float_value": null, "double_value": null } }, { "key": "firebase_screen_id", "value": { "string_value": null, "int_value": "1109587836504693341", "float_value": null, "double_value": null } } ], "timestamp_micros": "1489478198696000", "previous_timestamp_micros": "1489137330069000", "value_in_usd": null } ] } ]
çŸãããªã©ïŒ
ããã§ã¯ãã¯ãšãªã詳ããèŠãŠã¿ãŸãããã æåã®ãã®ãéžæããŸãããïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

ãããŠãç§ãã¡ã®åã«æ¬¡ã®ç»é¢ãéããŸãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

ç§ãã¡ã®èŠæ±ã¯ãŸã£ããarbitraryæçã§ãã [çµæ]ã¿ãã«æ³šæããŠãã ããã å®éã«ã¯ãã¯ãšãªã®çµæã衚瀺ãããŸãã
[説æ]ã¿ããéããšããªã¯ãšã¹ããæž¡ã詳现ãªããã»ã¹ã衚瀺ãããŸãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒã

ããŠãæãè峿·±ãã¿ãã¯ãžã§ãæ
å ±ïŒ ã¯ãªãã¯å¯èœãªç»å ïŒã§ãïŒ

åŠçæžã¿ãã€ããè«æ±æžã¿ãã€ããããã³ãã€ãå±€ã確èªããŠãã ããã ãªã¯ãšã¹ãäžã«26.4 KBãåŠçãããŸããããBites Tier = 1ã®äžéã§æ¯æããŸããã€ãŸãã10 MBãæ¯æããŸãã ãã ãã ããã¥ã¡ã³ããã倿ãããšã1ãæããã1 TBãç¡æã§ããã®åŸã®æéã¯ãããã5ãã«ã§ãã ååã«ãã¬ã€ããŠè©ŠããŠã¿ãã ãã§ååã§ãã ããŠãéèŠãªè¿œå -ããªãã¯æåãããªã¯ãšã¹ãã«å¯ŸããŠã®ã¿æ¯æããŸãïŒ
BigQueryã®éåžžã«çãæŠèŠã§ãããããªã倧ããªãã®ã§ãã ããã¯ãå¿
èŠã«å¿ããŠããŒã¿ãåæã§ããéåžžã«åŒ·åã§æ©èœçãªããŒã«ã§ãã ããããGAãŸãã¯FAã®éåžžã®ã³ã³ãœãŒã«ãšã¯ç°ãªããBigQueryã®5åã§ã¯ééããªãçè§£ã§ããŸããã ãããã£ãŠãããŒã ãŸãã¯äŒç€Ÿã«ãããçè§£ããããããçš®é¡ã®çµæãåŸãããšãã§ãã人ãããã°ããšãŠãã¯ãŒã«ã§ãã
ãã®äººã«ãªãããå Žåã¯ãGoogleã®ç޹ä»ãããªããå§ããããšãã§ããŸããã¡ãªã¿ã«ããã®ãããªã§ã¯ã³ã¹ãã®èšç®ã«ã€ããŠã説æããŠããŸãã è¯ãèšäºããããŸã-1 ã€ãš 2〠ã ããã«ã BigQueryã® å
¬åŒããã¯ãšæ¬ ïŒæ¬å
šäœãKarlïŒïŒãæãäžããããšããå§ãããŸãã
誰ãããã§ã«ãã®æ¹åã«ããŸãæãé²ããŠããŠããã³ããçµéšãå
±æã§ãããªãçŽ æŽãããã§ããã=ïŒ
ãŸãã Data Studioãªã©ã®BigQueryã«ã¯ãããã«ããŒã¿ãããŒãããŠäŸ¿å©ã«èŠèŠåã§ããUIã©ãããŒãããããšã«æ³šæããŠãã ããã Data Studioã¯ãŸã ããŒã¿çã§ãããå°æ¥çã«ã¯éåžžã«äŸ¿å©ãªããŒã«ã«ãªããšçŽæãããŠããŸãã
ãŠãŒã¶ãŒã®ããããã£
å®éããŠãŒã¶ãŒããããã£ã¯ã€ãã³ãã®äžå¯æ¬ ãªéšåã§ãããããã€ãã³ãã®ããŒããç¶ç¶ããŸãã
ãŠãŒã¶ãŒããããã£ïŒãã·ã¢èªã®ããŠãŒã¶ãŒããããã£ãïŒã¯ãèšèªãå°ççäœçœ®ãªã©ããŠãŒã¶ãŒããŒã¹ã®ããŸããŸãªã»ã°ã¡ã³ãã説æã§ããæšèã§ãã ãããã¯ãåã€ãã³ãã«ä»å ãããããã ã¹ãã£ãããŒãã©ã¡ãŒã¿ãŒãšãåŒã°ããŸãã
æåã¯ãããã©ã«ãã§ããããã£ã®ã¿ãåã€ãã³ãã«æ·»ä»ãããŸãã ãããŠãã³ãŒãå
ã§åæ§ã®ã³ãŒããåŒã³åºãå ŽåïŒ
mFirebaseAnalytics.setUserProperty("license_property", mLicenseType);
äºåã«èšå®ãããå€ïŒå€ãmLicenseTypeãïŒãæã€ããããã£ãlicense_propertyããããã®åŸã®åã€ãã³ãã«æ·»ä»ãããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ãé»è©±ãªã©ãåèµ·åããåŸã§ãããã®ããããã£ã¯æ·»ä»ãããŸãã ã€ãŸããããããã£ã¯persistenceã§ããããŸãã
ãã®å Žåãæåã«ã³ã³ãœãŒã«ã§ããããã£ãç»é²ããå¿
èŠããããŸãïŒ ã¯ãªãã¯å¯èœãªç»å ïŒïŒ

ããããã³apiã§ãã¹ãŠã詳ãã説æããŸã ã
ç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ã æå€§25åã®ããããã£ãéä¿¡ã§ããŸã ïŒããã©ã«ãã§éä¿¡ãããããããã£ãé€ãïŒã ããã©ã«ãã§éä¿¡ãããããããã£ã®ãªã¹ãã¯ãã¡ãã§ãã
å®éãã³ã³ãœãŒã«ã§ã¯ãããããã£ãšããªãŒãã£ãšã³ã¹ãïŒä»¥äžããªãŒãã£ãšã³ã¹ãã«ã€ããŠå°ã説æããŸãïŒã§äœã§ããã£ã«ã¿ãªã³ã°ã§ããŸãã ããšãã°ãã€ãã³ãïŒ ã¯ãªãã¯å¯èœãªå³é¢ ïŒïŒ


GA setUserProperty(...)
ã®setUserProperty(...)
ã¯ãã¡ãœããsetCustomDimension(...)
ããã³setCustomMetric(...)
ã§ãã å¯äžã®ããšã¯ããã£ã¡ã³ã·ã§ã³ããŒã¿ãšã¡ããªãã¯ããŒã¿ãã¹ãã£ãããŒã§æ°žç¶çã§ã¯ãªãããšã§ããã»ãã·ã§ã³ããšã«åã€ãã³ãã«æåã§æ·»ä»ããå¿
èŠããããŸãã
ã€ãã³ãã FA +ãã®ä»ã®åæ
ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãå°ãªããšã2ã€ã®åæããŒã«ããããšæããŸãã éåžžããã£ãšãããããããŸãã ã¢ããªã¹ãã鲿©çãªäººã
ã§ããããã£ãšããŠããŸããã ããããç§ãã¡ã¯çããããµããŒãããŠããŸãã ã¯ãããã©ã¹ãã©ãã£ãã¯ã ã ããäœãããã®ãè¯ãã§ããïŒ
ããŸããŸãªãªãã·ã§ã³ã«ã€ããŠèª¬æããéåžžã«åªããGoogleã®èšäºãæ¢ã«ãããŸãã
ç°¡åã«ã玹ä»ããŸãã®ã§ã次ã®ããã«èããŠãã ããã
- åå¥ã®åæãåå¥ã«éä¿¡ããã ãã§ãã ã³ãŒãã§ã¯ãã©ããã§äœ¿çšããäœããã®ãŠãããŒãµã«ãã¡ãµãŒããäœæããå¯èœæ§ããããŸãã
çæã¯æããã ãšæããŸãã ããå€ãã®ãã©ãã£ãã¯ãšã³ãŒãã - Googleã¿ã°ãããŒãžã£ãŒ ã
ãã®ãããŒãžã£ãŒã¯ã³ã³ãœãŒã«ãä»ããŠæ¥ç¶ãããããã§æ§æãããŸãã , ( build.gradle ), FA- â . Google Tag Manager FA- , (GA, AppsFlyer Google Tag Manager ). , FA (, - ).
. , , , , , . , , Google Tag Manager. , .
. â , , . â FA Google Tag Manager GA ecommerce data. - BigQuery.
, , GA FA, . GA BigQuery , Google Analytics 360.
FA
, . Android Studio , . , 15 . API? , .
FA Android Studio Assistant google-services.json
. , , , â FA.
build.gradle
:
dependencies { classpath 'com.google.gms:google-services:3.0.0'
google-services
â , google-services.json
, , FA. google-services
( FA). , app/build.gradle
:
apply plugin: 'com.google.gms.google-services'
google-services.json
Firebase, , .
google-services.json: { "project_info": { "project_number": "887654601522", "firebase_url": "https://fir-test3-4bab3.firebaseio.com", "project_id": "fir-test3-4bab3", "storage_bucket": "fir-test3-4bab3.appspot.com" }, "client": [ { "client_info": { "mobilesdk_app_id": "1:887654601522:android:9c6c1c11f784b956", "android_client_info": { "package_name": "com.example.matsyuk.firebasetest3" } }, "oauth_client": [ { "client_id": "887654601522-o8rolth1g5mq5qq650844chk07mib2un.apps.googleusercontent.com", "client_type": 1, "android_info": { "package_name": "com.example.matsyuk.firebasetest3", "certificate_hash": "82f13b732dec32c5ebd4498c3a7acf4bda23a846" } }, { "client_id": "887654601522-4riqkg424gb236q6mqehksn03u4hoqqg.apps.googleusercontent.com", "client_type": 3 } ], "api_key": [ { "current_key": "AIzaSyAYRPNTcgxWP7qUzI__kx9gSwxnIgc3iBo" } ], "services": { "analytics_service": { "status": 1 }, "appinvite_service": { "status": 2, "other_platform_oauth_client": [ { "client_id": "887654601522-4riqkg424gb236q6mqehksn03u4hoqqg.apps.googleusercontent.com", "client_type": 3 } ] }, "ads_service": { "status": 2 } } } ], "configuration_version": "1" }
google-services
json , your_project\app\build\generated\res\google-services\debug\values\values.xml
:
<?xml version="1.0" encoding="UTF-8"?> <resources> <string translatable="false" name="default_web_client_id">887654601522-4riqkg424gb236q6mqehksn03u4hoqqg.apps.googleusercontent.com</string> <string translatable="false" name="firebase_database_url">https://fir-test3-4bab3.firebaseio.com</string> <string translatable="false" name="gcm_defaultSenderId">887654601522</string> <string translatable="false" name="google_api_key">AIzaSyAYRPNTcgxWP7qUzI__kx9gSwxnIgc3iBo</string> <string translatable="false" name="google_app_id">1:887654601522:android:9c6c1c11f784b956</string> <string translatable="false" name="google_crash_reporting_api_key">AIzaSyAYRPNTcgxWP7qUzI__kx9gSwxnIgc3iBo</string> <string translatable="false" name="google_storage_bucket">fir-test3-4bab3.appspot.com</string> </resources>
, firebase_database_url
, google_storage_bucket
.. Firebase, .
google-services.json
.
. Example applicationId
, , , com.fa.example
. flavors:
productFlavors { dev { applicationId "com.fa.example.dev" } qa { applicationId "com.fa.example.qa" } prod { // applicationId "com.fa.example" } }
FA Android Studio Assistant. Example , :

app/google-services.json
, ( flavors applicationId
) . flavor .
, google-services.json
. google-services.json
.
. Example FA. flavor . flavor . :
- flavor build.gradle.
:

google-services.json
( ) .
. , buildTypes
, build.gradle
- :
buildTypes { release { } ultra_debug { applicationIdSuffix ".ultra_debug" } debug { applicationIdSuffix ".debug" } }
ultra_debug
debug
. , buildTypes flavors:
productFlavors { dev { applicationId "com.fa.example.dev" } qa { applicationId "com.fa.example.qa" } prod { // applicationId "com.fa.example" } }
Android Studio Assistant FA. , ?
=) :
com.fa.example.debug com.fa.example.dev.debug com.fa.example.qa.debug
«debug», . .
.
flavors. flavor (, custom
), applicationId
, flavor :
productFlavors { dev { applicationId "com.fa.example.dev" } qa { applicationId "com.fa.example.qa" } prod { // applicationId "com.fa.example" } custom { // applicationId "com.fa.example" } }
, applicationId
. ããã§ã¯ã©ããªããŸããïŒ :
- ( Example , ) .
com.fa.example
.google-services.json
.google-services.json
( ).

google-services.json
. google-services plugin
flavor. google-services.json
, . , google-services.json
app
. .
. , google-services.json
, app/
( flavors ), , . . GA id, FA . ( SO ):
FirebaseOptions options = new FirebaseOptions.Builder() .setApplicationId("bla-bla")
«Missing google_app_id. Firebase Analytics disabled» . Firebase .
google-services
- .
ããŒã¿ãéä¿¡ãã
GA setLocalDispatcher(...)
. . , FA . GA setLocalDispatcher(-1)
, dispatchLocalHits()
. , , , ..
FA , .
setAnalyticsCollectionEnabled(boolean enabled)
, . , , :
<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />
, , :
setAnalyticsCollectionEnabled(true);
. setAnalyticsCollectionEnabled(true)
. :
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
.
FA
FA . . , . StreamView/DebugView ( ):

StreamView, , . Snapshot ( User snapshot ), ( ):

DebugView . - . events properties, , events c properties . , DebugView .
StreamView DebugView .
«» FA
GA, FA, , «», « » .. , , , = . ããããããã¯ããã§ã¯ãããŸããã â , ( foreground). API FA :
setMinimumSessionDuration (long milliseconds);
minimumSessionDuration, . foreground minimumSessionDuration, .
, sessionTimeoutDuration, . , - , ( foreground), sessionTimeoutDuration+ ( , ), .
FA-
Audiences
, , .. ( ):

«» ( ):

, « , ». «» properties «country» = «Russia» «sex» = «male» event «reg_comleted» ( event) = «true».
Funnels
( ):

=)
, GA.
Attribution Cohorts. , , . , .
.
FA. çµè«
. .
é·æïŒ
- FA â . , .
- FA events + BigQuery. FA. . BigQuery, . , «» FA .
- . , , . «». GA - , .
- Firebase. RemoteConfig. , .
çæïŒ
- , . =)
- . , . . . .
, FA . , GA? ?
. . BigQuery. - , , â « », . , . FA + BigQuery. , .
, ! , ! !
PS , =)
PPS . 16 2017 MOSDROID , Android. , . . .