Подтвердить что ты не робот

Реализация Push-уведомлений для iOS (на стороне сервера)

Мы хотим, чтобы иметь возможность отправлять простые текстовые сообщения всем нашим пользователям iphone. Для этого нам, очевидно, нужно создать код на стороне сервера, который хранит токены устройства и при необходимости нажимает сообщения. Есть ли хороший пример для этого? (Говоря о коде сервера)

Спасибо

4b9b3361

Ответ 1

Посмотрите easyAPNS, если вы хотите разместить его самостоятельно или посетите Urban Airship, если вы в порядке с услугой хостинга (у них есть обширный набор документации)

Другим хорошим сайтом для информации является сайт Рэя Вендерлиха, на котором размещается учебник из 2-х частей:

Ответ 2

  // Push Notification code for IPHONE in PHP 
  $deviceToken = $users_rows['gcm_regid'];
    $passphrase = 'pass1234';
    $ctx = stream_context_create();
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'DrinksterDevelopment.pem');
    stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

    $fp = stream_socket_client(
        'ssl://gateway.sandbox.push.apple.com:2195', $err,
        $errstr, 120, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

    if (!$fp)
        exit("Failed to connect: $err $errstr" . PHP_EOL);

    echo 'Connected to APNS' . PHP_EOL;

    $body['aps'] = array(
       // 'alert' => $_GET["message"].'#'.$_GET["type"].'#'.$_GET["deal_id"],
       'alert' => $_GET["message"],
        'sound' => 'default'
        );
    $body['other'] = $_GET["type"].'#'.$_GET["deal_id"];

    $payload = json_encode($body);
    $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
    $result_iphone = fwrite($fp, $msg, strlen($msg));

    if (!$result_iphone)
        $msg_iphone = 'Message not delivered' . PHP_EOL;

    else
        $msg_iphone = 'Message successfully delivered' . PHP_EOL;

     mail('[email protected]', 'IOSPushMsgStatus', $msg_iphone);
     fclose($fp);
    } //if($users_rows['Platform'] == 'Web' OR $users_rows['Platform'] == 'Android')

Ответ 3

Я также рекомендую использовать внешнюю службу для таких, как Urban Airship, или PushApps. Я больше знаком с последним, и могу сказать вам, что помимо "обычных" push-уведомлений вы также получаете сообщения по сегментации, местоположению или даже уведомлению о расписании. Вначале это может показаться не очень важным для вас, но по мере роста вашей пользовательской базы вы увидите, насколько важны эти функции.