잡동사니

겔럭시 루틴, Tasker(+AutoInput)를 활용한 자동 출석 (1) 본문

Tasker and Join

겔럭시 루틴, Tasker(+AutoInput)를 활용한 자동 출석 (1)

승이75 2023. 6. 6. 20:58

예전부터 "우리동네GS"같은 편의점 앱에서 매일매일 출석을 25일 이상하면 간단한 상품 같은걸 주길레 열심히 해오던 편이었다. 찾아보니 이런걸 아우르는 용어가 "앱테크"라고 있더라...

아무튼 별 생각없이 매일 아침에 일어나자마자 몇군데 이렇게 출석하면 상품주는 앱들을 돌면서 출석을 해왔었는데 갑자기 출석도 매크로를 써서 할 수 있는거 아닌가 싶어서 검색을 해봤다. 역시 선각자들이 있었다. 아래 링크는 그중 대표적인 것만 참고로 가져와본 것이다. 

 

https://arca.live/b/lastorigin/42318427

 

자동 출석체크(원스토어+T멤버십) feat.갤럭시루틴 - 라스트오리진 채널

원스토어/T멤버십 출석체크해서 공짜 참치캔은 먹고 싶음하지만 매일 출석체크를 하기는 귀찮다. 그런 사람들을 위한 공략이 있었음→ 원스토어 출첵 완전 자동으로 하기(탬 컷 높음)다만, 화면

arca.live

 

Tasker를 쓰는건 찾기가 힘들었고, 겔럭시 "루틴"이라는 기능을 쓰는 내용은 몇몇 찾을 수 있었다. 해당 내용들을 참고해서 아래와 같이 7개 앱들을 자동으로 출석하는 매크로를 겔럭시 Fold3에서 만들 수 있었다. 

전체 수행 시나리오는 이렇다. 일단, 설정 - 디스플레이- 화면 자동 꺼짐 시간은 2분으로 해놓는다. 이렇게 하면 화면이 켜진 상태에서 2분간 대기후 아무런 동작이 없으면 화면이 잠기게 된다. 

먼저 정해진 시간(12:01)에 1. 잠금해제 작업이 수행된다. 이때 잠겨진 폰이 켜지게 된다. 이후 12:02분에 2. 세븐일레븐 출석 매크로가 진행된다. 정해진 시간의 트리거 조건은 분단위로 밖에 할 수 없어서 이렇게 1분 단위로 후속 매크로를 수행하도록하고 화면 자동꺼짐 시간은 2분 이상으로 하였다. 이렇게 후속 매크로 수행시간을 1분 단위로 뒤로 밀어가며 지정하였다. 이렇게 해야 화면 잠김 없이 계속 후속 매크로들이 실행된다. 마지막 매크로가 수행되고 2분이 지나면 화면은 꺼지고 잠기게 될것이다. 

 

잠자는 동안 새벽에 수행되도록 하고 싶어서, 일단 꺼져있던 폰을 깨우는 기능이 필요하였다. 이기능은 아래 처럼 정해진 시간에 홈버튼을 누르는 동작으로 화면을 깨우고 "터치 매크로" (터치나 스와이프 같은 사용자의 행위를 매크로로 기록했다가 그대로 반복하는 기능) 기능으로 암호를 해제하는 식으로 하였다. (아래 무엇을 할까요? 부분)

여기서 생각해 보아야 할 변수가 있는데 "Smart Lock"기능 사용 여부와 스마트폰의 fold 상태 여부다. "Smart Lock" 기능은 특정 장소나 특정 기기가 블루투스로 연결되어 있을때 기기 잠금 해제를 안(덜) 물어보는 기능인데 Smart Lock을 사용하는 상태라 하더라도 가끔 기기 해제를 위한 패턴락을 화면에 띄우는 경우가 있어 무조건 패턴락을 푸는 스와이프 패턴을 터치매크로에 넣었다. 스크린 락이 걸린 상태라면 위 사나리오대로 홈버튼으로 화면이 켜지고 패턴락을 푸는 스와이프 동작이 수행되어 정상적으로 스마트폰이 켜진상태가 될것이고, 스마트 락 기능으로 락이 해제되어 있는 경우라면 패턴락을 위한 스와이프 동작이 실행되지만 락이 해제된 홈 화면에서 패턴락 해제를 위한 스와이프 동작이 수행되어 그냥 허공에 문지르는 ... 결과적으로 아무일도 일어나지 않는 상태가 될 것이다. 

 

그리고 스마트폰(Fold3)이 접혀있는 경우일 수도 있고 펼쳐진 상태일 수도 있다. 매크로 기록이 펴진 상태에서 기록된것이라면 졉펴진 상태에서 해당 매크로는 정상적인 내용으로 수행되지 못할것이다. 기기의 상태를 판단해서 로직을 수행할 수 는 없고 각 경우에 다 대응되도록 하고 싶다면 각 경우마다 매크로를 다 준비해서 다른 시간에 각각 수행하면 되겠다. 가령 펴진 상태를 가정하고 만든 매크로는 12:01~12:10분 사이에서 수행하고, 접힌 상태를 가정하고 만든 매크로는 13:01~13:10분사이에서 수행하는 식으로... 이렇게 하면 폰 상태가 어떻던지에 따라 둘중에 하나는 정상 작동하게 될것이다. 두 경우 다 대응되도록 했다가 그냥 정신이 좀 사나울 것 같아서 일단은 Fold3이 펴져있다고 가정하고 매크로를 만들었다. 

 

터치 매크로를 만들때는 위 화면 처럼 "설정 안함"을 할 수도 있고, 특정 앱을 선택할 수도 있다. 특정 앱을 선택하면 해당앱이 구동되고 난 후의 모든 터치나 스와이프를 기록하게 되고 "설정 안 함"을 하면 그냥 곧바로 이후의 터치 상황을 기록하게 된다. 잠금 해제를 위해서는 "설정안함"을 선택하고 화면상에 패턴락을 위한 패턴이 떠 있다고 생각하고 손으로 패턴을 기록하면 된다. 이게 잘 안되서 화면에 패턴락을 띄우고 스카치테잎 등으로 패턴을 표시해놓고 매크로를 만들면 좋다. 

 

일단 이렇게 잠금해제를 만들어 놓고 이후 각 앱별로 매크로를 만든다. 위의 터치매크로를 만들기 위한 화면에서 아래 "+추가"를 선택하고 앱선택 화면에서 기록하고 싶은 앱을 선택한다. 가령 세븐일레븐 앱을 선택하면 아래처럼 세븐일레븐 앱이 구동되고 화면 왼쪽의 팝업메뉴가 뜨는데 여기서 녹화를 선택하고 이후 출석을 위한 터치나 스와이프들을 수행하면 된다. 작업이 다 끝나면 왼쪽 팝업에서 저장을 누르고 이 매크로 기록을 저장시키고 트리거 조건 (특정 시점에 실행)과 연결 시켜 주면 된다. 

 

매크로의 시작지연시간은 넉넉하게 주는게 좋다. 앱 구동 시간이 네트워크 상황에 따라 늦게 구동될 수가 있어 앱 로딩이 체 끝나지 않았는데 매크로가 수행되는 경우가 있을 수 있어서이다. 4000ms이상 크게 주는게 좋다. 

겔럭시 루틴은 Tasker에 비하면 워낙에 직관적이라 써보면 금방 익숙해진다. 위에 설명한것처럼 각 앱들의 출석 매크로를 저장하고 특정 시점에 시작되도록 하면 된다. 만들어진 매크로는 아래 처럼 재생메뉴로 정상작동 하는지도 확인해볼 수 있다.