GCMãµãŒããŒãããã·ã¥ãµãŒããŒãããã³ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããŠããããã€ã¹ã«çŽæ¥æ¥ç¶ããŸãã æäœã¢ã«ãŽãªãºã ã¯ç°¡åã§ããããã€ã¹ã¯GCMã«ç»é²ãã registrationIdïŒå°æ¥äœ¿çšãããããŒã¯ã³ïŒãåä¿¡ããŸããããã¯ããŒã«ã«ã«ä¿åããããµãŒããŒã«éä¿¡ãããŸãã 次ã«ãããã·ã¥ãµãŒããŒã¯ãã®registrationIdã䜿çšããŠãããã€ã¹äžã®ã¢ããªã±ãŒã·ã§ã³ã«ã¡ãã»ãŒãžãéä¿¡ããŸãã
ãã®èšäºã§ã¯ãå³ã«ç€ºãããŠãã2ã€ã®é åã®åé¡ã«ã€ããŠèª¬æããŸããããã·ã¥ãµãŒããŒ-GCMããã³GCM-ããã€ã¹ã§ãã
GCMãµãŒããŒããã®ãšã©ãŒåŠç
ã¡ãã»ãŒãžãæ£åžžã«éä¿¡ããããšãããã·ã¥ãµãŒããŒã¯GCMããã¹ããŒã¿ã¹ã³ãŒã200ããã³ãŒã以å€ã®message_idãå«ãå¿çãåä¿¡ããŸãã
ãšã©ãŒã¯ã200ã®ã¹ããŒã¿ã¹ã³ãŒãã§å¿çæ¬æã«å«ãŸããŸãããããã£ãŠã200ã®ã¹ããŒã¿ã¹ã³ãŒãã®ã¿ã«äŸåããã ãã§ã¯ååã§ã¯ãããŸããã ããã§ã¯ãæãéèŠãªãšã©ãŒã®1ã€ã§ããNotRegisteredã®äŸã瀺ããŸãããä»ã®ãšã©ãŒã¯ããã»ã©éèŠã§ã¯ãããŸããã ã»ãšãã©ã®å Žåãããã·ã¥ãµãŒããŒãã¡ãã»ãŒãžãéä¿¡ããã¢ããªã±ãŒã·ã§ã³ãåé€ãããããã¢ããªã±ãŒã·ã§ã³ãæ¢ã«å¥ã®registrationIdã䜿çšããŠãããäœããã®çç±ã§ããã·ã¥ãµãŒããŒããããèªèããŠããªãããšãæå³ããŸãã GCMãããã®ãããªå¿çãåãåã£ãããã·ã¥ãµãŒããŒã¯ããã®registrationIdããªããžããªããããã«åé€ããå¿ èŠããããŸãã
ãšã©ãŒãç£èŠããã«ã¯ãéçºè ã³ã³ãœãŒã«ã§GCMçµ±èšãæ¥ç¶ããŸãã
ã¯ã©ã€ã¢ã³ããšããã·ã¥ãµãŒããŒã§ã®RegistrationIdåæ
RegistrationIdã¯ãGCMã€ã³ãã©ã¹ãã©ã¯ãã£ã®æãéèŠãªéšåã®1ã€ã§ãã ã¯ã©ã€ã¢ã³ããšããã·ã¥ãµãŒããŒéã®description registrationIdã¯æ²ããçµæããããããŸãã ãŠãŒã¶ãŒãããã·ã¥éç¥ãªãã§æ°žä¹ ã«æŸçœ®ãããå¯èœæ§ããããŸãã GCMã¯ãäœããã®çç±ã§ããã€ã¹äžã§registrationIdãæŽæ°ããããšãã®ç¶æ³ãç£èŠãã canonical_idsãã©ã¡ãŒã¿ãŒã䜿çšããŠãããããã·ã¥ãµãŒããŒã«å ±åããŸãã
canonical_idsã®å Žåã¯ã次ã®ããã«åçŸã§ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãã
- 圌ã«ã¡ãã»ãŒãžãéã
- ã¢ããªã±ãŒã·ã§ã³ãã¢ã³ã€ã³ã¹ããŒã«ãã
- ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãã
- 圌ã«ã¡ãã»ãŒãžãéã
æé 5ã§ã¡ãã»ãŒãžãéä¿¡ããåŸã canonical_idsãã©ã¡ãŒã¿ãŒã1ã§ãããã«æ°ããregistrationIdã GCMããè¿ãããã¯ã©ã€ã¢ã³ãã§æ¢ã«å®å šã«äœ¿çšãããŠããŸãã
ãã®ãããªåçãåãåã£ãããã·ã¥ãµãŒããŒã¯ãåã«registrationIdãå¿çããã®å€ã«æŽæ°ããå¿ èŠããããŸãã ãããè¡ããªããšããã°ããã®éã¡ãã»ãŒãžãã¯ã©ã€ã¢ã³ãã«å±ããå€ãregistrationIdã¯æå¹ã«ãªããŸãããé ããæ©ããGCMã¯NotRegisteredãšã©ãŒã§å¿çãããã®åŸããã·ã¥ãµãŒããŒã¯registrationIdãåé€ãããŠãŒã¶ãŒã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã·ã¥éç¥ãæ°žä¹ ã«å¿ããŸãã ã ãããã£ãŠã canonical_idsãã©ã¡ãŒã¿ãŒãåŠçãã眪ãç¯ããªãã§ãã ããã
GCMã䜿çšãã2ã€ã®äž»ãªã¢ãããŒã
æåã¯ãã€ããŒãã®ããã¡ãã»ãŒãžã§ãã ãã®æ¬è³ªã¯ãã¡ãã»ãŒãžèªäœã§ããã€ãã®æçšãªæ å ±ãéä¿¡ããããšã§ãã ããšãã°ãã¡ãã»ã³ãžã£ãŒã§ã¯ã¡ãã»ãŒãžã®ããã¹ãããã¥ãŒã¹ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã¥ãŒã¹èªäœã«ãªããŸãã 2çªç®ã®ã¡ã«ããºã ã¯Send-to-Syncã§ãã 次ã®ããã«ããã©ãã£ãã¯æ¶è²»ã«å¯ŸããŠããæé©åãããŠããŸã ã¡ãã»ãŒãžèªäœã¯å€§éã®ããŒã¿ãããã¯ããŸããã ãã®ã¡ãã»ãŒãžã¯ãã¢ããªã±ãŒã·ã§ã³ããµãŒããŒããææ°ã®ããŒã¿ãåéããå¿ èŠããããšããã·ã°ãã«ãšããŠæ©èœããŸãã 2çªç®ã®ã¢ãããŒãã¯ã collapse_keyãã©ã¡ãŒã¿ãŒã«çŽæ¥é¢é£ããŠããŸãã
ãã€ããŒããå«ãã¡ãã»ãŒãž
çæ³çãªç¶æ³ã¯ãããã€ã¹ãGCMãµãŒããŒã«æ¥ç¶ããŠãããšãã«ãã¡ãã»ãŒãžãéä¿¡ãããããã€ã¹ã«æ£åžžã«é ä¿¡ãããããšã§ãã æ¥ç¶ããªãïŒããšãã°ã身åããåããªãããŸãã¯å°äžéã«å ¥ã£ãïŒããã®æç¹ã§ã¡ãã»ãŒãžãåä¿¡ããŠââããå Žåããããã¯GCMã¹ãã¬ãŒãžã®ç¹å®ã®ãã¥ãŒã§åœ¢ã«ãªãå§ããŸãã ãã®ãã¥ãŒã¯ç¡éã§ã¯ãªããå¶éã¯100ã¡ãã»ãŒãžã§ãã 101åã®ã¡ãã»ãŒãžãå°çãããšããã«ããããã¯ãã¹ãŠåé€ãããèç©ãããªããªããŸãã ããã€ã¹ããããã¯ãŒã¯ããã£ããããGCMãšã®æ¥ç¶ã確ç«ãããšã345åã®ã¡ãã»ãŒãžãªã©ãåé€ããããšããæ å ±ãã¢ããªã±ãŒã·ã§ã³ã«éãããŸãã
ãã®ãããªæå³ãåãåã£ãã®ã§ãããªãã¯æ ããããŠãæ°é®®ãªããŒã¿ã®ããã«ãµãŒããŒã«è¡ãå¿ èŠã¯ãããŸããã ãã以å€ã®å ŽåããŠãŒã¶ãŒã¯æ¬¡ã®ããã·ã¥éç¥ãå°çãããšãã«ã®ã¿ãããã衚瀺ãããããå°çãããšãã«ã¯èª°ãç¥ããŸããã ããã¯ãããã€ããŒãã®ããã¡ãã»ãŒãžãã¢ãããŒããå®è£ ããéã«çæãã¹ãéåžžã«éèŠãªãã€ã³ãã§ãã
åæã«éä¿¡
collapse_keyã䜿çšãããšããŸãããã ããã¯ç¹å®ã®å®æ°ã§ããããã®ãã¡1ã€ã®registrationIdã«ã¯4ã€ãŸã§ããæå®ã§ããŸããã ã¢ããªã±ãŒã·ã§ã³ã®1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã ããšãã°ããã¥ãŒã¹ã¢ããªã±ãŒã·ã§ã³ã¯ããŸããŸãªãµãŒãã¹ããããã€ãã®ããŒã¿ãåéããŸãã 1å°ã®ãµãŒããŒã§ã¹ããŒããã¥ãŒã¹ããã1å°ã®ãµãŒããŒ-æåã3å°ç®-æ¿æ²»ã4å°ç®-è»ã玹ä»ããŸãããã ãã¡ããã5çªç®ã®ãµãŒãã¹ã衚瀺ããããšãã«åé¡ãçºçããŸãããããã¯ãã€ã³ãã§ã¯ãããŸããã é©åãªã»ã¯ã·ã§ã³ã«ã¡ãã»ãŒãžãéä¿¡ããéã«ã collapse_keyã䜿çšã§ããŸãïŒsportãcultureãpolicyãautoã
次ã®ã¡ãã»ãŒãžãåãcollapse_keyã§å°çãããšã GCMã¯å€ãã¡ãã»ãŒãžãæ°ããã¡ãã»ãŒãžã«çœ®ãæããŸãã ååãšããŠãããã¯è«ççã§ãããªããªã Send-to-Syncã¢ãããŒãã®ã¡ãã»ãŒãžã¯ãæ°ããããŒã¿ãååŸããããã«ãµãŒããŒã«ã¢ã¯ã»ã¹ããå¿ èŠããããšããã¢ããªã±ãŒã·ã§ã³ãžã®åãªãã·ã°ãã«ã§ããããšãèŠããŠããŸãã ããããããã§1ã€ã®äžå¿«ãªç¬éã«çŽé¢ããŸããããã®ãããSend-to-Syncã¢ãããŒããæŸæ£ããªããã°ãªããŸããã§ãã-éæ©ã GCMãµãŒããŒã¯ãåãcollapse_keyã䜿çšããŠã§ããã ãå€ãã®ã¡ãã»ãŒãžãåéããããã«ãã°ããåŸ ã€ããšãã§ããŸãã ãã¹ãŠã¯åé¡ãããŸããããããã«ãããã¡ãã»ãŒãžã®ã¯ã©ã€ã¢ã³ããžã®é ä¿¡ã«é 延ãçãïŒ30åãã1åã®é 延ã«æ°ä»ãïŒãã¡ãã»ã³ãžã£ãŒãªã©ã®äžéšã®ã¿ã€ãã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯åãå ¥ããããŸããã
ãã®é 延ã®ããã collapse_keyã®äœ¿çšãåæ¢ããŸãã ã ã¢ããªã±ãŒã·ã§ã³ã§ã¡ãã»ãŒãžé ä¿¡ã®ããããªé 延ãéèŠã§ãªãå Žåã¯ãSend-to-Syncã¢ãããŒããé©åãªéžæã§ãã
æéãçµã€ã«ã€ããŠãããã·ã¥ãµãŒããŒã®å®è£ ã§äžèšã®ãã¹ãŠã®è©³çŽ°ãèæ ®ããŸããã ãããããŸã 次ã®å 容ã®ã¬ãã¥ãŒãå€æ°ãããŸããããæ°ããã¡ãã»ãŒãžã¯ãã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ãããšãã«ã®ã¿è¡šç€ºãããŸãã å®è¡ãããŠããªããšãã¯ãã¡ãã»ãŒãžãå±ããŸãã!!!â æåã¯ãäž»èŠãªä»®èª¬ã¯ãããã€ã¹ãšããã·ã¥ãµãŒããŒã«ä¿åãããŠããdesync registrationIdã§ããã ããã確èªããããã«ãããã€ã¹ã®ãã§ãã¯ãè¡ããŸããããã®æ¬è³ªã¯ãã¢ããªã±ãŒã·ã§ã³ãããã·ã¥ãµãŒããŒã«å®æçã«å°ããããšã§ããïŒãç§ã®registratioinIdãæã£ãŠããŸããïŒã çããã¯ããã¯ãregistrationIdãé¢é£ããå¯èœæ§ãé«ãããšãä¿èšŒããŸãã
çµ±èšã«ãããšãçãã¯ãã¯ãã99.7ïŒ ã§ãã ããã«ããããã¹ãŠãregistrationIdåæã§æ£åžžã§ãããšçµè«ä»ããããšãã§ããŸããã ããã€ã¹ãšGCMã®éã®é åã§åé¡ãæ¢ãå§ããŸããã Samsung S4ã§ãSamsungãèš±ããŠãç»é¢ããªãã«ããŠãã¡ãã»ãŒãžãé·ãé 延ïŒçŽ10ã15åïŒã§å°çãå§ããç¶æ³ãç¹°ãè¿ãèŠãŸããã ååã§ãããããã¯ãŒã¯ç®¡çè ã®å©ããåããŠãããã€ã¹ãšGCMéã®TCPæ¥ç¶ãã¢ã€ãã«ç¶æ ã«ãªãããã±ããã®éä¿¡ãåæ¢ããããšãããããŸããã ãã®ãã¹ãŠã®çç±ã¯ããããããããŒãããŒããã§ãã ãããŒãããŒããã¯ãããã€ã¹ãšGCMã®éã®TCPæ¥ç¶ãã埩掻ããããããã«ãäžå®ã®æéééã§1åã·ã¹ãã ããéä¿¡ãããpingã§ãïŒè©³çŽ°ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ïŒã
ãããŠãããŒãããŒããéä¿¡ãããééã¯éåžžã«é·ãã§ãã 2014幎8æã«ã¯8åã«ççž®ãããããã§ãããæ å ±ã¯äžæ£ç¢ºãããããŸããã ã€ã³ã¿ãŒãããã¯ããããããããã·ã¥ãã£ã¯ãµãŒãã§äœ¿çšããããœãªã¥ãŒã·ã§ã³ãæäŸããŸãã ãã®æ¬è³ªã¯ãããŒãããŒããã±ããã®éä¿¡ãæåã§éå§ããããšã§ãã ããããæ®å¿µãªããããã®ãœãªã¥ãŒã·ã§ã³ã¯ã«ãŒãããã€ã¹ã§ã®ã¿æ©èœããŸãã
GCMã§ãµããŒããããŠãããã¹ãŠã®ããã€ã¹ïŒAndroidäžã®äžåœã®iPhoneãé€ãïŒã§ã€ã³ã¹ã¿ã³ãã¡ãã»ãŒãžé ä¿¡ãå®çŸãã楜芳çæ段ã¯ããŸããŸãå°ãªããªã£ãŠããŸãã ãããŠãã¡ãã»ãŒãžé ä¿¡ã®é 延ã«é¢ããåé¡ã解決ããå¿ èŠããããŸãã ã»ãŒå®å®ããã¡ãã»ãŒãžé ä¿¡ãä¿èšŒã§ããå¯äžã®ããšã¯ããµãŒããŒãžã®ç¬èªã®æ¥ç¶ãç¶æããããšã§ãã ãããããŸããããã·ã¥ã¡ãã»ãŒãžã®é 延ã«åé¡ãããããã€ã¹ãç¹å®ããæ¹æ³ãåŠã³ãããšæããŸãã ãã®ç®çã®ããã«ãçµ±èšãæ®åœ±ããŸããããã®æ¬è³ªã¯ãããã·ã¥å°çã®æéãšããµãŒããŒäžã®ã¯ã©ã€ã¢ã³ããããŒã¿ãæºåã§ããæéïŒããã·ã¥ãéä¿¡ãããæéïŒã®å·®ãæ¯èŒããããšã§ãã ãŸããçµ±èšã«ãããšããŠãŒã¶ãŒã®çŽ20ïŒ ãã¡ãã»ãŒãžã®é ä¿¡ã«é ãããšã£ãŠããŸãã ããããããã¯ããã倱瀌ã§ãããªããªã ãããã¯ãŒã¯ã®æ倱ãªã©ã®ã±ãŒã¹ã¯èæ ®ãããŸããã çŸåšã次ã®ã¢ã«ãŽãªãºã ã®å®è£ ãæ€èšããŠããŸãã
- ãã®ããã€ã¹ã«é 延ããããã©ãããå€æããŸãã
- ã¯ãã®å Žåãããã¯ãšã³ããµãŒããŒãšã®äžå®ã®æ¥ç¶ãç¶æãå§ããŸããããã-GCMã®ã¿ã䜿çšãç¶ããŸãïŒããããªãŒãç¯çŽããããïŒã
ç§ã®é ãã10åããããŸããã ãã«ã¿ããããå€ããã倧ããå Žåãç¬èªã®æ¥ç¶ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãåäœã¢ãŒãã«åãæ¿ããŸãã
å®éšç®çã§ãhttpãã³ã°ããŒãªã³ã°æ¥ç¶ã«ãã£ãŠç¬èªã®æ¥ç¶ãå®è£ ãããŸããã ããã¯ãè©Šããããã®æéã®æ¹æ³ã§ããã ãã®ãããªã¢ã»ã³ããªã¯ãã¡ãã»ãŒãžã®é ä¿¡ãšããããªãŒã®æ¶è²»ãç£èŠããèŠæ±ãšãšãã«ãããŒã¿ãŠãŒã¶ãŒã®äžéšã«éä¿¡ãããŸããã äžè¬ã«ãå¥åŠãªããšã«ãããããªãŒæ¶è²»ã®å¢å ã«æ¥æ¿ãªå€åã¯ãªãããŠãŒã¶ãŒã¯ã¡ãã»ãŒãžé ä¿¡ã®é床ã«æºè¶³ããŠããŸãã ããã¯ãšã³ããµãŒããŒãžã®ç¬èªã®æ¥ç¶ãå®è£ ãããããã¯ã¯ãå¥ã®èšäºã«å€ãããã®ã§ãããå®è£ èªäœã«ã€ããŠã¯åŒãç¶ãæ€èšããŸãã
ãã®èšäºãæçšã§ãããGCMãµãŒãã¹ã䜿çšããéã®æéãççž®ããããšãæã¿ãŸãããŸããã¢ããªã±ãŒã·ã§ã³ã§ã¯ã©ã€ã¢ã³ããžã®ã¡ãã»ãŒãžé ä¿¡é床ã®åé¡ã解決ããç§ã®çµéšãå ±æã§ããããšãå¬ããæããŸãã
PSãããã°ã®ããã«ããã¹ãããã·ã¥ãµãŒããŒãäœæããŸããã誰ãã圹ã«ç«ã€ãããããŸããã ãœãŒã¹ã³ãŒãã¯ãã¡ãã§ãã