Для службы 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));
Можете ли вы привести пример кода запроса уведомления VoIP с использованием http.post? Или предложите лучшие варианты.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/639 ... lutter-ios
Мобильная версия