모바일 앱 FAQ

Mattermost는 어떤 버전의 모바일 v2 앱을 지원합니까?

Mattermost 서버와 Mattermost 푸시 알림 서비스(MPNS)의 최신 버전을 실행하는 것을 권장합니다. 이 버전에는 가장 최근의 기능 및 해당 보안 업데이트가 포함되어 있습니다. 이게 불가능한 경우에는, Mattermost 서버의 최신 Extended Support Release version 을 사용하는 것을 권장합니다. Extended support 릴리스에는 MPNS를 포함하여 여러 영역에서의 호환성을 보장하는 중요한 기능 업데이트가 포함되어 있습니다.

기본적인 모바일 장치 요구 사항에 대한 자세한 사항은 지원되는 장치/모바일 장치 요구 사항 문서와 Mattermost 서버의 최소 요구 사항에 대한 자세한 내용은 지원되는 Mattermost 서버 버전 문서를 참조하세요.

모바일 앱을 통해 여러 개의 Mattermost 서버에 연결할 수 있습니까?

네, Mattermost 모바일 앱 v2.0을 사용하면 가능합니다. 모바일 v1.x는 한 번에 하나의 서버에만 연결하는 것을 지원합니다.

모바일 앱에 태블릿 버전이 있습니까?

Mattermost 클래식 모바일 앱은 태블릿을 지원합니다.

태블릿 장치의 고정된 사이드바를 비활성화할 수 있습니까?

태블릿 크기의 장치에 대해 고정된 사이드바는 기본적으로 활성화되어 있지만, 설정 > 화면 > 사이드바 > 고정된 사이드바 에서 비활성화할 수 있습니다. 비활성화된 경우, 사용자는 사이드바를 화면의 좌상단에 있는 버튼을 사용하여 모바일 장치와 유사하게 열어야 합니다.

사용자 계정이 비활성화된 후 모바일 장치에서 데이터가 처리되는 방식은 어떻게 되나요?

사용자가 앱에서 로그아웃하면 앱 데이터가 장치에서 지워집니다. 계정이 비활성화된 상태에서 사용자가 로그인되어 있는 경우에는, 비활성화된 지점으로부터 1분 이내에 시스템에서 사용자를 로그아웃합니다. 이후 모바일 장치에서 모든 앱 데이터가 지워집니다.

제 고유의 푸시 알림 서버를 호스팅하기 위해 모바일 앱을 컴파일해야 하나요?

네, 고유의 푸시 알림 서버를 호스팅하려면 모바일 앱을 컴파일해야 합니다. 자세한 내용은 문서 를 참조하여 고유의 모바일 앱을 컴파일하는 방법을 확인하세요.

푸시 알림은 어떻게 작동하나요?

귀하의 Mattermost 서버는 호스팅된 푸시 프록시 서버에 푸시 알림을 보내고, 해당 서버는 Apple 및 Google이 제공하는 모바일 푸시 알림 서비스를 통해 해당 알림을 전달합니다.

푸시 알림이 신뢰할 수 있는 출처에서 오도록 보장하기 위해, Apple 및 Google은 모바일 앱에 컴파일 된 비밀 번호나 서명에 해당하는 서비스를 통해 보낸 푸시 알림만 허용합니다.

전체 프로세스는 다음과 같습니다:

  1. 개인 네트워크에서 실행되는 Mattermost 서버에서 푸시 알림을 유발하는 작업이 감지됩니다.

  2. 귀하의 Mattermost 서버가 자체 호스팅된 개인 네트워크의 Mattermost 푸시 알림 서비스(MPNS)에 푸시 알림 메시지를 보냅니다. 푸시 알림 서비스는 Mattermost, Inc.에 의해 공개적으로 호스팅되거나 자체적으로 호스트되는 MPNS 중 하나입니다.

  3. MPNS는 TLS 연결을 통해 Apple Push Notification Service (APNS) 또는 Google의 Firebase Cloud Messaging (FCM) 서비스에 푸시 알림 메시지를 보냅니다.

    • Apple에 전송되는 경우, 해당 메시지에는 iOS 앱에서 컴파일 된 비밀번호에 해당하는 서명이 있습니다.

    • Google에 전송되는 경우, 해당 메시지는 Android 앱에서 컴파일 된 비밀번호에 해당하는 키를 사용합니다.

iOS 또는 Android를 사용하더라도, MPNS는 모바일 앱에 컴파일 된 해당 비밀번호에 액세스해야 합니다.

이는 Apple App Store 또는 Google Play에서 Mattermost 앱을 사용하는 경우, Mattermost, Inc.에서 호스팅된 푸시 알림 서비스를 사용해야 함을 의미합니다. 자체적으로 앱을 컴파일하는 경우에도 해당 MPNS를 컴파일하고 앱에 해당하는 비밀번호를 사용해야 합니다.

  1. APNS 또는 FCM은 TLS를 통해 MPNS로부터 푸시 알림 메시지를 받은 후, 해당 메시지를 사용자의 iOS 또는 Android 장치에 전달하여 표시합니다.

Note

iOS 및 안드로이드 앱의 푸시 알림 사용은 애플 또는 구글이 제어하는 서버에서 푸시 알림의 내용이 잠깐 보여지고 암호화되지 않은 상태여야 하는 시점이 필요합니다. 이는 모든 iOS 또는 안드로이드 앱에 대한 표준입니다. 이러한 이유로, Mattermost Enterprise에는 Mattermost 메시지의 콘텐츠를 푸시 알림에서 생략하거나, 푸시 알림이 장치에 도달했을 때 서버에서 메시지 콘텐츠를 구성하여 가져올 수 있도록 하는 옵션이 제공됩니다. 자세한 내용은 우리의 구성 설정 문서를 참조하세요.

TLS v1.3를 지원합니까?

네, Mattermost 모바일 앱 v2.0은 웹소켓 연결용 TLS v1.2 및 TLS v1.3을 모두 지원합니다.

모바일 푸시 알림에 전송되는 게시물 메타데이터는 어떻게 되나요?

다음과 같은 게시물 메타데이터가 모든 푸시 알림에 전송됩니다:

  • ID

  • 채널 ID

  • 게시물 ID

  • 사용자 ID (게시물 작성자)

  • 사용자 이름 (게시물 작성자 또는 웹훅 오버라이드 사용자)

  • 루트 ID (스레드에 게시물이 있는 경우에만)

  • 유형 (푸시 알림의 생성 또는 지워짐)

  • 카테고리 (iOS 전용, 알림에 회신할 수 있는지 여부를 결정함)

  • 배지 번호 (알림이 수신된 경우 앱 아이콘의 배지를 설정하는 데 사용됨)

푸시 알림 내용 의 시스템 콘솔 설정에 따라 추가된 메타데이터가 전송될 수 있습니다:

  • 발신자 및 채널 이름과 함께 일반적인 설명 : 채널 이름 메타데이터가 포함됩니다.

  • 알림 페이로드에 전체 메시지 내용이 포함됨 : 게시물 콘텐츠채널 이름 메타데이터가 포함됩니다.

  • 알림을 수신한 후 서버에서 알림 푸시를 통해 메시지 내용이 전달됨 (Mattermost Enterprise에서 사용 가능): 알림 페이로드에 게시물 콘텐츠채널 이름 이 포함되지 않으며, 대신 알림이 장치에 도달한 후 서버에서 게시물 ID 를 사용하여 게시물 콘텐츠채널 이름 을 가져옵니다.

제공되는 예시를 통해 ID-Only 푸시 알림을 사용하여 회신을 위한 범위가 있는 알림 또는 회신이 가능한지의 여부를 확인하세요.

{
    "ack_id": "nnfbqk5bnffe5karxuzs8o5rec",
    "platform": "apple_rn",
    "server_id": "aoej8izzfffr9e67d6uz3g387h",
    "device_id": "32f198dbdd7427be7e6f03ba721ffdceba58c3f0bfa9c4655a6e7cc8271ba539",
    "post_id": "77d9cs9aq3b1fpoepbdbmqfs4c",
    "category": "CAN_REPLY",
    "message": "새로운 메시지를 받았습니다.",
    "badge": 3,
    "channel_id": "et3ghiycm7g7bb41ihg85pqgah",
    "type": "메시지",
    "sender_id": "g774dzud4tgaxgphso4wm8xrxe",
    "version": "v2",
    "is_id_loaded": true
}

where the following definitions are applied:

  • ack_id : 장치에 의해 알림이 수신되었는지 여부를 결정하는 알림당 생성된 일시적 식별자로, 서버의 모델에 식별자를 생성하는 것과 동일한 방법을 사용합니다. 이 정보는 Mattermost 서버의 notifications.log 파일에서 확인할 수 있습니다. ack_id는 알림이 전송되었는지 확인하기 위해 모바일 앱에서 Mattermost 서버로 영수증을 전달할 때만 사용됩니다.

  • server_id : 서버에서 생성된 서버 식별자로, DiagnosticId라고 합니다. 미래에는 이 값이 모바일 앱에서(멀티 서버 지원을 위해) 알림이 속한 서버를 식별하는 데 사용될 것입니다.

  • device_id : APNs와 FCM이 장치가 알림을 수신하도록 허용할 때 반환하는 토큰입니다. 따라서 사용자가 Mattermost에 로그인하면, Mattermost는 이 device_id를 세션에 연결하기 위해 전송합니다. 세션이 종료되면, 세션 레코드가 제거되기 때문에 device_id는 더 이상 서버 데이터베이스에 존재하지 않습니다. 사용자가 다시 로그인할 때, 식별자가 장치에 특정되어 있기 때문에 device_id는 같은 값으로 다시 등록됩니다. 이 값은 같은 사람이 소유한 앱이나 장치에서는 같지 않지만, 같은 앱에서 같은 장치로 사용자가 생성하는 각 세션에 대해 같을 것입니다.

  • version : 모바일 앱에게 데이터가 어떻게 구조화되었는지 알려주어 적절히 구문 분석할 수 있게 합니다. 현재 값은 v2 입니다.

  • is_id_loaded : (Mattermost Enterprise 전용) 참일 경우, 모바일 앱은 알림의 내용을 페이로드에 포함되어 있지 않기 때문에 서버에서 해당 세부 정보를 찾습니다.

모바일 앱을 안전하게 하는 옵션은 무엇입니까?

다음과 같은 안전한 모바일 앱 배포 옵션이 있습니다:

  1. 모바일 앱에 대한 네트워크 연결 보안 설정

  • HTTPS 및 WSS 네트워크 연결 사용하여 전송 암호화

  • 모바일 장치에 모바일 VPN 클라이언트 사용하여 사설 네트워크 내의 Mattermost 서버와 안전한 연결 설정

  1. 이중 인증 옵션 사용

  • 이중 인증이 포함된 VPN 클라이언트를 사용하지 않는 경우, Mattermost 자체 또는 SSO 제공업체를 통해 Mattermost에 인증할 때 MFA가 필요합니다.

푸시 알림을 안전하게 하는 옵션은 무엇입니까?

푸시 알림 서비스를 안전하게 하는 다음 옵션이 있습니다:

  1. 알림 내용 보호

  1. 푸시 알림 비활성화

  • 보안 요구 사항에 따라 푸시 알림을 완전히 비활성화할 수 있습니다. 기본 서버 설정에서는 푸시 알림이 비활성화되어 있습니다.

  1. 자체 컴파일된 앱의 연결 암호화:

  • 개인 호스팅 Mattermost Push Notification Service (MPNS)를 사용할 때 다음 간의 암호화된 TLS 연결을 사용합니다:

    • MNPS 및 Apple Push Notification Service (APNS)

    • MPNS 및 Google의 Firebase Cloud Messaging (FCM)

    • MPNS 및 Mattermost 서버

  1. Mattermost Apple App Store 및 Google Play 앱 보안

  • App Store 및 Google Play의 Mattermost 모바일 앱을 사용할 때, Mattermost Professional 또는 Enterprise의 연간 구독을 구매하여 Mattermost의 Hosted Push Notification Service (HPNS) 를 사용합니다.

Note

구성 세부 정보는 다음 가이드를 참조하세요: Mattermost App Store 및 Google Play 앱 배포앱 버전 사용자화 .

왜 푸시 알림을 받는 데 지연이 가끔 발생합니까?

Apple Push Notification Service (APNS)Google Fire Cloud Messaging (FCM) 은 장치가 Mattermost에서 푸시 알림을 수신하는 시기를 결정합니다. 따라서 지연은 일반적으로 이러한 서비스에서 발생합니다.

장치가 푸시 알림을 받기 위한 기술적인 흐름은 다음과 같습니다:

  1. 사용자가 Mattermost에 메시지를 게시합니다.

  2. Mattermost 서버가 알림을 보내야 하는지 확인합니다.

  3. 그렇다면, Mattermost 서버가 푸시 프록시에 푸시 알림을 포함하는 페이로드를 전송합니다.

  4. 푸시 프록시가 알림을 구문 분석하고 APNS 및 FCM에 중계합니다.

  5. APNS 및 FCM은 관련 장치에 Mattermost를 위한 푸시 알림이 있다는 것을 알립니다. 이는 일반적으로 즉시 발생하지만 몇 분의 지연이 있을 수 있습니다.

  6. Mattermost는 알림을 처리하여 사용자 장치에 표시합니다.

Enterprise Mobility Management (EMM) 제공업체와 함관하여 Mattermost를 배포하는 방법이 궁금합니다.

Mattermost는 개인이 단독으로 제어하는 키를 사용하여 모바일 앱 및 푸시 알림 서비스를 배포하고 안전하게 하는 고객에게 기능을 제공합니다.

EMM 제공업체를 위해 AppConfig 사용에 대해 자세히 알아보세요: EMM 제공업체를 위한 AppConfig 더 알아보기 .

Mattermost 푸시 알림 서비스를 어떻게 호스팅합니까?

우선, Mattermost Hosted Push Notification Service (HPNS) 를 사용할 수 있습니다. 조직은 또한 자체 푸시 프록시 서버를 호스팅할 수 있습니다 . 이는 다음과 같은 경우에 적용됩니다:

  1. Mattermost 모바일 앱을 사용자화 ;

  2. 자체 푸시 알림 서비스를 배포하려는 경우, 또는

  3. BlueCedar 또는 AppDome으로 모바일 앱을 다시 패키징할 경우 (공식적으로 지원되지는 않지만 일부 조직에서 성공적으로 배포된 경우가 있음).

앱의 브랜드를 지정하고 빌드 설정을 사용자화하는 방법은 무엇입니까?

/assets/base 폴더의 모든 파일은 충돌 없이 필요에 따라 대체될 수 있습니다. 다음과 같이 진행하세요:

  1. /assets/override 폴더를 생성합니다.

  2. /assets/base 에서 대체할 파일 또는 폴더를 ``/assets/override``로 복사합니다.

  3. ``/assets/override``의 파일을 수정합니다.

앱을 컴파일하거나 make dist/assets``를 실행할 때, 폴더의 내용이 병합되어 ``/assets/override``의 파일이 충돌이 있는 경우 우선시됩니다. 이미지와 같은 이진 파일의 경우 대체된 파일이 기본 버전을 완전히 대체하며, ``JSON 파일의 경우 대체된 사본에서 설정되지 않은 필드는 기본 버전을 사용하여 병합됩니다.

이 기능을 사용하는 구체적인 예는 다음 섹션을 참조하세요.

사용자를 위해 서버 URL을 사전 구성하는 방법은 무엇인가요?

기본 config.json 설정을 대체하고 모바일 앱을 직접 빌드하여 서버 URL 및 기타 설정을 사전 구성할 수 있습니다.

  1. mattermost-mobile repository를 포크 합니다.

  2. 포크한 mattermost-mobile 저장소에 /assets/override/config.json 파일을 만듭니다.

  3. assets/base/config.json``에서 대체하려는 설정을 새로 만든 ``/assets/override/config.json 파일로 복사하여 붙여넣습니다.

  4. 서버 URL을 대체하려면 ``/assets/override/config.json``에서 ``DefaultServerURL``을 Mattermost 서버의 서버 URL로 설정합니다.

  5. (선택 사항) 사용자가 서버 URL을 변경하는 것을 막으려면 ``AutoSelectServerUrl``을 ``true``로 설정합니다.

  6. (선택 사항) 원하는 다른 설정을 대체합니다.

위 작업을 마치면 /assets/override/config.json 파일은 다음과 같을 것입니다:

{
    "DefaultServerURL": "my-mattermost-instance.example.com",
    "AutoSelectServerUrl": true,
    "ExperimentalUsernamePressIsMention": true
}
  1. 마지막으로, Mattermost 모바일 앱 및 Mattermost 푸시 프록시 서버의 자체 버전을 컴파일 합니다.

post-proxy relay 는 Mattermost Push Proxy 설치 가이드를 통해 연결 제한을 구성하여 사용자 지정 보안 및 규정 요구 사항을 충족시킬 수 있습니다.

DMZ 대신, 내부 승인 및 정책에 따라 AWS나 Azure와 같은 신뢰할 수 있는 클라우드 환경에서 호스팅할 수도 있습니다.

Mattermost 푸시 알림 서비스는 Apple Push Notification Service (APNS)와 Google Fire Cloud Messaging (FCM) 서비스로 트래픽을 직접 전송하도록 설계되었습니다. 그러나 귀하의 기관에서 모바일 기기에 푸시 알림을 보내기 위해 Apple의 HTTP/2 요청을 지원하지 않는 경우, Mattermost 서버에서 메시지를 받아 호환되지 않는 형식으로 변환하고 최종 목적지로 릴레이하기 위해 post-proxy relay를 배치할 수 있습니다. 이 post-proxy relay는 연결 제한을 구성하여 사용자 지정 보안 및 규정 요구 사항을 충족하기 위해 사용될  수 있습니다.

Mattermost 푸시 알림 프록시를 화이트리스트에 등록하여 기업 프록시 서버 우회

내부 IT 정책 및 승인된 면제/예외에 따라, Mattermost Push Proxy 를 배치하여 기업 프록시 없이 Apple Push Notification Service (APNS) 에 직접 연결할 수 있습니다.

이 옵션을 위해 Apple로부터 하나의 서브도메인과 포트를 화이트리스트에 추가해야 합니다:

  • 개발 서버: api.development.push.apple.com:443

  • 프로덕션 서버: api.push.apple.com:443

Mattermost 모바일 앱의 앱 스토어 버전 실행

Mattermost가 호스팅하는 모바일 애플리케이션을 Apple App StoreGoogle Play Store 에서 사용할 수 있으며, 회사 프록시를 통해 Mattermost Hosted Push Notification Service (HPNS) 와 연결할 수 있습니다.

Note

Mattermost가 제공하는 호스팅 애플리케이션은 Enterprise Mobility Management 솔루션을 통해 AppConfig을 통해 배포할 수 있지만, wrapping은 지원되지 않습니다. 자세한 내용은 제품 설명서 를 참조하십시오.

deviceId 동작 방식


deviceId 는 Apple Push Notification Service (APNs) 및 Firebase Cloud Messaging (FCM)과 같은 푸시 알림 서비스에서 제공되는 식별자로, 기기, 앱 및 알림 서비스 간의 관계를 식별합니다.

앱이 시작되면 푸시 알림 권한이 활성화되어 있으면, 해당 앱은 해당 푸시 알림 서비스(iOS의 경우 APNs, Android의 경우 FCM)에 deviceId 를 가져 오기 위해 연결을 시도합니다. deviceId 에 변경이 있는 경우에는 앱이 해당 변경 사항을 서버에 알립니다.

APNsFCM 의 문서에 따르면, deviceId 는 다음 경우에만 변경됩니다.

  • 앱이 다른 장치에서의 백업에서 복원된 경우

  • 사용자가 앱 데이터를 지운 경우

  • 사용자가 앱을 다시 설치한 경우

  • 사용자가 다른 장치에 앱을 설치한 경우

기기에 deviceId 가 있는 경우, 사용자가 Mattermost 서버에 로그인하면 deviceIdlogin 감사 로그에 저장되고 데이터베이스의 세션 데이터에도 deviceId 가 추가됩니다. 그러나 다양한 이유로 deviceId 가 사용할 수 없을 수 있습니다.

  • 기기가 네트워크에 연결되지 않은 경우

  • 푸시 알림 서비스가 어떤 이유로든 도달할 수 없는 경우

  • 앱이 제대로 서명되지 않은 경우

  • 기기에 필요한 권한이 부여되지 않은 경우

이러한 시나리오에서는 login 감사 로그에 deviceId 가 포함되지 않고 세션 데이터에도 deviceId 가 포함되지 않습니다. 이후 앱이 deviceId 를 수신하면 기기가 이를 서버로 전송하여 새 deviceId 를 생성하고 attachDeviceId 감사 로그를 생성하고 데이터베이스의 세션 데이터에 deviceId 를 추가합니다.

deviceId 는 애플리케이션에 관련되기 때문에, 모바일에서라도 웹 브라우저를 통한 연결은 deviceID 가 없습니다.

모바일 메시지 알림 로그는 어디에서 찾을 수 있을까요?

알림 메시지는 notifications.log 파일에 로그됩니다. 시스템 관리자는 EnableFiletrue 로 설정하고 선택적인 파일 위치를 FileLocation 을 통해 지정하여 config.json 파일에서 알림 로그를 활성화해야 합니다. 위치를 구성하지 않은 경우, notifications.log 파일은 기본 Mattermost 디렉터리에 저장됩니다. 자세한 내용은 로그 구성 설정 문서를 참조하십시오.

팀 구성원/사용자들은 자신의 기기 플랫폼에 기반하여 알림 로그에 접근할 수 있습니다. 안드로이드 사용자는 logcat 을 사용하여 로그를 볼 수 있습니다. iOS 사용자는 macOS의 콘솔 에서 로그에 액세스할 수 있습니다.