Заголовки вызовов Sinch принимаются в полезной нагрузке, но в объекте вызова равны нулю. - PullRequest
0 голосов
/ 04 сентября 2018

Я отправляю полное имя вызывающего абонента в заголовках вызовов Sinch для отображения на собственном экране callkit при получении вызова.

Я проверил данные, и они получены в полезной нагрузке push в этой функции

- (void)managedPush:(id<SINManagedPush>)managedPush
    didReceiveIncomingPushWithPayload:(NSDictionary *)payload
                              forType:(NSString *)pushType;

Но при доступе к заголовкам вызовов с

- (void)client:(id<SINCallClient>)client willReceiveIncomingCall:(id<SINCall>)call;

при вызове call.headers словарь пуст!

1 Ответ

0 голосов
/ 05 сентября 2018

Можно установить некоторые заголовки в Push-уведомлении при совершении вызова через

id<SINCall> call = [self.callClient callUserWithId:userid headers:header];

На принимающей стороне, прежде чем передавать полученное push-уведомление Sinch Client для дальнейшей обработки. Заголовки, которые вы установили на стороне вызывающего абонента, также будут содержаться в результате запроса:

- (void)managedPush:(id<SINManagedPush>)unused
    didReceiveIncomingPushWithPayload:(NSDictionary *)payload
                              forType:(NSString *)pushType {

  id<SINNotificationResult> result = [SINPushHelper queryPushNotificationPayload:payload];
  if(result.isCall) {
    _callKitProvider.remoteDisplayName = result.callResult.headers[@"display_name"];
    NSLog(@"display_name: %@", _callKitProvider.remoteDisplayName);
  }
  [self handleRemoteNotification:payload];
}

Я прикрепил файл git diff здесь , чтобы показать изменения, необходимые для включения настраиваемого отображаемого имени в заголовок push-сообщения от вызывающего абонента, и показать его на экране callkit на устройстве вызываемого абонента, diff основан на примере приложения callkit из пакета Sinch SDK.

...