2015-09-28 3 views
1

Я могу отправить сообщение в веб-приложение Chrome с помощью GCM. Я использую http-сообщение: https://android.googleapis.com/gcm/send , отправляющее значения registrationid, applicationid и senderid. Сообщение отображается как уведомление Chrome на моем экране. Мой вопрос: есть ли команда или событие/функция GCM, которые я могу использовать для запуска веб-приложения Chrome? Google Chrome установлен в фоновом режиме.Открыть веб-приложение Chrome с помощью GCM

Это мой GCM Слушатель для события сообщения:

chrome.gcm.onMessage.addListener(messageReceived); 

Это вызывает функцию messageReceived и в этой функции я получаю сообщение, поп-уведомление на экране, и открыть/создать окно:

chrome.notifications.create(getNotificationId(), { 
 
    title: 'GCM Message', 
 
    iconUrl: 'gcm_128.png', 
 
    type: 'basic', 
 
    message: messageString 
 
    }, function() {}); 
 
    
 
    // Center window on screen. 
 
    var screenWidth = screen.availWidth; 
 
    var screenHeight = screen.availHeight; 
 
    var width = 500; 
 
    var height = 300; 
 
    chrome.app.window.create('register.html', { 
 
    id: "helloWorldID", 
 
    outerBounds: { 
 
     width: width, 
 
     height: height, 
 
     left: Math.round((screenWidth-width)/2), 
 
     top: Math.round((screenHeight-height)/2) 
 
    } 
 
    }); 
 
}

ответ

0

Это мой GCM Слушатель для события сообщения: chrome.gcm.onMessage.addListener (messageReceived);

Он вызывает функцию messageReceived и в этой функции я получаю сообщение, всплывающее уведомление на экране, и открыть/создать окно:

chrome.notifications.create(getNotificationId(), { 
 
    title: 'GCM Message', 
 
    iconUrl: 'gcm_128.png', 
 
    type: 'basic', 
 
    message: messageString 
 
    }, function() {}); 
 
    
 
    // Center window on screen. 
 
    var screenWidth = screen.availWidth; 
 
    var screenHeight = screen.availHeight; 
 
    var width = 500; 
 
    var height = 300; 
 
    chrome.app.window.create('register.html', { 
 
    id: "helloWorldID", 
 
    outerBounds: { 
 
     width: width, 
 
     height: height, 
 
     left: Math.round((screenWidth-width)/2), 
 
     top: Math.round((screenHeight-height)/2) 
 
    } 
 
    }); 
 
}

1

Вы не можете начинать хром непосредственно из кода который получает push-сообщение. Однако после нажатия на уведомление вы можете использовать http://www.w3.org/TR/service-workers/#client-focus, чтобы узнать, открыто ли окно или http://www.w3.org/TR/service-workers/#client-navigate, чтобы открыть новое окно.

https://tests.peter.sh/notification-generator/ - хороший образец сайта, где вы можете играть с различными вариантами.

Смежные вопросы