This post will help you to send push notification to Android devices using server side scripting language called php.
click below Link to get Google cloud messaging api-
https://console.developers.google.com/project
 
Here is a code to send push notification
// Google Cloud Messaging API Access Key
define("GOOGLE_CLOUD_MESSAGING_API_KEY", "AIzaSyBiGzlss534iVEQ2ddddpkm931Tef7OFNKldlddl0PkJI5nFm08");
class PushNotificationComponent
{
    /**
     * Android Push Notifications using Google Cloud Messaging (GCM)
     * Send push notification from web server to registered android devices.
     *
     * @param   array   data
     * @param   string  message
     * @param   array   custom_fields
     * @return  string  status
     */
    public function androidPushNotification( $data, $message, $custom_fields = array() )
    {
        $data       =   isset($data) && is_array($data) ? $data : array();
        $message    =   isset($message) && !empty($message) ? trim($message) : '';
    $device_tokens = array();
    $c = count($data);
    for( $i=0; $i<$c; $i++ )
    {
        // Get Android Device Token Without Any Spaces
        $deviceToken = isset($data[$i]['device_token']) && !empty($data[$i]['device_token']) ? trim($data[$i]['device_token']) : '';
        $deviceToken = str_replace(' ', '', $deviceToken);
        // Check if device token not empty
        if( !empty($deviceToken) )
           $device_tokens[] = $deviceToken;
    }
    if( count($device_tokens)==0 )
        return 'empty device token.';
    if( empty($message) )
        return 'empty message.';       
    // Prepared the bundle
    $body = array
    (
        'message'           =>  $message,            
        'vibrate'           =>  1,
        'sound'             =>  1,
        'delay_while_idle'  =>  1,
        'custom_fields'     =>  $custom_fields
    );
    // Set POST variables
    $fields = array
    (
        'registration_ids'  =>  $device_tokens,
        'data'              =>  $body
    );
    // Set Request Header
    $headers = array
    (
        'Authorization: key='.GOOGLE_CLOUD_MESSAGING_API_KEY,
        'Content-Type: application/json'
    );
    // Open connection
    $ch = curl_init();
    // Set the url
    curl_setopt( $ch,CURLOPT_URL,'https://android.googleapis.com/gcm/send' );
    curl_setopt( $ch,CURLOPT_POST,true );
    curl_setopt( $ch,CURLOPT_HTTPHEADER,$headers );
    curl_setopt( $ch,CURLOPT_RETURNTRANSFER,true );
    // Disabling SSL Certificate support temporarly
    curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER,false );
    curl_setopt( $ch,CURLOPT_POSTFIELDS,json_encode($fields) );
    // Execute curl
    $result = curl_exec($ch);
    if ($result === FALSE)
        $status = 'Curl failed: ' . curl_error($ch);        
    else        
        $status = 'success';        
    // Close connection
    curl_close($ch);
    return $status;
}
}
                       
                    
0 Comment(s)