Como enviar parâmetros extras na carga útil por meio da notificação push do Amazon SNS

Isso é algo novo que estou perguntando como eu não tenho nenhuma resposta para isso em SO.

Eu estou usando o Amazon SNS Push para enviar push para meus dispositivos registrados, tudo está funcionando bem, eu posso registrar dispositivos no meu aplicativo primeiro começar, pode enviar push etc etc. O problema que estou enfrentando é que, eu quero abrir uma página específica quando eu abro meu aplicativo por push. Eu quero enviar alguns parâmetros extras com a carga útil, mas não posso fazer isso.

Eu tentei este Link: -http://docs.aws.amazon.com/sns/latest/api/API_Publish.html

temos apenas uma chave, ou seja, "Mensagem", na qual podemos passar a carga até onde eu sei.

Eu quero passar uma carga assim:

{
    aps = {
            alert = "My Push text Msg";
          };
    "id" = "123",
    "s" = "section"
}

ou qualquer outro formato é bom, eu só queria passar 2-3 valores junto com payload para que eu possa usá-los no meu aplicativo.

O código que estou usando para enviar 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's 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");
          }
        }
    }
}
?>

Qualquer ajuda ou ideia será apreciada. Desde já, obrigado.

questionAnswers(4)

yourAnswerToTheQuestion