메인 콘텐츠로 건너뛰기

개요

OneSignal은 Android 및 iOS 플랫폼 모두에서 VoIP 알림 전송을 지원합니다. 그러나 OneSignal SDK는 현재 VoIP 토큰 등록을 지원하지 않습니다. 이 가이드에서는 OneSignal의 API 및 플랫폼 설정을 사용하여 VoIP 알림을 수동으로 구성하는 방법을 설명합니다.

Android VoIP 설정

iOS와 달리 Android는 전용 “VoIP 푸시” 유형을 사용하지 않습니다. 데이터 전용 푸시 알림을 사용하여 Activity를 시작하거나 사용자 지정 UI를 표시하여 VoIP와 유사한 동작을 수행할 수 있습니다. 네이티브 UI(예: 수신 전화 화면)를 시작하려면 Android의 NotificationExtenderService를 사용하여 알림 동작을 재정의하세요. 추가 지침은 다음을 참조하세요:

iOS VoIP 설정

1

앱에 PushKit 추가

Apple의 PushKit API를 사용하여 VoIP 토큰을 등록하고 수신하세요. 구현 팁은 Apple의 VoIP 모범 사례를 참조하세요.
2

VoIP 사용자를 위한 새 OneSignal 앱 생성

두 개의 별도 OneSignal 앱을 유지해야 합니다:
  • 메인 푸시 앱: 표준 푸시 알림용
  • VoIP 앱: VoIP 전용 알림용
VoIP 앱에 대해 메인 앱과 동일한 번들 ID를 사용하여 **VoIP Services Certificate (.p12)**를 업로드했는지 확인하세요.

Keychain Access의 p12

VoIP 인증서 스크린샷

3

VoIP 토큰으로 기기 등록

사용자 생성 API를 사용하여 VoIP 전용 OneSignal 앱에 VoIP 토큰을 등록하세요.참고: 개발/샌드박스 환경에서 기기를 등록하는 경우 "test_type": 1 속성을 포함하세요. 이를 생략하면 "Mismatched Subscription Environment" 오류 또는 알림 실패가 발생할 수 있습니다.
curl --request POST \
     --url https://api.onesignal.com/apps/YOUR_VOIP_APP_ID/users \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "subscriptions": [
    {
      "type": "iOSPush",
      "token": "your-voip-token",
      "test_type": 1 // omit in production
    }
  ]
}
'
나중에 토큰을 업데이트하려면 구독 업데이트 API를 사용하세요.
4

VoIP 알림 보내기

알림 생성 API를 사용하고 다음 매개변수를 포함하세요:
  • "apns_push_type_override": "voip"
  • VoIP 앱의 app_id
curl --include \
     --request POST \
     --header "Content-Type: application/json; charset=utf-8" \
     --header "Authorization: key YOUR_REST_API_KEY" \
     --data-binary '{
  "app_id": "YOUR_VOIP_APP_ID",
  "contents": {"en": "English Message"},
  "apns_push_type_override": "voip",
  "include_subscription_ids": ["YOUR_VOIP_SUBSCRIPTION_ID"]
}' \
https://api.onesignal.com/notifications

자주 묻는 질문

아니요, 확인된 전달은 VoIP 푸시에 대해 추적되지 않습니다. VoIP 알림에 대해 트리거되지 않는 Notification Service Extension에 의존합니다.대신 네이티브 iOS PushKit 이벤트를 통해 수신을 추적하세요:
pushRegistry(_:didReceiveIncomingPushWith:for:completion:)
이 이벤트는 메인 앱 대상의 일부이며 별도의 확장이 필요하지 않습니다. 자세한 내용은 Apple의 VoIP 문서를 참조하세요.