sparqapi/api/application/helpers/push_notification_helper.php
2019-08-04 23:02:18 +05:30

89 lines
2.2 KiB
PHP

<?php
class PUSH_NOTIFICATION
{
public static function sendNotification($web_token,$mob_token,$msg,$additional_data = array())
{
$CI =&get_instance();
if($web_token != "" || $web_token != null)
{
PUSH_NOTIFICATION::notifyWeb($web_token,$msg,$additional_data);
}
if($mob_token != "" || $mob_token != null)
{
PUSH_NOTIFICATION::notifyMob($mob_token,$msg,$additional_data);
}
}
public static function notifyWeb($web_token,$msg,$additional_data)
{
$web_msg = array
(
'title'=> $msg,
'body'=> $msg,
'icon' => 'https://ssa.sineedge.com/logo/sinelogo.png',
'img' => 'https://ssa.sineedge.com/logo/sinelogo.png'
);
self::dispatchNotification(array($web_token),$web_msg,1,$additional_data);
}
public static function notifyMob($mob_token,$msg,$additional_data)
{
$app_msg = array
(
'message'=> $msg,
'title'=> $msg,
'subtitle'=> $msg,
'tickerText'=> $msg,
'vibrate'=>1,
'sound'=>1,
'largeIcon'=>'https://ssa.sineedge.com/logo/sinelogo.png',
'smallIcon'=>'https://ssa.sineedge.com/logo/sinelogo.png'
);
self::dispatchNotification(array($mob_token),$app_msg,2,$additional_data);
}
public static function dispatchNotification($token,$msg,$type,$additional_data)
{
$fields = array
('registration_ids'=>$token,
//'data'=>$app_msg,
'notification' => $msg
);
$headers = array
('Authorization: key=' . FIREBASE_PUSH_NOTIFICATION_SERVER_API_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, true );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ));
$result = curl_exec($ch );
curl_close( $ch );
$CI =&get_instance();
// print_r($result);
// die();
MYLOG::logFunction(null,$additional_data['pd_id'])->info("PUSH NOTIFICATION ",array('firebase_result' => $result,'additional_data' => $additional_data,'token_type' => ($type == 1? 'WEB' : 'MOB'),'token' => $token));
}
}
?>