Это что-то новое, о котором я спрашиваю, поскольку у меня нет ответов на него на SO.
Я использую Amazon SNS Push для отправки push на мои зарегистрированные устройства, все работает хорошо, я могу регистрировать устройства в своем первом приложении, отправлять push и т.д. Проблема в том, что я хочу открыть конкретную страницу, когда я открываю приложение через push. Я хочу отправить дополнительные параметры с полезной нагрузкой, но я не могу этого сделать.
Я пробовал эту ссылку: http://docs.aws.amazon.com/sns/latest/api/API_Publish.html
у нас есть только один ключ, т.е. "Сообщение", в котором мы можем передать полезную нагрузку, насколько я знаю.
Я хочу передать полезную нагрузку следующим образом: -
{
aps = {
alert = "My Push text Msg";
};
"id" = "123",
"s" = "section"
}
или любой другой формат в порядке, я просто хотел передать 2-3 значения вместе с полезной нагрузкой, чтобы я мог использовать их в своем приложении.
Код, который я использую для отправки push,: -
// Load the AWS SDK for PHP
if($_REQUEST)
{
$title=$_REQUEST["push_text"];
if($title!="")
{
require 'aws-sdk.phar';
// Create a new Amazon SNS client
$sns = Aws\Sns\SnsClient::factory(array(
'key' => '...',
'secret' => '...',
'region' => 'us-east-1'
));
// Get and display the platform applications
//print("List All Platform Applications:\n");
$Model1 = $sns->listPlatformApplications();
print("\n</br></br>");*/
// Get the Arn of the first application
$AppArn = $Model1['PlatformApplications'][0]['PlatformApplicationArn'];
// Get the application endpoints
$Model2 = $sns->listEndpointsByPlatformApplication(array('PlatformApplicationArn' => $AppArn));
// Display all of the endpoints for the first application
//print("List All Endpoints for First App:\n");
foreach ($Model2['Endpoints'] as $Endpoint)
{
$EndpointArn = $Endpoint['EndpointArn'];
//print($EndpointArn . "\n");
}
//print("\n</br></br>");
// Send a message to each endpoint
//print("Send Message to all Endpoints:\n");
foreach ($Model2['Endpoints'] as $Endpoint)
{
$EndpointArn = $Endpoint['EndpointArn'];
try
{
$sns->publish(array('Message' => $title,
'TargetArn' => $EndpointArn));
//print($EndpointArn . " - Succeeded!\n");
}
catch (Exception $e)
{
//print($EndpointArn . " - Failed: " . $e->getMessage() . "!\n");
}
}
}
}
?>
Любая помощь или идея будут оценены. Спасибо заранее.