当前位置: 首页 > 知识库问答 >
问题:

PHP谷歌推送通知

商勇
2023-03-14

我一直在研究如何将((谷歌推送通知))与PHP结合使用,但没有太多的工作示例/文档。。。

我正试图让它在一个内部网络上工作,这个网络不是通过HTTP对外开放的。

我能够从我们的外向型域通过HTTPS实现这一点,但内部尝试在Chrome控制台中告诉我,“API可能不再从不安全的来源使用”,我发现这意味着它需要HTTPS。

有人知道这方面可能的解决方法吗?欺骗HTTPS,或者允许它通过HTTP继续?我理解谷歌将此作为针对恶意用户的预防措施,但事实并非如此,因为它将用于私人用途。

我的超文本标记语言只是一个带有onClick="elle fyMe()"事件的按钮。

请求权限的脚本和通知功能

<script>
// request permission on page load
document.addEventListener('DOMContentLoaded', function () {
  if (!Notification) {
    alert('Desktop notifications not available in your browser. Try Chromium.'); 
    return;
  }

  if (Notification.permission !== "granted")
    Notification.requestPermission();
});

function notifyMe() {
  if (Notification.permission !== "granted")
    Notification.requestPermission();
  else {
    var notification = new Notification('Notification title', {
      icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
      body: "Hey there! You've been notified!",
    });

    notification.onclick = function () {
      window.open("http://example.com");      
    };

  }

}
</script>

带有通知选项和权限的JS文件:

'use strict';

var button = document.querySelector('button');
var input = document.querySelector('input');

var notify = function() {
  var options = {
    body: input.value,
    icon: 'icon.png',
    tag: 'foo',
    type: 'basic'
  };
  var n = new Notification('Greetings!', options);
  n.onclick = function() {
    console.log('Clicked.');
  };
  n.onclose = function() {
    console.log('Closed.');
  };
  n.onshow = function() {
    console.log('Shown.');
  };
};

button.onclick = function() {
  if (!('Notification' in window)) {
    alert('This browser does not support desktop notification');
  } else if (Notification.permission === 'granted') {
    notify();
  } else if (Notification.permission !== 'denied') {
    Notification.requestPermission(function(permission) {
      if (!('permission' in Notification)) {
        Notification.permission = permission;
      }
      if (permission === 'granted') {
        notify();
      }
    });
  }
};

共有1个答案

戚俊健
2023-03-14

在对此进行了广泛的研究和测试之后,我发现如果没有HTTPS连接,即使是在内部网络上,也不可能使用Google Chrome通知。

我选择了设置SSL证书,这解决了我的问题。

 类似资料:
  • 我在我的应用程序中使用Google日历API。 我面临的问题是谷歌没有给我发送推送通知。 我在这里设置我的应用程序https://console.developers.google.com/ 已验证域名:https://console.developers.google.com/apis/credentials/domainverification 观看日历:https://developers.

  • 在我的android应用程序中,我使用GCM从公司服务器接收消息。 我为c2dm编写了代码,并按照说明将代码迁移到GCM。(http://developer.android.com/google/gcm/c2dm.html) 在AndroidLollipop(Nexus 9 wifi)中,设备注册推送通知并接收推送注册标识,但当我从服务器发送消息时,在设备中我不会收到任何消息。 在以前的Andro

  • 我想使用Google CAL API v3来观看多个日历,从而将这些日历中的所有事件更新到主日历,因此我需要使用WATCH/PUSH通知,以便每当有新事件在这些cal中,这些事件将自动在我的主日历中推送/创建。 但是,我面临以下问题:在API资源管理器下。大多数服务返回200 OK,除了Watch请求不工作。 服务 我收到了以下请求和响应 请求 回应 然后我按照下面的谷歌文档https://dev

  • 我想使用谷歌应用程序脚本更新谷歌电子表格,并在我拥有的一系列日历发生更改时使用Gmail API发送电子邮件。 Google日历推送通知是否可以与Google App Script一起使用,或者是否需要其他某种平台? 我愿意学习任何必要的东西。我知道需要一个域名来接收通知。 我感谢你的帮助!

  • 我正在使用GCM向Android应用程序发送和接收推送通知。我是从这里给出的一个例子中创建这个应用程序的(Android的谷歌云消息GCM和推送通知) 这些是我正在使用的java文件 最终语境=此; shareRegidTask=new AsyncTask() AsyncTask()上出错 通知兼容。Builder mBuilder=new NotificationCompat。建造商( 这).

  • 目前,我们正在开发一个处理谷歌日历的iPhone应用程序。需要将日历事件同步到服务器端。一切都很好。 但是对于推送通知,我们遵循这个过程 带参数 在标题中,我们正在发送 和内容类型:json 这里有人能帮我们解决这个问题吗?