• File: PushNotificationBkp.php
  • Full Path: /var/www/imaliapitest/app/Classes/PushNotificationBkp.php
  • Date Modified: 05/19/2025 4:29 PM
  • File size: 2.91 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App\Classes;

use Illuminate\Support\Facades\App;

class PushNotificationBkp
{

    private $icon;
    private $title;
    private $shortMsg;
    private $userFirebaseToken;
    private $clickAction;
    private $firebase_api_key;
    private $firebase_api_url;

    public function __construct(
        $title,
        $shortMsg,
        $userFirebaseToken,
        $clickAction = 'com.imali.payapp.payment_NOTICIA',
        $icon = 'ic_imali_logo_verde_01',
    ) {

        $this->title = $title;
        $this->shortMsg = $shortMsg;
        $this->userFirebaseToken = $userFirebaseToken;
        $this->clickAction = $clickAction;
        $this->icon = $icon;
        $this->firebase_api_key = env('FIREBASE_API_KEY');
        $this->firebase_api_url = env('FIREBASE_URL');
    }


    //? Send Push notification
    public function sendPush($data = array('sms' => ''))
    {

        $notification = array(
            // 'icon' => 'ic_i_mali_cover',
            // 'icon' => 'ic_imali_logo_verde_01',
            'icon' =>  $this->icon,
            'title' => $this->title,
            'body' => $this->shortMsg,
            'click_action' => $this->clickAction,
            'color' => '#ffffff'
        );

        $this->pushNotifification($this->userFirebaseToken, $notification, $data);
    }


    public function pushNotifification($token, $notification = array(), $data = array())
    {

        // $apiKey = 'AAAA8zVzEPQ:APA91bHl_DXB6UGb_6gZlmFnaLTQoANtX_OBjvl3nOy2bSlnFhxedvk6EhGj7cZoIvmlbKeCnqGxXbuyMH_rEPuhRXvuitXzo6Pfl2TMXLar1PlifXqEhYq6tS55UMrY2Kffzj-P_UH-';
        $apiKey = $this->firebase_api_key;
        $fields = array('to' => $token, 'notification' => $notification, 'data' => $data);
        $headers = array('Authorization: key=' . $apiKey, 'Content-Type: application/json');
        $url = $this->firebase_api_url;
        // $url = 'https://fcm.googleapis.com/fcm/send';

        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($fields));
        $result = curl_exec($curl);
        curl_close($curl);

        return json_decode($result, true);
    }

    // public function setLongMsg($longMsg){
    //     $this->longMsg = $longMsg;
    // }

    public function setShortMsg($shortMsg)
    {
        $this->shortMsg = $shortMsg;
    }

    public function setClickAction($clickAction)
    {
        $this->clickAction = $clickAction;
    }

    // public function setRoute($route){
    //     $this->route = $route;
    // }
    public function setTitle($title)
    {
        $this->title = $title;
    }
    public function setFirebaseToken($userFirebaseToken)
    {
        $this->userFirebaseToken = $userFirebaseToken;
    }
}