https://github.com/flutter/plugins/pull/656ãåç §ããŠãã ãã
ããããã¢ããªã®1ã€ãFlutterã«åãæ¿ããŠããªãäž»ãªçç±ã®1ã€ã§ãããããã¯ã°ã©ãŠã³ãã®äœçœ®è¿œè·¡ã¯å¿ é ã§ãã ãããè»éã«ä¹ããŠãããŠããããšãïŒ
ç§ãããã調ã¹ãŠããŸãã ããã¯ã°ã©ãŠã³ãGPS远跡èŠä»¶ãåããäŒæ¥ç°å¢ã§ã¢ããªãæ§ç¯ãããã flutter / pluginsïŒ656ïŒäžèšïŒã¯ãŸã Pubã«ãããŸããããiOSã®ã¿ããµããŒãããŠããŸãã
æŽæ°ãããå Žåã¯ããã®ã¹ã¬ããã賌èªããŸãã
ç§ã¯ãã¢ããªãéãããšãã«å®è¡ããããã®Googleãµã³ãã«ã«åºã¥ããŠãïŒå°ãªããšãAndroidã§ã¯ïŒç¬èªã®å®è£ ãäœæããããšã«ãªããŸããã
äœçœ®ããŒã¿ãFirebaseã«ããã·ã¥ããŠããã®ã§ãã¡ãœãããã£ãã«ã«äœãéä¿¡ããå¿ èŠã¯ãããŸããã§ããã äœçœ®æ å ±ã®çµæãå°çãããããã€ãã£ãã³ãŒãã䜿çšããŠFirebaseã«çŽæ¥ã¢ããããŒãããŸãã ããã¯ããã®ãã©ã°ã€ã³ãæ¯æŽããããã«äžè¬åããããšã¯ã§ããªãããšãæå³ããŸããããã®ãµã³ãã«ãªããžããªã¯åœ¹ç«ã€å¯èœæ§ããããŸãã
@aidandavisã¡ãœãããäžè¬åããããã®è§£æ±ºçãèŠã€ããŸããã
ãã®ããã±ãŒãžã§ã¯ã sqliteã«ä¿åãããŠãããã¹ãŠã®å Žæã
ãã©ã¢ã°ã©ãŠã³ããµãŒãã¹ãã¹ãã¢ãããã€ããŒsqlite / firebase / ...ãåãå
¥ããããšãã§ããå Žåã
MethodChannelã䜿çšãããšãdbãã¡ã€ã«ã®å ŽæãååŸã§ãããã©ãã¿ãŒã¢ããªããããèªã¿åãããšãã§ããŸãã
æŽæ°ïŒGoogleãµã³ãã«ã¯Dozeã¢ãŒãã劚ããŸããã ããã€ã¹ãå± ç ããããã¯ãŒã¯ã䜿çšããŠããå ŽåãGPSããµãŒãã¹ã§åŒ·å¶çµäºã§ããŸãã
ã¢ããããŒã2ïŒãã®stackoverflowã¹ã¬ããã¯ãäžåœã®ROMã®ããããªãŒç¯çŽã«åœ¹ç«ã¡ãä¿è·ãªã¹ãã«ã¢ããªãè¿œå ããŸãã
ããã¯å±
ç ãã«å¯ŸããŠ
ããã¯ééããªããããè¡ãæ¹æ³ã§ãã ãŸã æ®ã£ãŠããåé¡ã¯ãã¢ããªãããã¯ã°ã©ãŠã³ãã«ããããã·ã¹ãã ãããŒã¿ãéããããšãéžæããŠãããšãã«ãããŒã¿ãåŠçããããšã§ãã
Dozeã«é¢ããŠã¯ãé»è©±ãéæ¢ããŠããå ŽåïŒããŒãã«ã®äžãªã©ïŒã«ã®ã¿é©çšããå¿ èŠããããŸãã ãšã«ããããã®æç¹ã§ã®äœçœ®è¿œè·¡ã®æŽæ°ã¯ãããŸãã-Dozeã®åã«éä¿¡ãããæåŸã®äœçœ®ã¯ãŸã æ£ç¢ºã§ãã
ããã«å ããŠãDartã³ãŒãã¯alarm_manager_androidã«å®è£ ãããŠããã®ãšåãæ¹æ³ã§åã蟌ãããšãã§ããŸãã Androidã³ãŒã«ããã¯ã¯ãã¢ããªãå®è¡ããã«Dartã³ãŒããåŒã³åºããŸãã
ãã®æ©èœã¯2.1.0ãã€ã«ã¹ããŒã³ããåé€ãããããã§ãã ããã¯ããŒããŒã«æŒã蟌ãŸããŸãããïŒ ç§ã®ãããžã§ã¯ãããããã倧ããªæ©æµãåããã§ãããã
ã¿ããªãããã«é¢ããæŽæ°ã¯ãããŸããïŒ ãã®æ©èœã¯ããã®ãã©ã°ã€ã³ã«ç¿Œãè¿œå ããããšãã§ããŸãã å¿ èŠã§ãã
äžéšã®ããã€ã¹ã¯ãç»é¢ããªãã«ããç¶æ ã§GPSäœçœ®ãååŸã§ããªãããšã«ã泚æããŠãã ããã ç§ã¯ãã°ããããã«åºå·ããŠããŠãã€ãã«ãããããã€ã¹ã®ãããã»ããã«ããã£ãŠããããšã«æ°ã¥ããŸããã ãããã£ãŠãç¹ã«æèšã®ãããªé»æ± æ®éã®å°ãªãããã€ã¹ã®å Žåã¯ããããå確èªãã䟡å€ããããããããŸããã
@ibrierleyãŠã§ã¢ã©ãã«ã«ã€ããŠã¯ããããããŸããããAPI> = 16ãå®è¡ããŠãããã¹ãŠã®ããã€ã¹ïŒã¢ãã€ã«/ã¿ãã¬ããïŒã¯ãç»é¢ããªãã®å Žåã§ãäœçœ®æ å ±ã®æŽæ°ãååŸã§ããŸãã ç§ãããããã¹ãããŸããã
ã¯ããç§ã¯äž»ã«Huawei Watch 2ã§ãã¹ãããŠãããHuaweiã®ãšã³ãžãã¢ïŒééã£ãŠããå¯èœæ§ããããŸãïŒããããã»ããã«ã»ãããããŠãããšèšã£ãŠæçš¿ããã£ãã¹ã¬ãããèªãã ã®ã§ãä¿®æ£ã§ããŸããã§ããïŒã¹ã¬ãããèŠã€ãã£ãå Žåã¯ããã«æçš¿ããŸãããã¯ã€ãã¯æ€çŽ¢ã§ã¯è¡šç€ºãããŠããŸããïŒã
ç§ã¯ç»é¢ãé»ãããŠããŸããŸãããããã®è§£æ±ºçã¯å«ãã§ãïŒïŒïŒãããããããããŸããããã©ããã¯ããããããŸããããã®ãããäœãã衚瀺ãããç¶æ ã§ç»é¢ã匷å¶çã«ãªã³ã«ãªãå¯èœæ§ããããŸãïŒã
@ martijn00Geofenceãã©ã°ã€ã³ããã®æ©èœãåŸæŒãããªãã®ã§ã¯ãªãããšæããŸãã ããã¯ã°ã©ãŠã³ãã§ã®å®è¡ã¯éåžžã«éèŠã§ãããç§ãã¡ã®å€ãã¯ãããæåŸ ããŠããŸãã ã©ãæããŸããæããŠãã ãã...
çãããããã«BGãµãŒãã¹ãè¿œå ã§ããããšãé¡ã£ãŠããŸã:)
ããã«ã¡ã¯ïŒ
ãã®åé¡ã®çŸåšã®ç¶æ³ã¯ã©ããªã£ãŠããŸããïŒ èª°ããããã«åãçµãã§ããŸããïŒ ãŸãã¯å»¶æãããŸãããïŒ
https://pub.dartlang.org/packages/flutter_background_geolocationã§ã©ãæããŸãã
ãã®ãã©ã°ã€ã³ã¯ããã§æ±ãããããã®ãæäŸããŸãããïŒ
https://pub.dartlang.org/packages/flutter_background_geolocationã§ã©ãæããŸãã
ãã®ãã©ã°ã€ã³ã¯ããã§æ±ãããããã®ãæäŸããŸãããïŒ
ãããŸããã300ãã«ä»¥äžããããŸã
ãã®èšäºãåç
§ããŠãã ãã
https://medium.com/flutter-io/executing-dart-in-the-background-with-flutter-plugins-and-geofencing-2b3e40a1a124
@christocracy ãããªãã®ããã±ãŒãžã¯1ã»ã³ãã®äŸ¡å€ããããšæããŸãããç§ã¯ããŸãã«ã貧匱ãªATMã§ã:)ãã®ã¹ããŒã¹ãèŠãŠãã ãã
ããã«ã¡ã¯@christocracyç¡æã§ã©ã€ããã±ãŒã·ã§ã³ã远跡ããããšã¯å¯èœã§ããïŒ
ããã楜ãã¿ã«ããŠããŸãïŒ
ä»å¹Žããçæã§ãããšæããŸããïŒ
ä»å¹Žããçæã§ãããšæããŸããïŒ
誰ã§ãããã«äœæ¥ãéå§ã§ããŸãã å¯ä»ã¯å€§æè¿ã§ãã
ãã®ãããžã§ã¯ãã®ã¡ã³ããã¯ãã³ãã¥ããã£ããã®å€æŽãåãå ¥ããã®ã«éåžžã«åªããŠããŸãã
ããããŸãããã®ããŒã®ãªãœãŒã¹ããããŠã³ãŒãã®ã©ãããå§ããŠãç§ã¯æåãå°œããããšããŸãïŒDIã¯ããã解決ããããã«æ°é±éãè²»ããå¯èœæ§ããããŸãããæåã«ç§ã¯ããæ·±ãã¢ã³ããã€ãã«å ¥ãå¿ èŠããããŸã:(ã誰ããåããŠãããªãç§ã¯ãã ã®å¥œå¥å¿ã§ããã®äž;ïŒ
ããªãã®ç±æã«æè¬ããŸãïŒ1st_place_medalïŒ
gimmieãªãœãŒã¹ãããã³éå§å Žæãã³ãŒãã«é 眮ããŸã
ãã®ãã©ã°ã€ã³å šäœã«è§ŠããŠç解ããå¿ èŠããããšæããŸãã
ãã ã...ã³ãŒãã£ã³ã°ãéå§ããåã«ãé«ã¬ãã«ã®èšèšäžã®åé¡ãèæ ®ããå¿ èŠã¯ã»ãšãã©ãããŸããã
alarm_manager
ãã©ã°ã€ã³ã§ãã ãã ãããã°ãããããã¹ãŠã®ã±ãŒã¹ãåŠçã§ããããã§ã¯ãããŸããã ãããæ£ããè¡ããªãŒãã³ãœãŒã¹ã®Flutterã©ã€ãã©ãªã¯ããããŸãããç§ãã¡ã®å Žåãé·æéã«ããã£ãŠããå€ãã®ããŒã¿ïŒäœçœ®ãBluetoothãã»ã³ãµãŒïŒã远跡ããå¿ èŠããããŸãã ãããã£ãŠããã¹ãŠã®ãã©ã°ã€ã³ã«é·æéå®è¡ããžãã¯ãåå¥ã«åŠçãããããšã¯ããã¹ãŠã®ãã©ã°ã€ã³ã«åå¥ã®ãã©ã¢ã°ã©ãŠã³ããµãŒãã¹ãããããŠãŒã¶ãŒã«3ã€ã®ç°ãªãéç¥ã衚瀺ãããããã䜿çšã«ã¯é©ããŠããŸããã
ç§ã¯ã°ãŒã°ã«ãç®±ããåºããŠãã©ãã¿ãŒã§ãã®æ©èœãè¿œå ããããšãé¡ã£ãŠããŸãïŒp
ããã«ã¡ã¯ããã®åé¡ã¯è§£æ±ºãããŸãããïŒ ã¢ã³ããã€ãã«ã¯ããã¯ã°ã©ãŠã³ããžãªãã±ãŒã·ã§ã³ãå¿ èŠã§ããã©ãã¿ãŒã«ã¯iOSãå¿ èŠã§ãïŒ ããã«æé©ãªã©ã€ãã©ãªã¯ã©ãã§ããïŒ
ãã®æ©èœãªã¯ãšã¹ãã«+1ãè¿œå ããã ãã§ãã äžéšã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããã¯ã·ã§ãŒããããŒã§ãã
ãããæã£ãŠãããšçŽ æŽãããã§ãããã
+1ã¯éåžžã«å€ãã®ã¢ããªã±ãŒã·ã§ã³ã«éåžžã«åœ¹ç«ã¡ãŸã
ããã¯ç§ã®ãããžã§ã¯ãã§éåžžã«å¿ èŠãšãããŠããŸã...ç§ã¯ããã§èŠã€ãããã®ã«æéãåããŸãããã300USDïŒ
ç§ããã®åé¡ã«çŽé¢ããŠããŠãããã¯ã°ã©ãŠã³ãã®å ŽæãæŽæ°ããããã®ç¬èªã®ãã©ã°ã€ã³ãéçºããŸãããããã¯ã flutter_background_locationã§ãã
+1ããã楜ãã¿ã§ãã
+1ããã¯éåžžã«å¿ èŠã§ãïŒ
@milesgranger @ Zeissus @ shishirravenä»
ãã®åé¡ãçºçããå Žåã¯ãã³ã¡ã³ãã«+1
ãšæžã代ããã«ãåé¡ã«è³æããŠãã ãããããçã«ããªã£ãŠããŸãã
@ AlexCampos95ç§ã®ã¬ãã§èããŠã¿ãŸãããïŒ
ãŸã 解決çã¯ãããŸããïŒ
解決çã¯ãããŸããïŒ
ã©ããïŒ
ããã圹ç«ã€ãã©ããããããªããæ°ã¶æåã«ããã«åãçµãã§ããã
https://github.com/akinsete/Flutter-Background-Location-Service
ãã£ãŠã¿ãŠã
2019幎12æ12æ¥æšææ¥12:05 PM Felix [email protected]
æžããŸããïŒ
ã©ããïŒ
â
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/Baseflow/flutter-geolocator/issues/53?email_source=notifications&email_token=AFKOFXJ2RA2FV2Q6LBZBUXTQYKDNZA5CNFSM4FM72VCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKT
ãŸãã¯è³Œèªã解é€ãã
https://github.com/notifications/unsubscribe-auth/AFKOFXLSVIXG74CNIBXLPQDQYKDNZANCNFSM4FM72VCA
ã
ç§ã«ãšã£ãŠæ¬åœã«æ©èœããã®ã¯ã workmanager + geolocatorã ãã§ãã ã¢ããªã®ããããªãŒç¯çŽãç¡å¹ã«ãªãå Žåãããã¯é»è©±ãåèµ·åããåŸãåžžã«æ©èœããŸãã
ããã«ã¡ã¯ãYegor Vialov
ããã¯è¯ãèãã®ããã§ãã å®è£
ãããµã³ãã«ãããžã§ã¯ãã¯ãããŸãã
ããã¯ã°ã©ãŠã³ããã±ãŒã·ã§ã³ã¢ãã¿ãªã³ã°ã®äž¡æ¹ïŒ ã§ããã°å
±æããŠãã ããã
ããããšã
2019幎12æ13æ¥éææ¥åå1æ52å[email protected]
æžããŸããïŒ
ç§ã«ãšã£ãŠæ¬åœã«ããŸãããã®ã¯workmanagerã ãã§ã
https://pub.dev/packages/workmanager + geolocator
https://pub.dev/packages/geolocator ã ããããªãŒç¯çŽãç¡å¹ã«ãªãå Žå
ã¢ããªã®å Žåãããã¯é»è©±ãåèµ·åããåŸãåžžã«æ©èœããŸããâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/Baseflow/flutter-geolocator/issues/53?email_source=notifications&email_token=AFKOFXJ3L4B6SVPCWOUYBLLQYNENLA5CNFSM4FM72VCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKT
ãŸãã¯è³Œèªã解é€ãã
https://github.com/notifications/unsubscribe-auth/AFKOFXOP3K36MV6LCE3E7HTQYNENLANCNFSM4FM72VCA
ã
@ akinsete ãHAã¯ã©ã€ã¢ã³ãïŒ https ïŒ//github.com/estevez-dev/ha_client
Workmanagerã¯iOSã§äžè²«æ§ããªããã¿ã¹ã¯ããã€å®è¡ãããããå¶åŸ¡ã§ããªãããããªã¢ã«ã¿ã€ã ã®äœçœ®æŽæ°ã®ç®çã§ã¯æ©èœããŸããã Androidã§ã¯ãæå°é »åºŠã¯15åã§ããããããããæ©èœããŸããã
ç®±ããåºããŠããã«ãããå®è£ ããå¿ èŠããããŸãã
ç§ã¯Androidã®çµéšãããŸããããŸãããããã©ã¢ã°ã©ãŠã³ãã®æŽæ°ïŒãã®ãã©ã°ã€ã³ã§çŸåšäœ¿çšãããŠãããã®ïŒãšæ¯èŒããŠãããã¯ã°ã©ãŠã³ãã®äœçœ®ã®æŽæ°ãå¥éå¿ èŠãªããã§ãã ã©ã®ããã«æ©èœãããã¯ããããŸããããã¢ããªã®ç¶æ ã«åºã¥ããŠãã©ããããããæé©ãªæ©èœã䜿çšããããšæããŸãã
ããã«é¢ããä»ã®æŽæ°ã¯ãããŸããïŒ ããã¯äœçœ®è¿œè·¡ããã±ãŒãžã®éåžžã«éèŠãªæ©èœã§ãããããããã©ãã¿ãŒã®ãã³ããŒã¯ã³ã®äœçœ®ããã±ãŒãžã«ãªãå Žåã¯æ¬åœã«äŸ¿å©ã§ã
@christocracyã®ãã©ã°ã€ã³ã¯ãéã®äŸ¡å€ãããã圌ã¯éåžžã«è¿ éã«å¿çããŸãã ããã¯ã°ã©ãŠã³ãã®å Žæãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéèŠã§ããå Žåãããã¯ããããªã³ã¹ãã§ãã
@jamesdixonãã®ã©ã€ãã©ãªã¯çŽ æŽãããã§ãã ããããç§ã¯ã¿ã¹ã¯ã«äœçœ®éç¥ãããã¿ã¹ã¯ãããŒãžã£ãŒã¢ããªãæã£ãŠããŸãã geolocator + flutter_local_notificationsã䜿çšãããšãã¢ããªããã©ã¢ã°ã©ãŠã³ãã®ãšãã«ããã·ã¥éç¥ãããªã¬ãŒã§ããŸãããã¢ããªãããã¯ã°ã©ãŠã³ãã«ãªããšæ©èœããŸããã flutter_background_geolocationã¯ãç§ã®èŠä»¶ã«ã¯å€ãããŸãã
å€åãã®libã¯ããªããå©ããããšãã§ããŸãïŒ
https://github.com/rekab-app/background_locator
Maaaaanããªãã¯ããã§å®ç³ãèŠã€ããŸããã®æ£ç¢ºã«ç§ãå¿ èŠãšããã®ã¯å¯äžã®åé¡ã¯ãããããã¥ã¡ã³ããæ¬ ããŠãããšããããšã§ã
å€åãã®libã¯ããªããå©ããããšãã§ããŸãïŒ
https://github.com/rekab-app/background_locatorMaaaaanããªãã¯ããã§å®ç³ãèŠã€ããŸããã®æ£ç¢ºã«ç§ãå¿ èŠãšããã®ã¯å¯äžã®åé¡ã¯ãããããã¥ã¡ã³ããæ¬ ããŠãããšããããšã§ã
ç§ã¯åœŒãã®äŸãå®è¡ããããšãã§ããŸãã...ããã¯ããŸããããŸããã¡ã€ã³ã¢ããªãéãããšåº§æšã®èšé²ãåæ¢ããããã¯ã°ã©ãŠã³ãã§ãµãŒãã¹ãå®è¡ããããã«èŠããããšããããŸã..ãããç§ã¯ãããããäžåºŠãã¹ãããå¿ èŠããããŸã...
ãããå®è¡ããããã«å©ããå¿ èŠãªå Žåã¯ç§ã«ç¥ãããŠãã ãã:)
ç§ã«ãšã£ãŠã¯ããŸãæ©èœããŸããå¯äžã®åé¡ã¯ãã³ãŒã«ããã¯é¢æ°ã§ãã£ã¹ã¯ã«ä¿åããããšã§ãããµãŒãã¹ã¯ãã©ã°ã€ã³ã®ãã€ãã£ãã³ãŒããç»é²ããªããããããšãã°ãã¢ããªã匷å¶çµäºãããå Žåã§ããpath_providerã䜿çšããŠãã€ãã£ãåŒã³åºããè¡ãããšã¯ã§ããŸããã匷å¶çµäºãããFlutterActivityããReceivePortã«éä¿¡ãããããäœããªãã¹ã³ããŠããŸããã åèµ·åæã«ãåé¢ã匷å¶çµäºããŠãããæ°ããããŒãã䜿çšããŠåäœæããå¿
èŠããããŸããããããæåã®è§£æ±ºçã§ã¯ãªããšæããŸãã
ãŸããã©ã€ãã©ãªãè¡ãããšãšéåžžã«ãã䌌ããã®äŸãèŠã€ããŸããïŒéç¥ä»ãã®dartã³ãŒããå®è¡ãããµãŒãã¹ããããŸãïŒãããã©ã°ã€ã³ãšã³ããªãKotlinãã¡ã€ã«ã«ç»é²ããŠããã£ã¹ã¯ã«ä¿åã§ããããã«ããŸã
ã³ãŒã«ããã¯é¢æ°ããLatLngãååŸããæ¹æ³ãç¥ã£ãŠãããªããããã¯çŽ æŽãããã§ãããð
@christocracyã¯ãäžèšã®ãã¹ãŠã®è§£æ±ºçãè©ŠããŸããããäžè²«ããŠæ©èœãããã®ã¯ãªãããã§ãïŒã¢ããªãéããåŸã«çµäºããããèšé²ãåæ¢ããïŒã®ã§ããã®æ¹æ³ã§ããŒãéä¿¡ã§ããã°å¹žãã§ãã ç§ã¯çŸåšãå°å ã®ç é¢ã®é¢é·ã®èŠè«ã§ã³ãããã©ãã«ãŒãæ§ç¯ããŠããŸãã ããªããç§ãå©ããããšãã§ããã°ããã¯ãããããã§ãã
ç§ã¯çŸåšãå°å ã®ç é¢ã®é¢é·ã®èŠè«ã§ã³ãããã©ãã«ãŒãæ§ç¯ããŠããŸãã ããªããç§ãå©ããããšãã§ããã°ããã¯ãããããã§ãã
ãŒãããå§ããã®ã§ã¯ãªããGithubã§æ¢åã®ãããžã§ã¯ãããã©ãŒã¯ããããšæããããããŸããã
@RomanJos @ Ashar2shahid https://corona-trace.github.io/
@christocracyããã¯ãŸãã«ç§ãæ§ç¯ããããšããŠãããã®ã§ã-ãã©ãã¿ãŒã®background-location-pluginsãæ€çŽ¢ããããšã§ç§ã¯ããã«å°ãããŸããã ãã ãããã®Webãµã€ãã®ãªã³ã¯ïŒ https ïŒ//corona-trace.github.io/
Slackãã£ãã«ãæ©èœããŠããŸããã Slackã®å¥ã®ãªã³ã¯ã¯ãããŸããïŒ
ç§ã¯ã¬ããžããªãééããŸãã-ããã¯ç§ã300ãã«ä»¥äžãèŠã€ãããšãã«ç§ã«å€ãã®ä»äºãç¯çŽããã§ãããã Appleã¯bluetoothã䜿çšããŠåæ§ã®äœããæ§ç¯ããããšããŠããŸã-圌ãã¯ãã©ã€ãã·ãŒã«ãã£ãšé¢å¿ããããŸã-ãããç§ã¯æã-å Žæã®ãã©ã€ãã·ãŒã¯ãããã®æ代ã«æ¯æãã¹ãå°ããªä»£åã§ãããã®ããã«æ§ç¯ãããã°ãŒã°ã«ãã€ã¯ã¢ãŠãã䜿çšãããªã©ã¯ãŸãã«ç§ãèããŠãããã®ã§ãã
@tatiblockchainç§ã®ãªããžããªã«æ¥ãŠã話ãåã£ãŠãã ããã
ãªããããç®±ããåºããŠæã£ãŠããã®ã«ãããªã«å€§ããããšãªã®ã§ããïŒ
@MazEbeidæ£ç¢ºã«ã¯ã©ãããæå³ã§ããïŒ
ç§ã¯ããããµããŒãã§ããããšãæãã§ããŸããç§ã¯ãããæ§ç¯ããããã«å¿ èŠãªç¥èãæã£ãŠããŸããã ãŸãããããè¡ãæ¹æ³ãåŠã¶æéãèŠã€ããããŸããã§ããã ãã«ãªã¯ãšã¹ããèªç±ã«äœæããŠãã ããããŸãã¯ããã«ãã§ããããã«ããã«ãªã¯ãšã¹ããäœæããããã®åªãããªãœãŒã¹ãæäŸããŠãã ããïŒ Flutterãµã€ãã®ãã¥ãŒããªã¢ã«ã¯å¥ãšããŠããããäœåºŠãèªãã§ããŸãããååŸããã®ã«èŠåŽããŠããŸãããã£ããããç解ïŒïŒ
FlutterããŒã ãããã¯ã°ã©ãŠã³ããã±ãŒã·ã§ã³ãã§ããçšã®åªããã¡ã³ããã³ã¹å¯èœãªãã©ã°ã€ã³ãè¿œå ããªãã®ã¯ãªãã§ããã
ç§ã¯ãã®ãã©ã°ã€ã³background_locatorã䜿çšããŸããããããã¯ããŸãæ©èœããŸãããçŸæç¹ã§ã¯ãã¢ããªãçµäºãããšãã®iOSã§ã®äœçœ®æ å ±ã®æŽæ°ããµããŒãããŠããŸãã
åžæããªãã¯ã©ãã«å ¥äŒãã=ïŒ
çŸåšã background_locator
ããã±ãŒãžã䜿çšããŠããŸãã å®ç§ã§ã¯ãããŸããããæ©èœããŸã
background_locator
ã¯ããã§ã...ããããåé¡ããããŸãã
ç§ã¯ãã£ââãšå ç¢ãªãã®ãèŠã€ããããšã«éåžžã«èå³ãããïŒããŸãããã°ããã«ãããŸãïŒãããšãã°ã¢ããªãããã¯ã°ã©ãŠã³ãã«ãããšããç»é¢ããªãã«ãªã£ãŠãããšãã«ãããã®å€ãä¿åããããã®ããã€ãã®ãã¹ããã©ã¯ãã£ã¹ãæã£ãŠããŠãããŸããŸããã
ããã«ãããªãã·ã§ã³ã®å€ãã¯åé¢ã»ãŒãã§ã¯ãªããããŒã¿ã®ç Žæããããã¯ã°ã©ãŠã³ããœãªã¥ãŒã·ã§ã³ãæ±ãå Žåã«ã¯çæ³çã§ã¯ãªãã¢ã¯ã»ã¹ãšã©ãŒãªã©ã®åé¡ãåŒãèµ·ããããšãããããŸããã
@Flavsditzç§ã¯çŸåšãbgãã©ããã³ã°çšã®ãã€ãã£ããã©ã°ã€ã³ã®éçºãèšç»ããŠããŸãã ç§ã¯ããããAndroidã§ãã£ããããã«ã衚瀺ããããšã«ãã£ãŠå Žæã远跡ããã€ããã§ãïŒç§ã¯ééã£ãŠãããããããŸããããAndroidã¯ãµãŒãã¹ãåç¶ãããããã«ãã©ã¢ã°ã©ãŠã³ããµãŒãã¹ãå¿ èŠãšãããšæããŸãïŒã ããããiOSã§ã®è¿œè·¡ã«ã€ããŠã¯ããããŸããã
ãã®ãã©ã°ã€ã³ã䜿çšãããã®ã§ãããããã¯ã°ã©ãŠã³ããã±ãŒã·ã§ã³ã®æŽæ°ãå©çšã§ããªãããã300ãã«ä»¥äžæ¯æãå¿ èŠãããå Žåã§ãããã®æ©èœãæäŸã§ããä»ã®ãã©ã°ã€ã³ãéžæããå¿ èŠããããŸãã ãã®æ©èœã¯ããžãªãã±ãŒã·ã§ã³ã䜿çšãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéåžžã«éèŠã§ãã
ãã®ãã©ã°ã€ã³ã䜿çšãããã®ã§ãããããã¯ã°ã©ãŠã³ããã±ãŒã·ã§ã³ã®æŽæ°ãå©çšã§ããªãããã300ãã«ä»¥äžæ¯æãå¿ èŠãããå Žåã§ãããã®æ©èœãæäŸã§ããä»ã®ãã©ã°ã€ã³ãéžæããå¿ èŠããããŸãã ãã®æ©èœã¯ããžãªãã±ãŒã·ã§ã³ã䜿çšãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéåžžã«éèŠã§ãã
ãã®ãã©ã°ã€ã³ãè©ŠããŸãããïŒ æè¿æŽæ°ãããããã¯ã°ã©ãŠã³ããã±ãŒã·ã§ã³ããµããŒãããå¿
èŠããããŸãã
https://github.com/rekab-app/background_locator
@mvanbeusekomãããå«ããã€ããã¯ãããŸããïŒ ããã¯ä¿¡ããããªãã»ã©ã¯ãŒã«ã ããã å€ãã®äººããããå¿ èŠãšããŠããŸãã
@ndhbrã¯ããããã¯ã°ã©ãŠã³ãã§ã®äœçœ®æŽæ°ã®ãã§ããããµããŒãããã€ããã§ãã ããããç§ã¯ãŸã ããããæéãæ¬åœã«èŠã€ããŠããŸããã ç§ãå§ãããã³ã«ãäœãä»ã®ãã®ïŒããéèŠãªãã®ïŒãåºãŠããŸãã ããšãã°ãiOS 14ããªãªãŒã¹ãããŸãããããã¯ããŠãŒã¶ãŒãiOS14ã§ãžãªãã±ãŒã¿ãŒã䜿çšã§ããããã«ããããã«ãµããŒãããå¿ èŠãããäœçœ®æ å ±ã¢ã¯ã»ã¹èš±å¯çšã®æ°ããAPIãå°å ¥ããŠããŸãã
ã§ããããããããªããå¿«é©ã«æãããªããããªããã¹ã¿ãŒããåãããšãã§ããã°ããã¯çŽ æŽãããã§ããããå€åã©ããªãšããžã ç§ãæã£ãŠããã¢ã€ãã¢ã¯ãïŒãã®èšäºã§èª¬æãããŠããããã«ïŒäœçœ®ã®æŽæ°ãå°çãããã³ã«ã¢ããªãããã¯ã°ã©ãŠã³ãã«ãããšãã«ïŒã®ã¿ïŒå®è¡ãããDartã³ãŒã«ããã¯ã¡ãœãããç»é²ãããªãã·ã§ã³ãéçºè ã«æäŸããããšã§ãã ç§ãã¡ãèšç»ãç«ãŠãããšãã§ããã°ãããã¯ãã§ã«å€§ãã«åœ¹ç«ã€ã§ãããã å®è¡ããå¿ èŠã®ããäœæ¥ã现ããåå²ããŸãã
@mvanbeusekom
ãããæŽæ°ããŠãããŠããããšãã ç解ã§ããŸãã ã©ãããããããé¡ãããããŸãã
ç§ã¯ãã§ã«ãã®èšäºãã»ãšãã©å¿ããç¥ã£ãŠããŸãããããã§ãç°¡åã§ã¯ãããŸããã
ç§ã¯background_locatorãå®å®ããŠå®è¡ããããã«1é±éåªåããŠããŸãããïŒAndroidã§ã¯åäœããªãããšããããããŸãïŒããããã¯åé¢ã§åäœããŸãã åé¢ãéå§ãããããã¯ã°ã©ãŠã³ãã§å ŽæãååŸãããŸãã ç§ã®çŸåšã®æé ã¯ãã³ãŒã«ããã¯ã§ãã¡ã€ã«ããã€ãããšã«å ¥åããUIã®æåŸã®ãã€ããããã¡ã€ã«ãèªã¿åãããšã§ãã æ®å¿µãªãããAndroidã¯ã³ãŒã«ããã¯ã«æ°åããšã«å Žæãæžã蟌ãã ããªã®ã§ãã»ãšãã©ãã¹ãŠã®å Žæã倱ãããŸãã iOSã§ã¯ããã®æé ã¯ããŸãæ©èœããŸãã
å€åãããããã€ãã®ã€ã³ã¹ãã¬ãŒã·ã§ã³ã§ãã
èæ¯ã®å ŽæãåŠçããããã®å®å®ãã代æ¿æ¹æ³ã¯ãããŸããïŒ
ãããŠãçããã¯å°æ¥ãã®æ©èœãè¿œå ããããšã«ããŸãããïŒ
èæ¯ã®å ŽæãåŠçããããã®å®å®ãã代æ¿æ¹æ³ã¯ãããŸããïŒ
ãããŠãçããã¯å°æ¥ãã®æ©èœãè¿œå ããããšã«ããŸãããïŒ
https://github.com/rekab-app/background_locatorã¯ããŸãæ©èœããŸãã
@TheMisirããããšãããããŸãã æ£åžžã«æ©èœããŠããŠãæ¬çªã¢ããªã§ãåé¡ãããŸãããïŒ ããhttps://github.com/rekab-app/background_locator/issuesã«ãã¯ã©ãã·ã¥ã¬ããŒãããã
@TheMisirããããšãããããŸãã æ£åžžã«æ©èœããŠããŠãæ¬çªã¢ããªã§ãåé¡ãããŸãããïŒ ããhttps://github.com/rekab-app/background_locator/issuesã«ãã¯ã©ãã·ã¥ã¬ããŒãããããŸã
ä»æ¹ããªãã£ãã ãã®ãããæ¬çªç°å¢ã§äœ¿çšããŠããŸãã ã¯ããå®å šã«ã¯æ©èœããŸããããæ£ããæ§æãããŠããã°æ©èœããŸãã ïŒç§ãã¡ã®ãããžã§ã¯ãã®åé¡ã¯ãééã£ãæ§æãåå ã§ããå ŽåããããŸãïŒã
èæ¯ã®å ŽæãåŠçããããã®å®å®ãã代æ¿æ¹æ³ã¯ãããŸããïŒ
ãããŠãçããã¯å°æ¥ãã®æ©èœãè¿œå ããããšã«ããŸãããïŒ
ã¯ããæ¬çªç°å¢ã§ãã®æ©èœãç·æ¥ã«å¿ èŠã ã£ãããã httpsïŒ//www.transistorsoft.com/shop/products/flutter-background-geolocationã®ã©ã€ã»ã³ã¹ãè³Œå ¥ããŸããã ç§ã¯ãããæ¬çªç°å¢ã§1ãæ䜿çšããŠããŸããããããŸã§ã®ãšããæ£åžžã«åäœããŠããŸãã
è¿œå ãããïŒ
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
ç§ã®ãããã§ã¹ãïŒbackground_locatorã®äŸã§ããããèŠã€ããŸããïŒã«ãç§ã¯äœ¿çšããããšãã§ããŸãïŒ
var userPosition = await Geolocator().getCurrentPosition();
background_fetchã䜿çšããããã¯ã°ã©ãŠã³ãæ¹åŒïŒ^ 0.6.0ã
ãããã£ãŠã15åããšã§ãããããªãããŸãæ©èœããŸããã
ä»ããbackground_locatorãè©ŠããŠã¿ãŸã
è¿œå ãããïŒ
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
ç§ã®ãããã§ã¹ãïŒbackground_locatorã®äŸã§ããããèŠã€ããŸããïŒã«ãç§ã¯äœ¿çšããããšãã§ããŸãïŒ
var userPosition = await Geolocator().getCurrentPosition();
background_fetchã䜿çšããããã¯ã°ã©ãŠã³ãæ¹åŒïŒ^ 0.6.0ããããã£ãŠã15åããšã§ãããããªãããŸãæ©èœããŸããã
ä»ããbackground_locatorãè©ŠããŠã¿ãŸã
ç§ã¯background_locatorhttps ïŒ//github.com/rekab-app/background_locator/issues/167ã§ãã®åé¡ã«çŽé¢ããŸãã
ãããŠããã®ããã±ãŒãžã«ç§»åããŸããhttps://github.com/transistorsoft/flutter_background_geolocationãã®ããã±ãŒãžã¯çŽ æŽãããã§ã
@ Dereumaux-Adrienã¯ã¢ããããŒãããŠãããŠããããšãïŒ å¿ããæè¬ããã 15åã§ååã§ãã ãã£ãŠã¿ãŸãã
@ bhanuka96確ãã«ãããã¯å®ç§ã«æ©èœããŸãããç§ã®ãããžã§ã¯ãã«åæ¥ç䟡å€ããããã©ããã¯ãŸã ããããªãã®ã§ããã©ã°ã€ã³ã«ãéã䜿ãã€ããã¯ãããŸããã
background_fetchããããããã®ãã®ã§ãããããç§ã¯ãã§ã«transistorsoftãé«ãè©äŸ¡ããŠããŸãã
ãããžã§ã¯ãã§è¯ãçµæãåŸãããããåŸã§flutter_background_geolocationã«åãæ¿ãããšæããŸãã
ãã®ã¹ã¬ãããåããŠäœ¿çšãã人ã®ããã®TLDR
Geolocatorã¯ãããã¯ã°ã©ãŠã³ããžãªãã±ãŒã·ã§ã³ããŸã å®å šã«ã¯ãµããŒãããŠããŸããã
解決çã¯æ¬¡ã®ãšããã§ã
æ¯æãããšãã§ããã°ã httpsïŒ//pub.dev/packages/flutter_background_geolocationã¯ç°¡åãã€ããŸãæ©èœããŸãã
ããã«æéãè²»ããããšãã§ããã°ã httpsïŒ//pub.dev/packages/background_locatorãæ©èœãããããšãã§ããŸãïŒç§èªèº«ã¯ãŸã ã§ããŸããã§ããïŒã
æ©ãå§ãããããŸã ãéã䜿ãããšãã§ããã15åããšã«è¡ããã身å
調æ»ã§å€§äžå€«ãªãïŒ https ïŒ//pub.dev/packages/background_fetch with https://pub.dev/packages/geolocator withããã«æžããããããã§ã¹ãã®å€æŽ
ããã§è©³ãã説æãããŠããããã«ãWorkManagerã䜿çšããããšãã§ããŸãïŒ https ïŒ//medium.com/@pierre.sabot/how -to-fetch-user-location-in-background-with-flutter-e3494021bdf5
Androidã®å Žåã¯15åã«å¶éãããŠããŸãããããã¯å¥ã®ã¢ãããŒãã§ããã·ã³ãã«ãªAPIã§ãã
https://pub.dev/packages/background_locationã䜿çšããŠãããã¯ã°ã©ãŠã³ãã§ãŠãŒã¶ãŒã®å Žæã远跡ããfirestoreã«ä¿åããŸãã
ãŸããå Žæãããã¯ã°ã©ãŠã³ãã«å°çãããšãã«ã³ãŒã«ããã¯ãåŒã³åºãããããšãæ¬åœã«æãŸãªãã®ã§ã¯ãªãããšæããŸãïŒãã®ãããå ŽæãåŠçããããã¢ããªããã©ã¢ã°ã©ãŠã³ãã«æ»ã£ããšãã«åŠçã§ããããã«ã©ããã§å®å šã«ãããã§ããŸãïŒ ã
location
ãã©ã°ã€ã³ã§ãããçŸæç¹ã§ã©ã®ããã«åŠçãããŠãããããããªãã ããããããã¯ç§ãgeolocator
ã®ããã«ããã«ã€ããŠè¡ãããšãèããŠããæ¹æ³ã§ãã
ã¡ãªã¿ã«ãä»ã®ãã©ã°ã€ã³ãåç §ããããšã¯æ¬åœã«æ¬æãè¡šãããã®ã§ã¯ãããŸããã
ããã§è©³ãã説æãããŠããããã«ãWorkManagerã䜿çšããããšãã§ããŸãïŒ https ïŒ//medium.com/@pierre.sabot/how -to-fetch-user-location-in-background-with-flutter-e3494021bdf5
Androidã®å Žåã¯15åã«å¶éãããŠããŸãããããã¯å¥ã®ã¢ãããŒãã§ããã·ã³ãã«ãªAPIã§ãã
ç§ã¯15åããšã«å®æçã«ããžã·ã§ã³ãååŸããããšããŸãããããã¹ãŠããŸããããŸããã
ãããã1æéããšã«å®æçãªã€ãã³ããèšå®ããããšã«ãã£ãŠãç§ã¯äœçœ®ãååŸããããšã¯ã§ããŸããã ã¯ãŒã¯ãããŒãžã£ãŒã¯æ©èœããŸããïŒéç¥ã衚瀺ãããŸãïŒãå ŽæãååŸã§ããŸããã
å®æçãªã€ãã³ããèšå®ããããšããŸãããïŒ ãããããªããã©ã®ãããã§ããïŒ
@mvanbeusekomã¢ããªããã©ã¢ã°ã©ãŠã³ãã«ãããšãã«ãäœçœ®æ
å ±ã®æŽæ°ããµããŒãããããã«å¥ã®åé¡ãéãå¿
èŠããããŸããïŒ
ãã©ã¢ã°ã©ãŠã³ããšã¯ãã¢ããªã±ãŒã·ã§ã³ã¯å®è¡ãããŠãããããŠãŒã¶ãŒãããŒã ãã¿ã³ãã¿ããããããå¥ã®ã¢ããªã«åãæ¿ããããç»é¢ããªãã«ãªã£ãŠããããšãæå³ããŸãã Androidã®å Žåãã¢ããªãçŸåšå°ã䜿çšããŠããããšããŠãŒã¶ãŒã«èŠåããæ°žç¶çãªéç¥ã衚瀺ãããã©ã¢ã°ã©ãŠã³ããµãŒãã¹ãè¿œå ããå¿
èŠããããŸãã iOSã®å Žåãã¹ããŒã¿ã¹ããŒã«ç·è²ã®ã¢ã€ã³ã³ã衚瀺ãããŸãïŒããã¯NSLocationWhenInUsageæš©éã§èš±å¯ãããŠããŸãïŒã
ããããµããŒãããæ¹ãã¯ããã«ç°¡åã§ãå®éã®ããã¯ã°ã©ãŠã³ãäœçœ®ã®æŽæ°ãäžèŠãªå€ãã®ãŠãŒã¹ã±ãŒã¹ã解決ã§ãããšæããŸãã ïŒããã¯ã°ã©ãŠã³ããã±ãŒã·ã§ã³ã¢ã¯ã»ã¹ãšã¯ããã±ãŒã·ã§ã³æŽæ°ããã§ããããããšãã«çµäºããå Žåã«ã¢ããªãèµ·åãããããã¯ã°ã©ãŠã³ããµãŒãã¹ãã¢ããªãšã¯ç¬ç«ããŠå®è¡ã§ããããšãæå³ããŸãïŒã
æãåèã«ãªãã³ã¡ã³ã
ç§ããã®åé¡ã«çŽé¢ããŠããŠãããã¯ã°ã©ãŠã³ãã®å ŽæãæŽæ°ããããã®ç¬èªã®ãã©ã°ã€ã³ãéçºããŸãããããã¯ã flutter_background_locationã§ãã