Aws Pinpoint уведомления, отправленные на ios, принимаются без звука. Как я могу указать сырую полезную нагрузку?
Все уведомления, которые мы отправляем для устройств ios, не включают звук в свою полезную нагрузку.
Вот образец полезной нагрузки, которая получена:
{
"aps": {
"alert": {
"title": "s",
"body": "s"
},
"content-available": 1
},
"data": {
"pinpoint": {
"campaingn": {
"campaingn_activity_id": "f3b2ca3b26eb400eab98f94769d47f64",
"campaingn_id": "1f203ef3952c47939c9fb69144f445ca",
"treatment_id": 0
},
"deeplink": "tebbaby://webteb/rateapp"
}
}
}
атрибут звука отсутствует. Я нашел ответ на: https://forums.aws.amazon.com/thread.jspa?messageID=793536
Кампании теперь имеют функцию указания сырой полезной нагрузки, где вы можете указать имя звукового файла для вашего уведомления.
Но я не могу найти документ. Есть ли какой-нибудь пример "указать сырую полезную нагрузку"?
Спасибо.
1 ответ
$client = AWS::createClient('pinpoint');
$ios_payload = json_encode(array("aps" => array("alert" => "This is a test message", "sound" => 'default')));
$result = $client->createCampaign([
'ApplicationId' => '7e90856d1934410f978b59f4d75xxxxxx',
'WriteCampaignRequest' => [
'AdditionalTreatments' => [
[
'MessageConfiguration' => [
'APNSMessage' => [
'Action' => 'OPEN_APP',
'Body' => 'hello world',
'RawContent' => $payload,
'SilentPush' => false,
'Title' => 'title',
],
],
'Schedule' => [
'Frequency' => 'ONCE',
'StartTime' => 'IMMEDIATE', //date(DateTime::ISO8601)
],
'SizePercent' => 1,
],
],
'IsPaused' => false,
'MessageConfiguration' => [
'APNSMessage' => [
'Action' => 'OPEN_APP',
'Body' => 'hello world',
'RawContent' => $payload,
'SilentPush' => false,
'Title' => 'title',
],
],
'Name' => 'test no rawcontent5',
'Schedule' => [
'Frequency' => 'ONCE',
'IsLocalTime' => false,
'StartTime' => 'IMMEDIATE',
],
'SegmentId' => 'bfc6dd7be3074e978ca40afdc0cxxxxx',
'SegmentVersion' => 1,
],
]);