개발人

Local Notification (Playmaker + AndroidNativePlugin) 본문

Unity/Example

Local Notification (Playmaker + AndroidNativePlugin)

NJHouse 2015. 5. 30. 18:53
반응형

## 선행학습 ##

- Unity5 기본 사용법

- PlayMaker 기본 사용법


안녕하세요.


PlayMaker 와 AndroidNativePlugin 이 두 Asset 을 가지고 유니티로 만들어진 앱 및 게임에서 Local 


Notification 을 구현해 보겠습니다. 이 두 Asset 을 사용하면 정말 손쉽게 기능을 구현할 수 있습니다.


* NGUI 도 사용할건데요. 이 asset 은 UI 를 잡기 위한 목적이기 때문에 크게 의미 없는 내용이라서 위에서 언


급 하지 않았습니다.


[playMaker]


[Android Native Plugin]


Android Native Plugin 에서는 PlayMaker를 이용한 Local Notification 기능 4가지를 지원하는데요.


https://unionassets.com/android-native-plugin/actions-list-98 중간쯤에 Notifications 라는 라벨이 있구


요. 그 하단에 4가지 메소드명을 정의하고 있습니다.


- AN_CancelAllLocalNotifications : 모든 알림을 취소

- AN_CancelLocalNotification : 특정 알림을 취소

- AN_ScheduleLocalNotification : 알림을 등록

- AN_ShowToastNotification : 토스트 알림 기능


그럼 버튼을 이용해 각 기능별 간단한 예제를 만들어 보겠습니다.


1) AndroidNativePlugin 용 PlayMaker Action 추가 

  • 설치된 프로젝트 "Assets/Extensions/AndroidNative/Addons/PlayMakerActions" 내 "PlayMakerActions.zip" 파일 압축 해제
  • "Assets/PlayMaker" 아래에 복사 붙여넣기
  • Unity 에디터 포커싱 하면 자동으로 설정

2) 토스트 알림

  • 버튼추가


  • 버튼에 FSM 을 추가합니다.

Hierarchy 화면에서 버튼을 선택합니다

playMaker 에디터에서 오른쪽 마우스 클릭하면 아래와 같은 팝업이 나오고 "Add FSM"을 선택합니다

그럼 기본 State 가 보여집니다 

버튼에는 FSM이 적용되었다는 표시가 보여집니다


  • 버튼 Inspector 에 "N Gui Event To Playmaker Fsm Events" 추가 및 설정

버튼 이벤트를 주기 위해 "NGUI / On CLICK" 와 같은선상의 "edit" 을 클릭합니다.

그리고 나서 이벤트 FSM 이벤트에 추가할 이벤트 명을 입력합니다.

  • 이제 버튼을 클릭하면 Toast Notification 이 발생하도록 FSM 을 설정

PlayMaker 에디터 오르쪽 Events 영역에 Inspector 에서 설정한 클릭 이벤트 이름과 같은 이름의 이벤트를 추가한다 (그러면 Inspector 영역에 설정했던 이벤트가 사용됨(Used)로 바뀐다)

외쪽 FSM 창 State1 에서 마우스 우클릭 > Add Transition > OnClick(우리가 등록한 이벤트) 를 선택한다

그리고 나서 State 를 하나 더 추가하고 OnClick 이벤트를 State2 에 연결 시킨다. State2에서는 위와 같은 방법으로 FINISHED 이벤트를 추가 후 State1 에 연결시킨다

Action Browser 를 띄워 "AN_Show Toast Notification" 을 더블클릭 한다

State 에 더블클릭한 액션이 추가되며 Message 창에 원하는 메세지를 입력한다. 필자는 "Toast Test"로 입력했다.

그리고 나서 폰 혹은 애물레이터(에디터 상에선 실행안됨)에서 확인하면 다음과 같이 실행되는 것을 확인할 수 있다.


To be continue.... (너무 길어서 나눠서 작성해야 겠어요 @.@)





반응형
Comments