새 메시지가 있으면 viewHolder에 indexMessage() 호출하는 코드를 추가한다.
MainActivity.java
1 2 3 4 5 6 7 8 9
@Override protectedvoidonBindViewHolder(final MessageViewHolder viewHolder, FriendlyMessage friendlyMessage, int position) { //... if (friendlyMessage.getText() != null) { // write this message to the on-device index FirebaseAppIndex.getInstance() .update(getMessageIndexable(friendlyMessage)); } }
Note: It helps to add an IntentService that establishes a base index of all messages for you initially. See details in the App Indexing documentation.
사용자 행위 기록
앱 안에서 사용자 행위 기록은 구글 앱에서 앱 컨텐츠에 대한 사용자 경험을 개선하는데 도움을 준다.
메시지를 보는 것 같은 개인적 내용에 대한 사용자 행위를 기록하기 위해서는 Action 객체의 Metadata 에서 업로드 속성을 false 로 해주어야 단말에 기록이 남고 구글 서버에 업로드 되지 않는다.
기록이 끝나면 FirebaseUserActions.getInstance().end(...) 메서드에 getMessageViewAction() 에서 번환하는 Action 객체를 넘겨주면서 호출해 준다.
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
...
@Override protectedvoidonBindViewHolder(final MessageViewHolder viewHolder, FriendlyMessage friendlyMessage, int position) {
... if (friendlyMessage.getText() != null) { // write this message to the on-device index FirebaseAppIndex.getInstance() .update(getMessageIndexable(friendlyMessage)); }
// log a view action on it FirebaseUserActions.getInstance().end(getMessageViewAction(friendlyMessage)); }
행위 기록 테스트
앱을 실행하고 메시지 Hi world 메시지를 전송한다
Google app에서 Hi world 메시지를 검색하고, 결과는 Personnel tab에서 확인할 수 있다.