ãã«ããã¬ã€ã€ãŒã®åŠç¿ãšå®è£ ã«1ãæåããããŸããããã®èšäºã§ã¯ããœãŒã¹ã³ãŒãã®äŸã䜿ããã«æŠå¿µã説æããå®è¡ããäœæ¥éããçµã蟌ã¿ãŸãã
ã¡ãã£ãšããæŽå²
ã¢ããªã±ãŒã·ã§ã³ã¯ãMarmalade SDKã䜿çšããŠC ++ã§äœæãããŸããã ãã以æ¥ããã³ããŒã¯ãã®ãã©ãããã©ãŒã ã®ãµããŒããåæ¢ãããã®çš®é¡ãæ¥æ¬ã«è²©å£²ãããã®éçºç°å¢ã®æªæ¥ã¯éåžžã«é§ã«ãªããŸããã
çŸåšã®ãããžã§ã¯ããããã«ãµããŒãããããã«ç§»æ€ãããã®ã«ã€ããŠçåãçããŸããã
ãªãcocos2d-xã§ã¯ãããŸããã
Cocos2d-xã¯ãC ++ã§æãäžè¬çãªã¯ãã¹ãã©ãããã©ãŒã ã¢ãã€ã«ã²ãŒã éçºãšã³ãžã³ã®1ã€ã§ãã ã©ãããããã®ç¡æã§ãªãŒãã³ãœãŒã¹ã®ã³ãŒãã®ããã ãšã³ãžã³ã®ææžåã¯äžååã§ãã 説æã¯ãšã³ãžã³ã®ããããªéšåãã«ããŒããŠãããã»ãšãã©ã®è³æã¯å€ããªã£ãŠããŸãã
ããæéã®çµæã«åºã¥ããŠãã¢ããªã±ãŒã·ã§ã³ã®ãããã¿ã€ããäœæããããšãã§ããŸããã ããããå°è±¡ã¯éåžžã«æªãã£ãïŒããã¯cocos2d-xãèã®äžã«çµã¿ç«ãŠãããŠããããã«æããã æœè±¡åã®ã¬ãã«SceneãSpriteãApplication Delegateã¯ç§ã«ã¯éåžžã«äžå¿«ã«æãããŸããã ããããç§ã®æã¯ééã£ãå Žæããæé·ããŠããŸãã
ç§ã®éžæã¯SDLã«èœã¡ãŸãã
SDL㯠ãMarmalade SDLãšåæ§ã«ããšã³ãžã³ã§ã¯ãªãããã©ãããã©ãŒã ã§ãã ããã¯äœã¬ãã«ã®APIãæäŸããããããç§ã«ãšã£ãŠäŸ¿å©ãªæœè±¡åã¬ãã«ãæ§ç¯ããŸãã ãããã¯ãã¹ãŠCã§èšè¿°ãããŠããããœãŒã¹ã³ãŒãã¯å ¬éãããŠããŸãã
ç°¡åã«èšãã°ãSDLã¯ãã°ã©ãã£ãã¯ã¹ããµãŠã³ããããã³ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã®ã¡ãã»ãŒãžãåŠçããããã®ç¡æã®ã¯ãã¹ãã©ãããã©ãŒã ã©ã€ãã©ãªã§ãã win32ãã«ããäœæããWindowsã§ã²ãŒã ã®ããžãã¯ããããã°ãããšãã¢ãã€ã«ãšãã¥ã¬ãŒã¿ãŒãšç©çããã€ã¹ã®ã¿ãOSåºæã®æ©èœããããã°ã§ãããããéåžžã«äŸ¿å©ã§ãã
幞ããªããšã«ãŸãã¯æ®å¿µãªããšã«ãSDLã¯iOSãAndroidåãã®ãã«ããã¬ã€ã€ãŒã®éçºãªã©ã®çãã¿ã¹ã¯åãã®ããŒã«ãæäŸããŠããªãããã察å¿ãããµãŒãã¹ãšèªåã§çµ±åããå¿ èŠããããŸããã
ãã«ãã¹ã¬ããã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£
ã¢ããªã±ãŒã·ã§ã³ããžãã¯ãšã°ã©ãã£ãã¯ã®ãã¹ãŠã®åäœã¯ãã¡ã€ã³ã¹ã¬ããã§å®è£ ãããŸããã¡ã€ã³ã¹ã¬ããã¯ãã¡ãã»ãŒãžåŠçãµã€ã¯ã«ã§ãããã¡ã€ã³é¢æ°ã§éå§ãããŸãã ãã®ã¹ããªãŒã SDLã¹ã¬ãããåŒã³åºããŸãã 次ã«ãä»ã®ã¹ã¬ããã¯ãåŠçããããã®ã€ãã³ãïŒSDL_PushEventïŒããã¥ãŒã«ã¹ããŒããSDL_WaitEventããã³SDL_PollEventã䜿çšããŠã€ãã³ããèªã¿åããŸãã ãããã¯ãã·ã¹ãã ã«ãã£ãŠã¹ããŒããããã®ãµããŒããSDLã«ãã§ã«å®è£ ãããŠããã·ã¹ãã ã€ãã³ãããŸãã¯SDLæ©èœãè¶ ããŠæ¢ã«å®è£ ãããŠããã³ãŒã«ããã¯ãšãªã¹ããŒã®åŒã³åºãã®ããããã§ãã
ãã¹ãŠã®ã²ãŒã ããžãã¯ã¯C ++ã§èšè¿°ãããŠããŸãã ãããžã§ã¯ããã£ã¬ã¯ããªã«ã¯ã* .cppãã¡ã€ã«ã®ã»ãããå«ãŸããŠããã3ã€ã®ã°ã«ãŒãã«åããããšãã§ããŸãã
- ã¯ãã¹ãã©ãããã©ãŒã -ãã¹ãŠã®ãã©ãããã©ãŒã ã®ã¢ã»ã³ããªã«å«ãŸãããã¡ã€ã«ïŒã²ãŒã ããžãã¯ïŒã
- ã¢ããã©ãããã©ãŒã ãããªãã¡ ããããã®ãã©ãããã©ãŒã ã®ã¢ããªã±ãŒã·ã§ã³ã«å«ãŸããŠããã®æ©èœãå®è£ ããŸãã
ãããã£ãŠãåãã©ãããã©ãŒã ã®èšèšã«ã¯3ã€ã®åå¥ã®ãã£ã¬ã¯ããªããããŸãã
- proj.win32-ãããžã§ã¯ãVS2017 Community Edition;
- proj.android-Gradleã䜿çšããAndroidãããžã§ã¯ãã
- proj.ios-iOSçšã®Xcodeãããžã§ã¯ãã
ãã«ããã¬ã€ã€ãŒãµãŒãã¹ãšã®çµ±å
ããã§ã次ã®ãããªæ©èœãæ åœããå¥ã®ã¬ã€ã€ãŒãæ¥çããå¿ èŠããããŸãã
- 察æŠçžæã®æ€çŽ¢ãã²ãŒã ãžã®æ¥ç¶ã
- ã©ã€ãã«éã®ã¡ãã»ãŒãžã³ã°ã
- ã²ãŒã ã«ãŒã ãåºãã
- ãªãŒããŒããŒãã®ãã¬ã€ã€ãŒãã€ã³ããä¿®æ£ããŸãã
iOSãšAndroidã®äž¡æ¹ã®ãã©ãããã©ãŒã ã¯ããªã¢ã«ã¿ã€ã ãã«ããã¬ã€ã€ãŒïŒRTMPïŒããµããŒãããŠããŸãã Androidã®å ŽåãGoogle Play ServicesïŒGPSïŒãiOSã®å Žåã¯Game Centerãšçµ±åããŸãã 以åã¯ãGoogleã¯iOSãšã®çµ±åããµããŒãããŠããŸããããä»å¹Žã¯ãããæŸæ£ããããšã«ããŸããã
ãã®èšäºã§ã¯ããã«ããã¬ã€ã€ãŒãæ§æããããã«Google Playã³ã³ãœãŒã«ãšAppStoreConnectã§å®è¡ããå¿ èŠãããã¢ã¯ã·ã§ã³ã«ã€ããŠã¯èª¬æããŸãããã¯ã©ã¹ãšçµ±åã¡ãœããã®ä»æ§ã«ã€ããŠã¯èª¬æããŸããããããã¯ãã¹ãŠãã³ããŒã®ãµã€ãã§èª¬æããŸãã
次ã«ãåãã©ãããã©ãŒã ã®ãããžã§ã¯ãã§è¡ãå¿ èŠãããå€æŽãç°¡åã«èª¬æããŸãã
Android
ã©ããã£ãŠïŒ ç§ã¯ãŸã ãããèšã£ãŠããŸãããïŒ Android NDK㯠ãC ++ã³ãŒãã®ã³ã³ãã€ã«ã«äœ¿çšãããŸãã ãã ããAndroidéçºè ã§ããã°ããã§ã«ç¥ã£ãŠããŸãã
Google Play ServicesãAndroidãããžã§ã¯ãã«çµ±åããããã®äžè¬çãªæé ã¯ãAndroidéçºè åãã®ãµã€ãã§èª¬æãããŠããŸãã ç§ã®ãããžã§ã¯ãã§ã¯ã次ã®äŸåé¢ä¿ã䜿çšããŸãã
implementation 'com.google.android.gms:play-services-games:16.0.0' implementation 'com.google.android.gms:play-services-nearby:16.0.0' implementation 'com.google.android.gms:play-services-auth:16.0.1'
æåã¯ããœãŒã¹ãªãã§ã³ã³ãã€ã«ãããéçã©ã€ãã©ãªã®åœ¢åŒã§æäŸãããC ++ APIã䜿çšããããšã§ããã ã©ã€ãã©ãªã®ãªã¹ãã«x86_64ãã©ãããã©ãŒã çšã®ã¢ã»ã³ããªããªããšããäºå®ã®ãããGoogleã®ã¹ã¿ããã¯ãã®SDKã®é¢é£æ§ãå®éã«ç£èŠããªããšå€æãã JNIã©ãããŒã§ã©ããããŠãã®å±€ãJavaã§èšè¿°
ã¬ã€ããšããŠã Google Samplesã®è¯ãäŸã䜿çšããŸããã googleã«æè¬ããŸãã ã¢ããã«ãã°ãŒã°ã«ããäŸãæããŠãã ããïŒ
iOS
Game Centerãšçµ±åããã«ã¯ãGameKitãã¬ãŒã ã¯ãŒã¯ãæ¥ç¶ããå¿ èŠããããŸãã Game Centerãšã®çµ±åã¬ã€ã€ãŒå šäœã1ã€ã®* .mãã¡ã€ã«ã§èšè¿°ããå¥ã®* .hãã¡ã€ã«ãä»ããŠã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãã C ++ã¯Objective-Cèšèªã®ãµãã»ããã§ããããã1ã€ã®ãããžã§ã¯ãã§ã®* .cppããã³* .mãã¡ã€ã«ã®ã¢ã»ã³ããªã«åé¡ã¯ãããŸããã
å ¬åŒããã¥ã¡ã³ãã«å ããŠã圌ã¯ãã®ãããžã§ã¯ãGameCenterManagerã®ã¬ã€ããåããŸããã 確ãã«ããã®äŸã®äžéšã¯ãã§ã«å€ããªã£ãŠããŸããXcode10ã¯ããã瀺ããå€ãæ©èœãæ°ããæ©èœã«çœ®ãæããŸãã
ãã«ããã¬ã€ã€ãŒã¬ã€ã€ãŒã§ã®äœæ¥ã®åå
åäžã®ãšã³ããªãã€ã³ã
äž¡æ¹ã®ãã©ãããã©ãŒã ã§ãã«ããã¬ã€ã€ãŒã䜿çšããæ©èœãç 究ããåŸãã¢ããªã±ãŒã·ã§ã³çšã«åäžã®C ++æœè±¡åãäœæããã³ã³ãã€ã«æã«ã察å¿ããå®è£ ãç¹å®ã®ãã©ãããã©ãŒã ã«å¿ããŠãé©åãããããã«ããŸããã ã€ãŸããç§ã®ã¢ããªã±ãŒã·ã§ã³ã¯ãGoogle Play ServicesãGame Centerãããã³ãããã®æ©èœã«ã€ããŠã¯ç¥ããŸããã æäŸãããC ++ APIã®ã¿ãèªèããŸããããšãã°ã次ã®ãããªã¡ãœããããããŸãã
SignIn() // SignOut() // LeaveRoom() // SendMessage(...) // ShowLeaderboards() // SubmitScore(...) // ...
çžæãæ¢ã
ãã¬ãŒã€ãŒã¯ãé£çµ¡å ã®ãªã¹ãããå人ãæåŸ ããããã©ã³ãã ãªçžæãšã²ãŒã ãéå§ã§ããŸãã æåŸ ãåãããã¬ãŒã€ãŒã¯ãæåŸ ãåãå ¥ãããæåŠããããšãã§ããŸãã ãããã®ãã¹ãŠã®ã·ããªãªã§ã¯ã䜿çšãããµãŒãã¹ã®æšæºã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŸãã Googleã®éå£ã¯iOS iOSããããã£ãšèŠæ ããè¯ãããšã«æ³šæããŠãã ããã ãã€ãç§ã®æãå±ããããããè¥ã女æ§ãšã®ã€ã³ã¿ãŒãã§ãŒã¹ãæžããããããŸããã
ã²ãŒã ã«ãŒã ã«æ¥ç¶ãã
2人ã®ãã¬ã€ã€ãŒãä»®æ³ã²ãŒã ã«ãŒã ã«æ¥ç¶ãããšã察å¿ããã³ãŒã«ããã¯ãåãåããŸãã 次ã«ããã¹ããšãªããŠãŒã¶ãŒãéžæããå¿ èŠããããŸãã
ãã¹ãéžæ
ãã¬ã€ã€ãŒã®äžãããã¹ããéžæããã²ãŒã ã®åæç¶æ ã決å®ããå¿ èŠããããŸãã
äžè¬çãªå Žåããã¬ãŒã€ãŒéã§ã¡ãã»ãŒãžãã«ãŒãã£ã³ã°ããå¯èœãªæ¹æ³ãæ€èšããŠãã ããã 第ïŒã®å®æœåœ¢æ ã§ã¯ããã¹ãã«ã¯ã«ãŒã¿ã®åœ¹å²ãå²ãåœãŠãããŠããããšã«çæããããã
ã²ãŒã ã«ã¯åžžã«2人ã®ãã¬ã€ã€ãŒããããªãããããã¢ããŒãã¢æ¥ç¶ã®ç¹æ®ãªã±ãŒã¹ãããããšãããããŸããã ãããã£ãŠãåæç¶æ ã®å®çŸ©ã®ã¿ããã¹ãã®åœ¹å²ãã€ãŸããåèªãæ§æããåèªã®éžæã«åœãŠã¯ãŸããŸãã
ãã®ããããã¬ãŒã€ãŒãã²ãŒã ã«ãŒã ã«æ¥ç¶ããåŸãåãã¬ãŒã€ãŒã¯éå§ããã²ãŒã ã®åå è ã®èå¥åã®ãªã¹ããç¥ã£ãŠããŸãã ãããParticipantIDã®ãªã¹ããšåŒã³ãŸãã ParticipantIDã¯ãã²ãŒã åå è ã®ç¹å®ã®äžæã®æååèå¥åã§ããããµãŒãã¹ã«ãã£ãŠå²ãåœãŠãããŸãã ããªãã¯ãããã®ã©ãããã¹ãã«ãªãããéžæãããã¹ãèªèº«ã«æã£ãŠããŠãçžæããã¹ããšããŠéžæãããŠããããšãçžæã«äŒããå¿ èŠããããŸãã ã©ããã£ãŠããã®ïŒ
Androidãã¹ãã®éžæ
Google Dockã§ãã¹ããéžæããéã®ã¢ããã€ã¹ã¯èŠã€ãããŸããã§ããã 圌ãã¯æ²é»ããŠããããã«ãã¶ã³ã ãããã stackoverflow.comã®åè¯ãªäººã ã¯ã次ã®ååã詳现ã«èª¬æãããããªãžã®ãªã³ã¯ãæããŸããã
- ååå è ã¯ãparticipantIDãªã¹ãã䞊ã¹æ¿ããŸãïŒæé ãŸãã¯éé -éèŠã§ã¯ãããŸãããäž»ãªããšã¯ãå šå¡ãåãé åºã§äžŠã¹ãããšã§ãïŒã
- ååå è ã¯ãåå è IDããªã¹ãã®æåã®åå è IDãšæ¯èŒããŸãã
- ããããäžèŽããå ŽåãçŸåšã®ãã¬ã€ã€ãŒã¯èª°ããã¹ãã«ãªãããéžæããæš©å©ãäžããããŸãã 圌
ã¯ã³ã€ã³ãæããã©ã³ãã ïŒïŒãåŒããŠæ¢åã®åå è ãããã¹ããéžæãããã¹ãã§ãããã¹ãŠã®äººã«äŒããŸãã
iOSã§ã®ãã¹ãéžæ
iOSã«ã¯ã chooseBestHostPlayerWithCompletionHandlerã¡ãœããããããŸããããã¯ãAndroidã«ã€ããŠèª¬æãããã®ãšæ¯èŒããŠããã¹ãéžæã·ããªãªãå€§å¹ ã«ç°¡çŽ åããŸãã ãã ãããã®ã¡ãœããã®åŒã³åºãäžã®é¡èãªé 延ã«ãã£ãŠå€æãããšããããã¯ãŒã¯ã®å¿çãã©ã¡ãŒã¿ãŒãæšå®ããpingã枬å®ãããããã®çµ±èšã«åºã¥ããŠèª°ããã¹ãã«ãªããã決å®ããŸãã ããã¯ããã¹ããã«ãŒã¿ãŒãšããŠæ©èœããäžèšã®ã¯ã©ã€ã¢ã³ã/ãµãŒããŒã¢ãŒããã¯ãã£ã«ããé©ããŠããŸãã ãã©ã€ããŒããã¢ããŒãã¢æ¥ç¶ã®ç§ã®ããŒãžã§ã³ã§ã¯ãããã¯æå³ããããŸãããæéãç¯çŽããããã«ãAndroidã§è¡ã£ãã®ãšåæ§ã®ååã䜿çšããŸãã
ãã¬ã€ã€ãŒéã®ã¡ãã»ãŒãžã³ã°
ã¡ãã»ãŒãžãšã¯äœã§ããïŒ ã¡ãã»ãŒãžã¯ãã€ãã®é åã§ãã
- Javaã§ã¯ãããã¯ã¿ã€ãã§ãïŒ
byte[]
- Objective-Cã§ã¯ãããã¯æ¬¡ã®ãšããã§ãã
NSData *
- C ++ã§ã¯ãäžèšã®ãã¹ãŠããããã³ã°ããŸã
std::vector<Uint8>
éä¿¡ã¡ãã»ãŒãžã«ã¯2ã€ã®ã¿ã€ãããããŸãã
- ä¿¡é Œæ§-ãã¥ãŒãä»ããä¿èšŒä»ãé ä¿¡ã éèŠãªã¡ãã»ãŒãžãé ä¿¡ããããã«äœ¿çšãããŸãã
- ä¿¡é Œã§ããªã-ä¿èšŒãããŠããªãé éã é ä¿¡ã®æåãç¡èŠã§ãã䜿çšæžã¿ã¡ãã»ãŒãžã
Unreliableã¯äžè¬ã«Reliableãããéãé ä¿¡ãããŸãã 詳现ã«ã€ããŠã¯ããã³ããŒã®Webãµã€ããã芧ãã ããã
- Google Play ServicesïŒãªã¢ã«ã¿ã€ã ãã«ããã¬ã€ã€ãŒ
- Game Centerããã°ã©ãã³ã°ã¬ã€ãïŒãªã¢ã«ã¿ã€ã ããã
ãã®é åãã©ã®ããã«äœ¿çšããŸããïŒ éåžžã«ã·ã³ãã«ïŒ
- æåã®ãã€ãã«ãã¡ãã»ãŒãžã®ã¿ã€ããæžã蟌ã¿ãŸãã
- ã¡ãã»ãŒãžã«ãã©ã¡ãŒã¿ãããå Žåã次ã®ãã€ãã«ããããå ¥ããŸãã è¿œå ã®ã¡ãã»ãŒãžã®çš®é¡ããšã«ã ãã©ã¡ãŒã¿ãã·ãªã¢ã«åããã³éã·ãªã¢ã«åã®æ©èœãå®è£ ããŸãã
- ã¡ãã»ãŒãžã®æåŸã«æŽåæ§ããã§ãã¯ããããã«ãã§ãã¯ãµã ãå ¥ããŸãã
ãã®ãããã²ãŒã äžã«ãã¬ã€ã€ãŒãçžäºã«äº€æããã¡ãã»ãŒãžã®ã¿ã€ããåæåã§å®çŸ©ããŸãã
- ç§ã¯ãã¹ãã«éžã°ããŸããã åæç¶æ ãäŒããŸãã ããã§ç§ã®åãïŒãã©ã¡ãŒã¿ãŒïŒã¡ãã»ãŒãžã³ã°ãããã³ã«ã®ããŒãžã§ã³çªå·ããœãŒã¹ã¯ãŒãïŒ;
- ãã¹ãã«ãã£ãŠéžæãããŸãã ããªãããã®ã䟿ãã楜ãã¿ã«ããŠããŸãã
- ç§ã¯ãã®èšèãéããŸãïŒåŒã³ãŸãïŒã ä»åºŠã¯ããªãã®çªã§ãïŒãã©ã¡ãŒã¿ãŒïŒååä»ãã®åèªïŒ;
- ãããããŸãã ããªãã¯åã¡ãŸããã
- 移åäžã«äžèšãèšããŸããã§ããã ããªãã¯åã¡ãŸããã
- ç§ã¯åŸ©venã«åæããŸãã
- ã²ãŒã ãçµäºããŸããã
- ã¡ãã»ãŒãžã®è§£æãšã©ãŒã åæãããŸããã
- ã¡ãã»ãŒãžã³ã°ãããã³ã«ã®ããŒãžã§ã³ãå€ããªã£ãŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã®æŽæ°ã確èªããŠãã ããã åæãããŸããã
- ã¡ãã»ãŒãžã³ã°ãããã³ã«ã®ç§ã®ããŒãžã§ã³ãå€ããªã£ãŠããŸãã ã¢ããããŒãã確èªããå¿ èŠããããŸãã åæãããŸããã
- PingïŒã·ã¹ãã ã¡ãã»ãŒãžïŒ;
ã¢ããªã±ãŒã·ã§ã³ãçžæããçä¿¡ã¡ãã»ãŒãžãåä¿¡ãããšã察å¿ããã³ãŒã«ããã¯ãåŒã³åºãããåŠçã®ããã«ã¡ã€ã³SDLã¹ã¬ããã«ã¡ãã»ãŒãžãæž¡ãããŸãã
æ¥ç¶ç£èŠ
ã²ãŒã ãµãŒãã¹ïŒGoogleã®ãµãŒãã¹ãAppleã®ãµãŒãã¹ïŒã«ã¯ãäœããã®åœ¢ã§ãçžæããã®åæãéç¥ããããã«èšèšããããªã¹ããŒæ©èœããããŸãã ãããããã¬ãŒã€ãŒã®1人ãã€ã³ã¿ãŒãããããåæãããŠããå Žåã2çªç®ã®ãã¬ãŒã€ãŒã¯ãæåã®ãã¬ãŒã€ãŒãåæããã誰ããã¬ã€ããŠããªãããšãããã«ã¯ç¥ããŸããã ãã®ãããªå Žåãã³ãŒã«ããã¯ã¯åŒã³åºãããªãããããªãé·ãæéåŸã«åŒã³åºãããŸãã ãã®å Žåã2çªç®ã®ãã¬ã€ã€ãŒã¯å±±ã§ã¬ã³ãå£whiãå¹ãã®ãåŸ ããªãããã«ãæ¥ç¶ã®ç£èŠãç¬èªã«è¡ããååã«åºã¥ããŠäœæ¥ããå¿ èŠããããŸããã
- åãã¬ã€ã€ãŒã¯1ç§ããšã«çžæã«pingã¡ãã»ãŒãžãéä¿¡ããŸãã
- åãã¬ã€ã€ãŒããã§ãã¯ããŸãïŒçžæãã5ç§ä»¥äžã¡ãã»ãŒãžããªãã£ãå Žåãæ¥ç¶ã倱ãããã²ãŒã ãçµäºããŸãã
çµæ
ä»äºã®çµæãå人ã家æãšäžç·ã«ãã¬ã€ããã²ãŒã ãæã«å ¥ããŸããã iOSãšAndroidã®äž¡æ¹ã§ãã¬ã€ããŠããŸãã
確ãã«ãiOSã«ã¯åŸ®åŠãªéãããããŸã-äœããã®çç±ã§ããªãŒããŒããŒãã§ã¡ã¬ããåºå®ãããŠããŸãããããã«ã€ããŠã¯ãçŸåšAppleãµããŒãã«å¯Ÿå¿ããŠããŸãã
ãã®èšäºãç§ã®ããŒã ã®ã¡ã³ããŒãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã«èå³ã®ãã人ã®äž¡æ¹ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã ãæž èŽããããšãããããŸããã