๋ํ ์ฐธ์กฐ: https://github.com/flutter/plugins/pull/656
์ด๊ฒ์ด ๋ด๊ฐ ๋ด ์ฑ ์ค ํ๋๋ฅผ Flutter๋ก ์ ํํ์ง ์์ ์ฃผ๋ ์ด์ ์ค ํ๋์ ๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ์ถ์ ์ ํ์์ ๋๋ค. ๊ณ์ ์งํํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ ๋ ์ด๊ฒ์ ๊ฒ ์์๋ณด๊ณ ์์ต๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ GPS ์ถ์ ์๊ตฌ ์ฌํญ์ด ์๋ ํ์ฌ ํ๊ฒฝ์์ ์ฑ์ ๋น๋ํ๋ ค๊ณ ํฉ๋๋ค. flutter/plugins#656(์์์ ์ธ๊ธ)์ ์์ง Pub์ ์์ผ๋ฉฐ iOS๋ง ์ง์ํฉ๋๋ค.
์
๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด ์ด ์ค๋ ๋๋ฅผ ๊ตฌ๋
ํ๊ฒ ์ต๋๋ค.
์ฑ์ด ๋ซํ ๋ ์คํ๋๋ ์ด Google ์ํ ์ ๊ธฐ๋ฐ์ผ๋ก ๋ด ์์ ์ ๊ตฌํ(์ ์ด๋ Android์์)์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
์์น ๋ฐ์ดํฐ๋ฅผ Firebase์ ํธ์ํ๊ณ ์์ผ๋ฏ๋ก ๋ฉ์๋ ์ฑ๋์ ๋ฐฑ์ ์ ๋ณด๋ผ ํ์๊ฐ ์์ต๋๋ค. ์์น ๊ฒฐ๊ณผ๊ฐ ๋์ฐฉํ๋ฉด ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ Firebase์ ๋ฐ๋ก ์ ๋ก๋ํฉ๋๋ค. ์ด๊ฒ์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋๊ธฐ ์ํด ์ผ๋ฐํํ ์๋ ์์ง๋ง ํด๋น ์ํ ์ ์ฅ์๊ฐ ์ ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
@aidandavis ๋ฐฉ๋ฒ์ ์ผ๋ฐํํ๋ ์๋ฃจ์
์ ์ฐพ์์ต๋๋ค.
์ด ํจํค์ง ์์ ๋ชจ๋ ์์น๋ sqlite์ ์ ์ฅ๋ฉ๋๋ค.
ํฌ๊ทธ๋ผ์ด๋ ์๋น์ค๊ฐ ์คํ ์ด ์ ๊ณต์ sqlite/firebase/...๋ฅผ ์๋ฝํ ์ ์๋ ๊ฒฝ์ฐ.
MethodChannel์ ์ฌ์ฉํ๋ฉด db ํ์ผ ์์น๋ฅผ ์ป์ ์ ์๊ณ ํ๋ฌํฐ ์ฑ์์ ์ฝ์ ์ ์์ต๋๋ค.
์ ๋ฐ์ดํธ: Google ์ํ์ Doze ๋ชจ๋๋ฅผ ๋ฐฉ์งํ์ง ์์ต๋๋ค. ์ฅ์น๊ฐ ๋คํธ์ํฌ ์ ์๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ GPS๋ ์๋น์ค์ ํจ๊ป ์ข ๋ฃ๋ ์ ์์ต๋๋ค.
์
๋ฐ์ดํธ 2: ์ด stackoverflow ์ค๋ ๋๋ ์ค๊ตญ ๋กฌ ๋ฐฐํฐ๋ฆฌ ์ ์ฝ์ ๋ฐฉ์งํ๊ณ ์ฑ์ ๋ณดํธ ๋ชฉ๋ก์ ์ถ๊ฐํฉ๋๋ค.
Doze์ ๋ํ ์ด
๊ทธ๊ฒ์ ํ์คํ ๊ทธ๊ฒ์ ํ ์์๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฌ์ ํ ๋จ์ ์๋ ๋ฌธ์ ๋ ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ์๊ฑฐ๋ ์์คํ ์ด ์ฑ์ ๋ซ๋๋ก ์ ํํ๋ ๋์ ๋ฐ์ดํฐ๋ก ์์ ์ ์ํํ๋ ๊ฒ์ ๋๋ค.
Doze์ ๊ด๋ จํ์ฌ ์ ํ๊ฐ ๊ณ ์ ๋์ด ์์ ๋(์: ํ ์ด๋ธ ์)์๋ง ์ ์ฉ๋์ด์ผ ํฉ๋๋ค. ์ด์จ๋ ๊ทธ ์ง์ ์๋ ์์น ์ ๋ฐ์ดํธ๋ฅผ ์ถ์ ํ๋ ์ง์ ์ด ์์ต๋๋ค. ์ ์๊ธฐ ์ ์ ์ ์ก๋ ๋ง์ง๋ง ์์น๋ ์ฌ์ ํ ์ ํํฉ๋๋ค.
๋ํ, alarm_manager_android์์ ๊ตฌํํ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก Dart ์ฝ๋๋ฅผ ์ฝ์ ํ ์ ์์ต๋๋ค. Android ์ฝ๋ฐฑ์ ์ฑ์ ์คํํ์ง ์๊ณ Dart ์ฝ๋๋ฅผ ํธ์ถํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ด 2.1.0 ๋ง์ผ์คํค์์ ์ ๊ฑฐ๋์์์ ์ ์ ์์ต๋๋ค. ๋ฐฑ ๋ฒ๋๋ก ๋ฐ๋ ธ์ต๋๊น? ๋ด ํ๋ก์ ํธ๋ ์ด๋ก๋ถํฐ ํฐ ์ด์ ์ ์ป์ ๊ฒ์ ๋๋ค.
์๋ค์, ์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์ด ๊ธฐ๋ฅ์ ์ด ํ๋ฌ๊ทธ์ธ์ ๋ ๊ฐ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ฐ๋์ ํ์ํฉ๋๋ค.
์ผ๋ถ ์ฅ์น๋ ํ๋ฉด์ด ๊บผ์ง ์ํ์์ GPS ์์น๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ์ ๋ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋๋ ์ ์ ๋์ ์ด๊ฒ์ ๊ฐํ ์์๊ณ ๋ง์นจ๋ด ์ฅ์น ์นฉ์ ์ ๋ฌ๋ ค ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ฐ๋ผ์ ํนํ ์๊ณ์ ๊ฐ์ด ๋ฐฐํฐ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ธฐ๊ธฐ์ธ ๊ฒฝ์ฐ ๋ค์ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@ibrierley ์จ์ด๋ฌ๋ธ์ ๋ํด์๋ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง API >= 16์ ์คํํ๋ ๋ชจ๋ ์ฅ์น(๋ชจ๋ฐ์ผ/ํ๋ธ๋ฆฟ)๋ ํ๋ฉด์ด ๊บผ์ ธ ์์ด๋ ์์น ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค. ์ ๋ ์ง์ ํ ์คํธํด๋ดค์ต๋๋ค.
๋ค, ์ฃผ๋ก ํ์จ์ด ์์น 2์์ ํ ์คํธ๋ฅผ ํด๋ดค๋๋ฐ, ํ์จ์ด ์์ง๋์ด(ํ๋ฆด ์ ์์)๊ฐ ์นฉ์ ์ ์ค์ ๋์ด ์์ด์ ๊ณ ์น ์ ์๋ค๋ ๊ฒ์๋ฌผ์ด ์๋ ์ค๋ ๋๋ฅผ ์ฝ์์ต๋๋ค. (๋๋ ์ค๋ ๋๋ฅผ ์ฐพ์ ์ ์์ผ๋ฉด ์ฌ๊ธฐ์ ๊ฒ์ํ ๊ฒ์ด์ง๋ง ๋น ๋ฅธ ๊ฒ์์์ ๊ทธ๊ฒ์ ๋ณด์ง ๋ชปํ์ต๋๋ค).
๋๋ ๊ฒฐ๊ตญ ํ๋ฉด์ ๊ฒ์์์ผ๋ก ๋ฐ๊พธ์์ง๋ง ๊ทธ ์๋ฃจ์ ์ ์ซ์ดํฉ๋๋ค. :) (๊ทธ๋ฌ๋ ์๋ํ์ง๋ง ๋ฐฐํฐ๋ฆฌ๋ฅผ ๋ง์ด ์ ์ฝํ๋์ง ํ์คํ์ง ์์ผ๋ฏ๋ก ํ๋ฉด์ ๋ฌด์ธ๊ฐ๊ฐ ํ์๋๋๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค).
@martijn00 Geofence ํ๋ฌ๊ทธ์ธ ์ด ์ด ๊ธฐ๋ฅ์ ํฅ์์ํค์ง ์๋์ง ๊ถ๊ธํฉ๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ์ด ๊ฒฐ์ ์ ์ธ ์ญํ ์ ํ ๊ฒ์ด๋ฉฐ ๋ง์ ์ฌ๋๋ค์ด ์ด๋ฅผ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ์ด๋ป๊ฒ ์๊ฐํ๋์ง ์๋ ค์ฃผ์ธ์...
๊ณง 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 , ๋๋ ๋น์ ์ ํจํค์ง๊ฐ ๋ชจ๋ ์ผํธ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ์ง๋ง ๋๋ ๋๋ฌด ๊ฐ๋ํฉ๋๋ค :) ์ด ๊ณต๊ฐ์ ๋ณด๋ฉด์
์๋ ํ์ธ์ @christocracy ๋ฌด๋ฃ ๋ผ์ด๋ธ ์์น๋ฅผ ์ถ์ ํ ์ ์์ต๋๊น?
๊ธฐ๋๋ฉ๋๋ค!
์ฌํด ์์ ์์ ์ ์์ํ ์ ์๋ค๊ณ ์๊ฐํ์ญ๋๊น?
์ฌํด ์์ ์์ ์ ์์ํ ์ ์๋ค๊ณ ์๊ฐํ์ญ๋๊น?
๋๊ตฌ๋ ์ฆ์ ์์ ์ ์์ํ ์ ์์ต๋๋ค. ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค.
์ด ํ๋ก์ ํธ์ ์ ์ง ๊ด๋ฆฌ์๋ ์ปค๋ฎค๋ํฐ์์ ๋ค์ด์ค๋ ๋ณ๊ฒฝ ์ฌํญ์ ์์ฉํ๋ ๋ฐ ๋งค์ฐ ๋ฅ์ํฉ๋๋ค.
์, ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๊ณ ์ฝ๋์ ์์ ์์น๋ฅผ ์ง์ ํ๊ณ ์ต์ ์ ๋คํ๋ ค๊ณ ํฉ๋๋ค. DI๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ช ์ฃผ๋ฅผ ๋ณด๋ผ ์ ์์ง๋ง ๋จผ์ Android์ ๋ ๊น์ด ๋ค์ด๊ฐ์ผ ํฉ๋๋ค. ๊ทธ ์์ ;)
๋น์ ์ ์ด์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค :1st_place_medal:
gimmie ๋ฆฌ์์ค ๋ฐ ์์ ์์น ์ฝ๋์ ๋ฐฐ์น
์ด ์ ์ฒด ํ๋ฌ๊ทธ์ธ์ ๋ง์ง๊ณ ์ดํดํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฌ๋... ์ฝ๋ฉ์ ์์ํ๊ธฐ ์ ์ ๋ช ๊ฐ์ง ๋์ ์์ค์ ์ค๊ณ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
alarm_manager
ํ๋ฌ๊ทธ์ธ์
๋๋ค. ๊ทธ๋ฌ๋ ๋ฒ๊ทธ๋ ์๊ณ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ์ง๋ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ํํ๋ ์คํ ์์ค Flutter ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ชจ๋ฆ
๋๋ค.์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์ค๋ ๊ธฐ๊ฐ ๋์ ๋ ๋ง์ ๋ฐ์ดํฐ(์์น, ๋ธ๋ฃจํฌ์ค, ์ผ์)๋ฅผ ์ถ์ ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ด ์ฅ๊ธฐ ์คํ ๋ก์ง์ ๋ณ๋๋ก ์ฒ๋ฆฌํ๋๋ก ํ๋ ๊ฒ์ ๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ ๋ณ๋์ Foreground ์๋น์ค๊ฐ ์๊ณ ์ฌ์ฉ์์๊ฒ ์ธ ๊ฐ์ง ๋ค๋ฅธ ์๋ฆผ์ด ํ์๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ์ง ์์ต๋๋ค.
Google์์ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ฌํฐ์ ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ ํ์ธ์, ์ด ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋์์ต๋๊น? ํ๋ฌํฐ์๋ Android ๋ฐ 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 Felix Hamborg [email protected]
์ผ๋ค:
์ด๋?
โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/Baseflow/flutter-geolocator/issues/53?email_source=notifications&email_token=AFKOFXJ2RA2FV2Q6LBZBUXTQYKDNZA5CNFSM4FM72VCKYY3PNVWWK3TUL52HS4DFVREWSG43VMVBW63
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AFKOFXLSVIXG74CNIBXLPQDQYKDNZANCNFSM4FM72VCA
.
์ ์๊ฒ ์ ๋ง ํจ๊ณผ์ ์ธ ์ ์ผํ ๊ฒ์ workmanager + geolocator ์ ๋๋ค. ์ฑ์ ๋ฐฐํฐ๋ฆฌ ์ ์ฝ ๊ธฐ๋ฅ์ด ๋นํ์ฑํ๋๋ฉด ํด๋ํฐ์ ๋ค์ ์์ํ ํ์๋ ๊ณ์ ์๋ํฉ๋๋ค.
์๋ , ์๊ณ ๋ฅด ๋น์๋กํ
์ข์ ์๊ฐ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ตฌํํ๋ ์ํ ํ๋ก์ ํธ๊ฐ ์์ต๋๊น?
๋ ๋ค ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ๋ชจ๋ํฐ๋ง์ ์ํด? ๊ฐ๋ฅํ์๋ค๋ฉด ๊ณต์ ๋ถํ๋๋ฆฝ๋๋ค.
๊ฐ์ฌ ํด์
2019๋
12์ 13์ผ ๊ธ์์ผ ์ค์ 1:52 Yegor Vialov [email protected]
์ผ๋ค:
๋์๊ฒ ์ ๋ง๋ก ํจ๊ณผ๊ฐ ์๋ ๊ฒ์ ์ํฌ๋งค๋์ ๋ฟ์ด๋ค.
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=AFKOFXJ3L4B6SVPCWOUYBLLQYNENLA5CNFSM4FM72VCKYY5KOWSWWK3TUL52HS4DFVREXG43VMVBW63
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AFKOFXOP3K36MV6LCE3E7HTQYNENLANCNFSM4FM72VCA
.
@akinsete , HA ํด๋ผ์ด์ธํธ: https://github.com/estevez-dev/ha_client
Workmanager๋ iOS์์ ์ผ๊ด์ฑ์ด ์์ผ๋ฏ๋ก ์์ ์ด ์คํ๋ ์๊ธฐ๋ฅผ ์ ์ดํ ์ ์์ผ๋ฏ๋ก ์ค์๊ฐ ์์น ์ ๋ฐ์ดํธ ๋ชฉ์ ์ผ๋ก ์๋ํ์ง ์์ต๋๋ค. Android์์๋ ์ต์ ๋น๋๊ฐ 15๋ถ์ด๋ฏ๋ก ์ด ๋ฐฉ๋ฒ๋ ์๋ํ์ง ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ฌํฐ๋ก ๊ตฌํํด์ผ ํฉ๋๋ค.
Android์ ๋ํ ๊ฒฝํ์ด ๋ง์ง๋ ์์ง๋ง ์ ๊ฒฝ ์ ๋ฐ์ดํธ(ํ์ฌ ์ด ํ๋ฌ๊ทธ์ธ์์ ์ฌ์ฉ๋๋ ๊ฒ)์ ๋น๊ตํ์ฌ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ์ ๋ฐ์ดํธ์ ๋ํ ๋ณ๋์ ํธ์ถ ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์คํ์ง ์์ง๋ง ์ฑ์ด ์ด๋ค ์ํ์ ์๋์ง์ ๋ฐ๋ผ ์ต์ ์ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ๋ ์ฌ์ฉํ๊ณ ์ถ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด์ ๋ํ ๋ค๋ฅธ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์ด๊ฒ์ ์์น ์ถ์ ํจํค์ง์ ๋งค์ฐ ์ค์ํ ๊ธฐ๋ฅ์ด๋ฉฐ ์ด๊ฒ์ด Flutter์ 1์ ์์น ํจํค์ง๋ผ๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค.
@christocracy ์ ํ๋ฌ๊ทธ์ธ์ ๊ทธ๋งํ ๊ฐ์น๊ฐ ์์ผ๋ฉฐ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์๋ตํฉ๋๋ค. ๋ฐฐ๊ฒฝ ์์น๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์ํ ๊ฒฝ์ฐ ๋ช ๋ชฉ์์ ๋น์ฉ์ ๋๋ค.
@jamesdixon ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ฅญํฉ๋๋ค. ํ์ง๋ง ์์ ์ ์์น ์๋ฆผ์ด ์๋ ์์ ๊ด๋ฆฌ์ ์ฑ์ด ์์ต๋๋ค. geolocator + flutter_local_notifications๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ผ ๋ ํธ์ ์๋ฆผ์ ํธ๋ฆฌ๊ฑฐํ ์ ์์ง๋ง ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ํ๋๋ฉด ์๋ํ์ง ์์ต๋๋ค. flutter_background_geolocation์ ๋ด ์๊ตฌ ์ฌํญ์ ๋๋ฌด ๋ง์ต๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
https://github.com/rekab-app/background_locator
Maaaaan ๋น์ ์ ์ฌ๊ธฐ์์ ๋ณด์์ ์ฐพ์์ต๋๋ค. ์ ํํ ๋ด๊ฐ ํ์ํ ์ ์ผํ ๋ฌธ์ ๋ ๋ฌธ์๊ฐ ๋ถ์กฑํ๋ค๋ ๊ฒ์ ๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
https://github.com/rekab-app/background_locatorMaaaaan ๋น์ ์ ์ฌ๊ธฐ์์ ๋ณด์์ ์ฐพ์์ต๋๋ค. ์ ํํ ๋ด๊ฐ ํ์ํ ์ ์ผํ ๋ฌธ์ ๋ ๋ฌธ์๊ฐ ๋ถ์กฑํ๋ค๋ ๊ฒ์ ๋๋ค.
๋๋ ๊ทธ๋ค์ ์์ ๋ฅผ ์คํํ ์ ์์๋ค. ๊ทธ๊ฒ์ ์ ์๋ํ๋ค. ๋๋ก๋ ๋ฉ์ธ ์ฑ์ ๋ซ์ ๋ ์ขํ ๊ธฐ๋ก์ ๋ฉ์ถ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋น์ค๋ฅผ ์คํํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ ๋๋ ๊ทธ๊ฒ์ ๋ค์ ํ ์คํธํด์ผํ๋ค ...
์คํํ๋ ๋ฐ ๋์์ด ํ์ํ๋ฉด ์๋ ค์ฃผ์ญ์์ค. :)
๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ ์๋ํฉ๋๋ค. ์ ์ผํ ๋ฌธ์ ๋ ์ฝ๋ฐฑ ํจ์์์ ๋์คํฌ์ ์ ์ฅํ๋ ๊ฒ์
๋๋ค. ์๋น์ค๋ ํ๋ฌ๊ทธ์ธ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ๋ฑ๋กํ์ง ์์ผ๋ฏ๋ก ์๋ฅผ ๋ค์ด ์ฑ์ด ์ข
๋ฃ๋ ๊ฒฝ์ฐ์๋ path_provider๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ดํฐ๋ธ ํธ์ถ์ ํ ์ ์์ต๋๋ค. ์๋ฌด๊ฒ๋ ์์ ํ์ง ์๋๋ก ์ฃฝ์ธ FlutterActivity์์ ReceivePort๋ก ์ ์กํฉ๋๋ค. ๋ค์ ์์ํ ๋ ๊ฒฉ๋ฆฌ๋ฅผ ์ข
๋ฃํ ๋ค์ ์ ํฌํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์์ฑํด์ผ ํ์ง๋ง ์ต์ ์ ์๋ฃจ์
์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ ์ผ(์๋ฆผ๊ณผ ํจ๊ป dart ์ฝ๋๋ฅผ ์คํํ๋ ์๋น์ค๊ฐ ์์)๊ณผ ๋งค์ฐ ์ ์ฌํ ์ด ์์ ๋ฅผ ์ฐพ์์ง๋ง ๋์คํฌ์ ํญ๋ชฉ์ ์ ์ฅํ ์ ์๋๋ก Kotlin ํ์ผ์ ํ๋ฌ๊ทธ์ธ ํญ๋ชฉ์ ๋ฑ๋กํฉ๋๋ค.
์ฝ๋ฐฑ ํจ์์์ LatLng๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์๋ค๋ฉด ๊ต์ฅํ ๊ฒ์
๋๋ค๐
@christocracy ๋ ์์ ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์ผ๊ด๋๊ฒ ์๋ํ๋ ๊ฒ ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ํค๋ฅผ ์ด๋ฐ ์์ผ๋ก ๋ณด๋ผ ์ ์๋ค๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค(์ฑ์ด ๋ซํ ํ ์ข ๋ฃ๋๊ฑฐ๋ ๋ น์์ด ์ค์ง๋จ). ํ์ฌ ๋๋ค ๋ณ์ ์์ฅ์ ์์ฒญ์ผ๋ก ์ฝ๋ก๋ ์ถ์ ๊ธฐ๋ฅผ ๊ตฌ์ถํ๊ณ ์์ต๋๋ค. ๋น์ ์ด ๋๋ฅผ ๋์ธ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
ํ์ฌ ๋๋ค ๋ณ์ ์์ฅ์ ์์ฒญ์ผ๋ก ์ฝ๋ก๋ ์ถ์ ๊ธฐ๋ฅผ ๊ตฌ์ถํ๊ณ ์์ต๋๋ค. ๋น์ ์ด ๋๋ฅผ ๋์ธ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ฒ์๋ถํฐ ์์ํ๋ ๋์ Github์์ ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ํฌํฌํ๊ณ ์ถ์ ๊ฒ์ ๋๋ค.
@RomanJos @Ashar2shahid https://corona-trace.github.io/
@christocracy ์ด๊ฒ์ ๋ด๊ฐ ๊ตฌ์ถํ๋ ค๊ณ ํ๋ ๊ฒ๊ณผ ์ ํํ ๊ฐ์ต๋๋ค. Flutter์ ๋ํ background-location-plugins ๊ฒ์์ด ์ ๋ฅผ ์ฌ๊ธฐ๋ก ์ด๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์น์ฌ์ดํธ์ ๋งํฌ: https://corona-trace.github.io/
Slack ์ฑ๋์ด ์๋ํ์ง ์์ต๋๋ค. slack์ ๋ํ ๋ค๋ฅธ ๋งํฌ๊ฐ ์์ต๋๊น?
๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ดํด๋ณด์๋ค - ์ด๊ฒ์ ๋ด๊ฐ $300 ์ด์์ ์ฐพ์ ๋ ๋ง์ ์์ ์ ์ ์ฝํ ๊ฒ์ด๋ค. Apple์ ๋ธ๋ฃจํฌ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฌํ ๊ฒ์ ๊ตฌ์ถํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ทธ๋ค์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ์ ๋ ๊ด์ฌ์ด ์์ต๋๋ค. ํ์ง๋ง ์ ์๊ฐ์๋ ์์น ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๊ฐ ์ด ์๋์ ์ง๋ถํ๋ ์์ ๊ฐ๊ฒฉ์ด๋ฉฐ, ์ด์ ๊ฐ์ด ๊ตฌ์ถํ๊ณ Google ํ ์ดํฌ์์ ๋ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ํํ ์ ๊ฐ ์ผ๋์ ๋์๋ ๊ฒ์ ๋๋ค.
@tatiblockchain ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ค์ ์ ๋ ผ์ํด ์ฃผ์ญ์์ค.
์์์์ ๊บผ๋ด๋ ๊ฒ์ด ์ ๊ทธ๋ ๊ฒ ํฐ ๋ฌธ์ ์ ๋๊น?
@MazEbeid ์ ํํ ๋ฌด์์ ์๋ฏธํฉ๋๊น?
๋๋ ๊ทธ๊ฒ์ ์ง์ํ ์ ์๊ณ ์ถ์ง๋ง ๊ทธ๊ฒ์ ๊ตฌ์ถํ๋ ๋ฐ ํ์ํ ์ง์์ด ์์ ๋ฟ์ ๋๋ค. ๋ํ ๊ทธ๊ฒ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์๊ฐ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ์์ ๋กญ๊ฒ ํ ๋ฆฌํ์คํธ ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ด๊ฐ ๋น๋ํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ข์ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ํ์คํ ์ดํด)?
Flutter ํ์ด ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ํ ํ๋ฅญํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํ์ง ์๋ ์ด์ ๋ฅผ ์๋ฏธํ์ต๋๋ค.
์ ์๋ํ๋ ์ด ํ๋ฌ๊ทธ์ธ background_locator ๋ฅผ ์ฌ์ฉํ์ง๋ง ํ์ฌ ์ฑ์ด ์ข ๋ฃ๋ ๋ iOS์์ ์์น ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
์๋ฌด๋ฐ ํฌ๋ง๋ ์์ด ๋์๋ฆฌ์ ๊ฐ์ ํ๋ค =(
ํ์ฌ background_locator
ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์๋ฒฝํ์ง๋ ์์ง๋ง ์๋ํฉ๋๋ค
background_locator
๋ ์ข์ง๋ง... ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ ๋ ๋ ๊ฐ๋ ฅํ ๊ฒ์ ์ฐพ๋ ๋ฐ ๋งค์ฐ ๊ด์ฌ์ด ์์ผ๋ฉฐ(์ฌ๊ธฐ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.) ์๋ฅผ ๋ค์ด ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ์๊ฑฐ๋ ํ๋ฉด์ด ๊บผ์ ธ ์๋ ๋์ ์ด๋ฌํ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ๋ชจ๋ฒ ์ฌ๋ก ๋ฅผ ๊ฐ๋ ๋ฐ ์ ๊ฒฝ์ฐ์ง ์์ ๊ฒ์ ๋๋ค.
๋๋ ๋ง์ ์ต์ ์ด ๊ฒฉ๋ฆฌ ์์ ํ์ง ์๊ณ ์์๋ ๋ฐ์ดํฐ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ฑฐ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋ฃจ์ ์ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ ์ด์์ ์ด์ง ์์ ์ก์ธ์ค ์ค๋ฅ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
@Flavsditz ํ์ฌ bg ์ถ์ ์ฉ ๊ธฐ๋ณธ ํ๋ฌ๊ทธ์ธ์ ๊ฐ๋ฐํ ๊ณํ์ ๋๋ค. ๋๋ ์๋ง๋ ์๋๋ก์ด๋์์ ์ฑํ ๊ฑฐํ์ ํ์ํ์ฌ ์์น๋ฅผ ์ถ์ ํ ๊ฒ์ ๋๋ค(์ ๊ฐ ํ๋ฆด ์๋ ์์ง๋ง ์๋๋ก์ด๋๋ ์๋น์ค๋ฅผ ์ ์งํ๊ธฐ ์ํด ํฌ๊ทธ๋ผ์ด๋ ์๋น์ค๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค). ํ์ง๋ง iOS์์ ์ถ์ ํ๋ ๊ฒ์ ๋ํด์๋ ์ ํ ๋ชจ๋ฆ ๋๋ค.
์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ $300 ์ด์์ ์ง๋ถํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์๋ ๋ค๋ฅธ ๊ฒ์ ์ ํํด์ผ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์น ์ ๋ณด๊ฐ ์๋ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ $300 ์ด์์ ์ง๋ถํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์๋ ๋ค๋ฅธ ๊ฒ์ ์ ํํด์ผ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์น ์ ๋ณด๊ฐ ์๋ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด ๋ณด์
จ์ต๋๊น? ์ต๊ทผ์ ์
๋ฐ์ดํธ๋์์ผ๋ฉฐ ๋ฐฐ๊ฒฝ ์์น๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค.
https://github.com/rekab-app/background_locator
@mvanbeusekom ์ด๊ฑฐ ๋ฃ์ ์ํฅ ์์ผ์ ๊ฐ์? ์์ฒญ๋๊ฒ ๋ฉ์ง ๊ฒ์ ๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ํ์๋ก ํฉ๋๋ค.
@ndhbr ์, ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์น ์ ๋ฐ์ดํธ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ง์ํ๋ ค๋ ์๋๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ง๊น์ง๋ ๊ทธ๋ด ์๊ฐ์ด ์์ต๋๋ค. ์์ํ ๋๋ง๋ค ๋ค๋ฅธ ๊ฒ(๋ ์ค์ํ ๊ฒ)์ด ๋ํ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด iOS 14์์ ์ฌ์ฉ์๊ฐ ์์น ์ ๋ณด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํด์ผ ํ๋ ์์น ๊ถํ์ ๋ํ ์๋ก์ด API๋ฅผ ๋์ ํ iOS 14๊ฐ ์ถ์๋์์ต๋๋ค.
๋ฐ๋ผ์ ํธ์ํจ์ ๋๋๋ค๋ฉด ์์์ ํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ์ด์ฉ๋ฉด ๊ฑฐ์น ๊ฐ์ฅ์๋ฆฌ์ผ ์๋ ์์ต๋๋ค. ๋ด๊ฐ ๊ฐ์ง ์์ด๋์ด๋ ์์น ์ ๋ฐ์ดํธ๊ฐ ๋์ฐฉํ ๋๋ง๋ค ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ์์ ๋๋ง ์คํ๋ Dart ์ฝ๋ฐฑ ๋ฉ์๋๋ฅผ ๋ฑ๋กํ ์ ์๋ ์ต์ ์ ๊ฐ๋ฐ์์๊ฒ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค(์ด ๊ธฐ์ฌ ์ ์ค๋ช ๋จ). ๊ณํ์ ์ธ์ธ ์ ์๋ค๋ฉด ์ด๋ฏธ ๋ง์ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์ํํด์ผ ํ๋ ์์ ์ ๋ ์์ ์กฐ๊ฐ์ผ๋ก ๋๋๋๋ค.
@mvanbeusekom
์ ๊ทธ๋ ๊ตฐ์ ์
๋ฐ์ดํธ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ดํดํ ์ ์๋ค. ๋น์ ์ ๋
ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ด๋ฏธ ๊ธ์ ๊ฑฐ์ ๊ฐ์ด์ผ๋ก ์๊ณ ์์ง๋ง ์ฌ์ ํ ์ฝ์ง ์์ต๋๋ค.
๋๋ background_locator๋ฅผ ์์ ์ ์ผ๋ก ์คํํ๊ธฐ ์ํด ์ผ์ฃผ์ผ ๋์ ๋ ธ๋ ฅํด ์์ผ๋ฉฐ(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_locator https://github.com/rekab-app/background_locator/issues/167 ์์ ์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์์ด ํจํค์ง๋ก ์ด๋ํ์ต๋๋ค. https://github.com/transistorsoft/flutter_background_geolocation ์ด ํจํค์ง๋ ํ๋ฅญํฉ๋๋ค.
@Dereumaux-Adrien ์ ๋ฐ์ดํธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. 15๋ถ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์๋ ํ ๊ฒ์ ๋๋ค..
@bhanuka96 ์ฌ์ค, ๊ทธ๊ฒ์ ์๋ฒฝํ๊ฒ ์๋ํ์ง๋ง ๋ด ํ๋ก์ ํธ์ ์์
์ ๊ฐ์น๊ฐ ์๋์ง ์์ง ์์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ํ๋ฌ๊ทธ์ธ์ ๋์ ์ธ ์๊ฐ์ ์์ต๋๋ค.
๋๋ background_fetch๋ ๊ทธ๋ค๋ก๋ถํฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ ํธ๋์ง์คํฐ ์ํํธ๋ฅผ ๊ฐ์น ์๊ฒ ์๊ฐํฉ๋๋ค.
ํ๋ก์ ํธ๊ฐ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๋์ค์ 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 ์ฌ๊ธฐ์ ์์ฑ๋ ๋งค๋ํ์คํธ ๋ณ๊ฒฝ ์ฌํญ
https://medium.com/@pierre.sabot/how -to-fetch-user-location-in-background-with-flutter-e3494021bdf5์ ์์ธํ ์ค๋ช ๋ ๋๋ก WorkManager๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
Android์ ๊ฒฝ์ฐ ์ฌ์ ํ 15๋ถ์ผ๋ก ์ ํ๋์ง๋ง ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ธ ๊ฐ๋จํ API์ ๋๋ค.
https://pub.dev/packages/background_location ์ ์ฌ์ฉํ์ฌ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฌ์ฉ์ ์์น๋ฅผ ์ถ์ ํ๊ณ firestore์ ์ ์ฅํ์ต๋๋ค.
๋ํ ์์น๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋์ ๋์ฐฉํ ๋ ์ฝ๋ฐฑ์ด ํธ์ถ๋๋ ๊ฒ์ ์ ๋ง๋ก ์ํ์ง ์๋์ง ๊ถ๊ธํฉ๋๋ค(๊ทธ๋์ ์์น๋ฅผ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋๋ก ๋์์ฌ ๋ ์ฒ๋ฆฌ๋ ์ ์๋๋ก ์ด๋๊ฐ์ ์์ ํ๊ฒ ๋ณด๊ดํ ์ ์์) .
ํ์ฌ location
ํ๋ฌ๊ทธ์ธ์์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ์ด ๋ด๊ฐ geolocator
์ ๋ํด ์๊ฐํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ ์ธ๊ธํ๋ ๊ฒ์ ์ ๋ง ์์๊ฐ ์๋๋๋ค.
https://medium.com/@pierre.sabot/how -to-fetch-user-location-in-background-with-flutter-e3494021bdf5์ ์์ธํ ์ค๋ช ๋ ๋๋ก WorkManager๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
Android์ ๊ฒฝ์ฐ ์ฌ์ ํ 15๋ถ์ผ๋ก ์ ํ๋์ง๋ง ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ธ ๊ฐ๋จํ API์ ๋๋ค.
๋๋ 15๋ถ๋ง๋ค ์ฃผ๊ธฐ์ ์ผ๋ก ์์น๋ฅผ ์ป์ผ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋งค์๊ฐ ์ฃผ๊ธฐ์ ์ธ ์ด๋ฒคํธ๋ฅผ ์ค์ ํ์ฌ ์์น๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์์
๊ด๋ฆฌ์๊ฐ ์๋ํ์ง๋ง(์๋ฆผ์ด ํ์๋จ) ์์น๋ฅผ ์ ์ ์์ต๋๋ค.
์ฃผ๊ธฐ์ ์ธ ์ด๋ฒคํธ๋ฅผ ์ค์ ํด ๋ณด์
จ๋์? ๊ทธ๋ ๋ค๋ฉด ์ผ๋ง๋ ๊ฑธ๋ฆฝ๋๊น?
@mvanbeusekom ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ ์๋ ๋์ ์์น ์
๋ฐ์ดํธ๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ณ๋์ ๋ฌธ์ ๋ฅผ ์ด์ด์ผ ํ๋์?
์ ๊ฒฝ์ด๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ ์ค์ด์ง๋ง ์ฌ์ฉ์๊ฐ ํ ๋ฒํผ์ ํญํ๊ฑฐ๋ ๋ค๋ฅธ ์ฑ์ผ๋ก ์ ํํ๊ฑฐ๋ ํ๋ฉด์ด ๊บผ์ ธ ์์์ ์๋ฏธํฉ๋๋ค. Android์ ๊ฒฝ์ฐ ์ฑ์ด ์์น๋ฅผ ์ฌ์ฉํ๊ณ ์์์ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๋ ์ง์์ ์ธ ์๋ฆผ์ ํ์ํ๋ ํฌ๊ทธ๋ผ์ด๋ ์๋น์ค๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค. iOS์ ๊ฒฝ์ฐ ์ํ ํ์์ค์ ๋
น์ ์์ด์ฝ์ด ํ์๋ฉ๋๋ค(NSLocationWhenInUsage ๊ถํ์์ ํ์ฉ๋จ).
์ด๋ฅผ ์ง์ํ๋ ๊ฒ์ด ํจ์ฌ ์ฌ์ธ ๊ฒ์ด๋ฉฐ ์ค์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ์
๋ฐ์ดํธ๊ฐ ํ์ํ์ง ์์ ๋ง์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ํด๊ฒฐํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. (๋ฐฑ๊ทธ๋ผ์ด๋ ์์น ์ ๊ทผ์ ์์น ์
๋ฐ์ดํธ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฑ์ด ์ข
๋ฃ๋๋ฉด ์ฑ์ด ์คํ๋๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋น์ค๊ฐ ์ฑ๊ณผ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค).
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ๋ํ ์ด ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ๋ฐฐ๊ฒฝ ์์น ์ ๋ฐ์ดํธ๋ฅผ ์ํ ๋ด ์์ ์ ํ๋ฌ๊ทธ์ธ์ ๊ฐ๋ฐํ์ต๋๋ค. ์ฌ๊ธฐ๊ฐ flutter_background_location ์ ๋๋ค.