Skip to main content

개요

모바일 친화적인 웹사이트가 있고 Apple App Store 또는 Google Play Store용 다운로드 가능한 모바일 앱으로 변환하려는 경우 Median.co가 강력한 솔루션입니다. 또한 푸시 알림을 활성화하기 위한 OneSignal과의 원활한 통합을 제공합니다.

설정

1. Median.co로 앱 만들기

  1. Median.co 시작 가이드를 따르세요.
  2. <https://median.co/app>에서 앱을 빌드하세요.

2. OneSignal 설정

  1. onesignal.com으로 이동하여 계정을 만드세요.
  2. OneSignal 앱 및 플랫폼을 구성하세요.

OneSignal 앱 및 플랫폼 구성

지원하는 플랫폼(Apple (APNs), Google (FCM), Huawei (HMS), Amazon (ADM))으로 OneSignal 앱을 구성하세요.
조직에 이미 OneSignal 계정이 있는 경우 조직에 초대를 요청하세요. 그렇지 않은 경우 무료 계정에 가입하여 시작하세요.
1

앱 만들기 또는 선택

New App/Website를 클릭하여 새 앱을 만들거나 설정 > 푸시 및 인앱에서 기존 앱에 플랫폼을 추가합니다. 구성하려는 플랫폼을 선택하고 Next: Configure Your Platform을 클릭합니다.
조직 이름, 앱 이름 및 채널 선택을 포함한 새 앱 설정 흐름을 보여주는 OneSignal 대시보드
2

플랫폼 자격 증명 구성

플랫폼에 대한 자격 증명을 입력합니다:자격 증명을 입력한 후 Save & Continue를 클릭합니다.
3

앱 ID를 저장하고 SDK 설치

앱 ID가 최종 화면에 표시됩니다. 복사하고 저장하세요 — SDK를 초기화할 때 필요합니다. SDK 플랫폼을 선택한 다음 설정 가이드를 따릅니다.
설정 후 앱 ID와 팀 초대 옵션을 보여주는 OneSignal 대시보드

3. OneSignal을 Median 앱에 연결

OneSignal App ID를 Median.co(GoNative) 앱 구성에 붙여넣으세요.

OneSignal SDK 통합 테스트

이 가이드는 푸시 알림, 구독 등록 및 인앱 메시징을 테스트하여 OneSignal SDK 통합이 올바르게 작동하는지 확인하는 데 도움이 됩니다.

모바일 구독 확인

1

테스트 장치에서 앱을 시작하세요.

초기화 중에 requestPermission 메서드를 추가한 경우 네이티브 푸시 권한 프롬프트가 자동으로 나타납니다.
2

OneSignal 대시보드 확인

프롬프트를 수락하기 전에 OneSignal 대시보드를 확인하세요:
  • Audience > Subscriptions로 이동하세요.
  • “Never Subscribed” 상태의 새 항목이 표시됩니다.
3

앱으로 돌아가서 프롬프트에서 Allow를 탭하세요.

4

OneSignal 대시보드 구독 페이지를 새로 고치세요.

구독 상태가 이제 Subscribed로 표시됩니다.
모바일 구독을 성공적으로 만들었습니다. 모바일 구독은 사용자가 장치에서 앱을 처음 열거나 동일한 장치에 앱을 제거했다가 다시 설치하는 경우 생성됩니다.

테스트 구독 설정

테스트 구독은 메시지를 보내기 전에 푸시 알림을 테스트하는 데 유용합니다.
1

테스트 구독에 추가.

대시보드에서 구독 옆에 있는 Options(점 3개) 버튼을 클릭하고 Add to Test Subscriptions을 선택하세요.
2

구독 이름 지정.

Test Subscriptions 탭에서 나중에 장치를 쉽게 식별할 수 있도록 구독 이름을 지정하세요.
3

테스트 사용자 세그먼트 만들기.

Audience > Segments > New Segment로 이동하세요.
4

세그먼트 이름 지정.

세그먼트 이름을 Test Users로 지정하세요(나중에 사용되므로 이름이 중요합니다).
5

Test Users 필터를 추가하고 Create Segment를 클릭하세요.

테스트 사용자 세그먼트를 성공적으로 만들었습니다. 이제 이 개별 장치 및 테스트 사용자 그룹에 메시지 전송을 테스트할 수 있습니다.

API를 통해 테스트 푸시 보내기

1

App API Key 및 App ID 가져오기.

OneSignal 대시보드에서 **Settings > Keys & IDs**로 이동하세요.
2

제공된 코드 업데이트.

아래 코드에서 YOUR_APP_API_KEYYOUR_APP_ID를 실제 키로 바꾸세요. 이 코드는 앞서 만든 Test Users 세그먼트를 사용합니다.
curl -X \
POST --url 'https://api.onesignal.com/notifications' \
 --header 'content-type: application/json; charset=utf-8' \
 --header 'authorization: Key YOUR_APP_API_KEY' \
 --data \
 '{
  "app_id": "YOUR_APP_ID",
  "target_channel": "push",
  "name": "Testing basic setup",
  "headings": {
  	"en": "👋"
  },
  "contents": {
    "en": "Hello world!"
  },
  "included_segments": [
    "Test Users"
  ],
  "ios_attachments": {
    "onesignal_logo": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
  },
  "big_picture": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
}'
3

코드 실행.

터미널에서 코드를 실행하세요.
4

이미지 및 확인된 전달 확인.

모든 설정 단계가 성공적으로 완료되면 테스트 구독은 이미지가 포함된 알림을 받아야 합니다:
이미지는 축소된 알림 보기에서 작게 나타납니다. 알림을 확장하여 전체 이미지를 확인하세요.
5

확인된 전달 확인.

대시보드에서 Delivery > Sent Messages로 이동한 다음 메시지를 클릭하여 통계를 확인하세요.confirmed 통계가 표시되어야 하며, 이는 장치가 푸시를 받았음을 의미합니다.
API를 통해 세그먼트에 알림을 성공적으로 보냈습니다.
  • 이미지를 받지 못했나요? Notification Service Extension이 누락되었을 수 있습니다.
  • 확인된 전달이 없나요? App Groups 설정을 검토하세요.
  • 문제가 있나요? API 요청과 앱 시작부터 끝까지의 로그를 .txt 파일로 복사하여 붙여넣으세요. 그런 다음 둘 다 support@onesignal.com과 공유하세요.

인앱 메시지 보내기

인앱 메시지를 사용하면 사용자가 앱을 사용하는 동안 사용자와 통신할 수 있습니다.
1

장치에서 앱을 닫거나 백그라운드로 전환하세요.

이는 사용자가 새 세션이 시작되기 전에 인앱 대상 기준을 충족해야 하기 때문입니다. OneSignal에서 새 세션은 사용자가 앱이 백그라운드에 있거나 닫힌 후 최소 30초 후에 앱을 열 때 시작됩니다. 자세한 내용은 인앱 메시지가 표시되는 방법에 대한 가이드를 참조하세요.
2

인앱 메시지 만들기.

  • OneSignal 대시보드에서 Messages > In-App > New In-App으로 이동하세요.
  • Welcome 메시지를 찾아 선택하세요.
  • Audience를 앞서 사용한 Test Users 세그먼트로 설정하세요.
3

원하는 경우 메시지 내용을 사용자 지정하세요.

4

Trigger를 'On app open'으로 설정하세요.

5

빈도 예약.

Schedule > How often do you want to show this message? 아래에서 Every time trigger conditions are satisfied를 선택하세요.
6

메시지를 라이브로 만드세요.

Make Message Live를 클릭하여 테스트 사용자가 앱을 열 때마다 사용할 수 있도록 하세요.
7

앱을 열고 메시지를 확인하세요.

인앱 메시지가 라이브가 된 후 앱을 여세요. 다음과 같이 표시되어야 합니다:
메시지가 표시되지 않나요?
  • 새 세션 시작
    • 다시 열기 전에 최소 30초 동안 앱을 닫거나 백그라운드로 전환해야 합니다. 이렇게 하면 새 세션이 시작됩니다.
    • 자세한 내용은 인앱 메시지가 표시되는 방법을 참조하세요.
  • 여전히 Test Users 세그먼트에 있나요?
    • 재설치하거나 장치를 전환한 경우 테스트 구독에 장치를 다시 추가하고 Test Users 세그먼트의 일부인지 확인하세요.
  • 문제가 있나요?
    • 위의 단계를 재현하는 동안 디버그 로그 가져오기를 따르세요. 이렇게 하면 support@onesignal.com과 공유할 수 있는 추가 로깅이 생성되며 무슨 일이 일어나고 있는지 조사하는 데 도움을 드립니다.
OneSignal SDK를 성공적으로 설정하고 다음과 같은 중요한 개념을 배웠습니다:

푸시 권한 프롬프트

앱을 열 때 즉시 requestPermission()을 호출하는 대신 더 전략적인 접근 방식을 취하세요. 권한을 요청하기 전에 인앱 메시지를 사용하여 푸시 알림의 가치를 설명하세요. 모범 사례 및 구현 세부 정보는 푸시 권한 프롬프트 가이드를 참조하세요.

FAQ

클라이언트 측에서 OneSignal 데이터에 액세스하려면 어떻게 하나요?

Median Native JavaScript Bridge 메서드 median_onesignal_info를 사용하여 OneSignal Subscription ID(oneSignalUserId) 및 구독 상태를 가져오세요.
javascript
  var osSubscriptionId = "the OneSignal Subscription ID string";
  var isSubscribedToPushNotifications;

  median.onesignal.onesignalInfo().then(function (oneSignalInfo) {
    console.log(oneSignalInfo);
    osSubscriptionId = oneSignalInfo.oneSignalUserId;
    isSubscribedToPushNotifications = oneSignalInfo.oneSignalSubscribed;
  });
자세한 내용은 Median.co Docs를 참조하세요

Median 앱에 딥 링크 푸시 알림을 보내려면 어떻게 하나요?

Median 앱은 팝업 브라우저를 여는 대신 네이티브 환경을 위해 딥 링킹을 사용합니다.

OneSignal 대시보드 사용 시:

  • Launch URL 필드를 사용하지 마세요.
  • 대신 Additional Data 필드를 사용하세요.
    • 키 추가: targetUrl(대문자 “U”)
    • 값 추가: 사용자가 열기를 원하는 URL.

REST API 사용 시:

푸시 페이로드의 data 객체에 targetUrl을 포함하세요. 예:
{
  "app_id": "YOUR-APP-ID",
  "include_player_ids": ["USER-ID"],
  "data": { "targetUrl": "https://example.com/page" },
  "contents": { "en": "Check out this page!" }
}

웹과 모바일 모두에 보내나요?

웹과 모바일에 동시에 보내는 경우: Launch URL 섹션에서 “Different URL for web/app”을 선택하세요. 재정의를 방지하려면 APP URL 필드를 비워 두세요.