Запрос уведомления APN VoIP (Flutter iOS)IOS

Программируем под IOS
Ответить
Anonymous
 Запрос уведомления APN VoIP (Flutter iOS)

Сообщение Anonymous »

Я разрабатываю приложение для обмена сообщениями, которое сейчас использует FCM с функциями Firebase для отправки уведомлений.
Для службы VoIP я использую Agora, но я хочу добавить этот собственный вид в свое приложение, добавляя макеты CallKit, когда пользователь принимает звонок.
Я использую flutter_ios_voip_kit и правильно получаю уведомление VoIP с помощью команды Curl в терминале.

Код: Выделить всё

curl -v \
-d '{"aps":{"alert":{"uuid":"982cf533-7b1b-4cf6-a6e0-004aab68c503","incoming_caller_id":"0123456789","incoming_caller_name":"Tester"}}}' \
-H "apns-push-type: voip" \
-H "apns-expiration: 0" \
-H "apns-priority: 0" \
-H "apns-topic: .voip" \
--http2 \
--cert ./voip_services.pem \
https://api.sandbox.push.apple.com/3/device/
Но я действительно не знаю, как реализовать этот запрос в моем приложении.
Я хочу, чтобы он оставался на стороне клиента, поэтому, когда пользователь нажимает кнопку вызова, я попробовал запустить вызов http.post, но он не работает (не знаю, ошибка формата или что-то еще).

Код: Выделить всё

final url =
'https://api.sandbox.push.apple.com:443/3/device/*myDeviceVoIPToken*';
//final uuid = Uuid().v4();
final Map body = {
"aps": {
"alert": {
"uuid": "${Uuid().v4()}",
"incoming_caller_id": "0123456789",
"incoming_caller_name": "Tester"
}
}
};
Future postRequest() async {
return await http.post(url,
headers: {
'apns-push-type': 'voip',
'apns-expiration': '0',
'apns-priority': '0',
'apns-topic': '*myBundleId*.voip'
},
body: jsonEncode(body));
Я также пытался использовать http2, но безуспешно.
Можете ли вы привести пример кода запроса уведомления VoIP с использованием http.post? Или предложите лучшие варианты.
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/639 ... lutter-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»