iOS的苹果推送通知和使用PHP的Android的谷歌云消息?

Str*_*ker 6 php notifications android push-notification ios

我正在寻找可以向ios设备和Android设备发送推送通知的PHP代码.

我个人使用easyapns进行ios推送通知,使用gcm进行android推送通知.

我想合并两个代码并制作一个代码,用于发送两个设备的推送通知.

我正在研究php部分.有什么解决方案可以让它变得简单吗?

Str*_*ker 5

经过我的研究,我找到了一个解决方案,它适用于ios.

 public function send_notification($registration_id,$message,$ios_certificate,$badge,$tHost){
    // Provide the Host Information.
    //$tHost = 'gateway.sandbox.push.apple.com';

    $tPort = 2195;

    // Provide the Certificate and Key Data.
    //$tCert = 'certificates/meetmethere/apns-dev-cert.pem';
    $tPassphrase = '';

    //$tToken = 'efdf10632aa4e711ef8c57abf2a3cdec51e7c42811bb998c3e26de2876bac8fa';
    //$tAlert = 'this is the test message ';

    // The Badge Number for the Application Icon (integer >=0).

    $tBadge = 0;

    // Audible Notification Option.
    $tSound = 'default';

    // The content that is returned by the LiveCode "pushNotificationReceived" message.
    $tPayload = 'message';

    // Create the message content that is to be sent to the device.
    $tBody['aps'] = array (
                        'alert' => $message,
                        'badge' => $badge,
                        'sound' => $tSound,
                    );

    $tBody ['payload'] = $tPayload;
    $tBody = json_encode ($tBody);

    // Create the Socket Stream.
    $tContext = stream_context_create ();

    stream_context_set_option ($tContext, 'ssl', 'local_cert', $ios_certificate);

    // Remove this line if you would like to enter the Private Key Passphrase manually.

    stream_context_set_option ($tContext, 'ssl', 'passphrase', $tPassphrase);

    // Open the Connection to the APNS Server.

    $tSocket = stream_socket_client ('ssl://'.$tHost.':'.$tPort, $error, $errstr, 30, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $tContext);

    // Check if we were able to open a socket.

    if (!$tSocket)
        $status=false;

    // Build the Binary Notification.
    $tMsg = chr (0) . chr (0) . chr (32) . pack ('H*', $registration_id) . pack ('n', strlen ($tBody)) . $tBody;

    // Send the Notification to the Server.

    $tResult = fwrite ($tSocket, $tMsg, strlen ($tMsg));

    if ($tResult)
        $status=true;
    else
        $status=false;
    fclose ($tSocket);

            return $status;
}`
Run Code Online (Sandbox Code Playgroud)