InAppBrowser pasando una función de devolución de llamada

Tengo un InAppBrowser funcionando bien en mi aplicación

$scope.openInAppBrowser = function (url) {
        var ref = window.open(encodeURI(url), '_blank', 'location=yes');
        ref.addEventListener('loadstop', function (event) {
            if (event.url.match("close")) {
                $scope.refreshGamePage = 1; // this variable is under watch in a directive
                ref.close();
            }           
        });
    }

aquí está la directiva escrita para actualizar la página

module.directive('reloadPage', ['$http', function ($http) {
    return {
        restrict: 'A',
        link: function ($scope, element, attrs) {
             $scope.refreshPage = function () {
                if($scope.refreshGamePage ==1)
                    return true;
                else
                    return  false;
            };

            $scope.$watch($scope.refreshPage, function (v) {
                if (v) {
                    $scope.setGamePage(); // this function will contains code to refresh game page
                }
                });
            }       
        };
    }]);

pero parece que el detector de eventos de cargas no puede actualizar la variable de alcance. Puede alguien ayudarme con esto?

Básicamente, la idea es que quiero actualizar la página actual (una desde la que se abrió InAppBrowser) en mi aplicación tan pronto como se cierra InAppBrowser.

Cualquier mejor manera de lograr esto será apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta