앱 서버의 역할
서버 애플리케이션인 앱 서버의 역할은 2가지입니다.
- 1대1 통화나 그룹 통화(컨퍼런스)를 할 때 착신자(또는 참여자)에게 전화가 온 것을 알리기
- LINE Planet이 통화하기 위해 요구하는, 통화 유형별 적절한 정보를 전달하기
1대1 통화 - cc_param
앱 서버는 착신자에게 Notify 콜백(notify_cb
)의 param
에서 복사한 cc_param
를 전달해야 합니다.
notify_cb 의 데이터 | 데이터 유형 | 해당 푸시 페이로드 키 |
---|---|---|
param | String | cc_param |
대부분의 모바일 앱이 그렇듯, 모바일 플랫폼의 푸시 시스템을 이용해 이 작업을 수행할 수 있습니다. 여기서는 APNs(Apple Push Notification service)나 FCM(Firebase Cloud Messaging)을 사용한다고 가정합니다.
{
...,
/*
* You have to deliver "cc_param"
* that can be obtained from "param" in "notify_cb".
*
* The callee must receive the "cc_param" value
* to complete the call setup normally.
*/
"cc_param": "...BYdVhGZW5UM1o4WmFwV....",
...
}
발신자 정보 표시, 통화 유형 표시 같은 기능을 처리하려면, notify_cb
의 다른 데이터를 이용해서 애플리케이션의 푸시 데이터를 정의할 수 있습니다. 아래 예제를 살펴보세요. 애플리케이션은 착신자에게 전송할 필드를 자유롭게 추가할 수 있지만, PlanetKit의 콜 셋업(call setup)에 꼭 필요한 것은 아닙니다.
APNs 사용 예제
{
/*
* cc_param field is required.
*/
"cc_param": "...BYdVhGZW5UM1o4WmFwV....",
...
,
/*
* The following fields are optional.
* Application can add any fields to deliver
* to the callee but it's not required.
* Please note that
* LINE PlanetKit SDK requires only "cc_param" value
* to complete the call setup normally.
*/
"your_field_1": "some-optional-value-1",
"your_field_2": "some-optional-value-2",
...
}
GCM/FCM 사용 예제
{
/*
* "cc_param" field is required.
*/
"cc_param": "...BYdVhGZW5UM1o4WmFwV....",
...
,
/*
* The following fields are optional.
* Application can add any fields to deliver
* to the callee but it's not required.
* Please note that
* LINE PlanetKit SDK requires only "cc_param" value
* to complete the call setup normally.
*/
"your_field_1": "some-optional-value-1",
"your_field_2": "some-optional-value-2",
...
}
그룹 통화(컨퍼런스)
1대1 통화와 달리, 그룹 통화를 할 때는 앱 서버가 반드시 해야 할 일은 없습니다. 단, 모든 참여자가 한방에서 통화하려면 서비스 ID와 방 ID가 같아야 합니다. 애플리케이션이 자체 정의한 채널을 통해 클라이언트 간에 이 정보를 공유할 수 있습니다. 이때 그룹 통화 이벤트 콜백(on_gcall_evt_cb
)를 처리하지 않아도 됩니다.
애플리케이션에서 on_gcall_evt_cb
를 사용하려면, 아래 필드에서 서비스 ID와 방 ID를 복사하세요.
- 서비스 ID:
svc_id
- 방 ID:
id