关于azure blob静态网站的网页通知

时间:2017-02-01 08:27:09

标签: azure azure-storage-blobs onesignal

我有一个使用azure存储的静态网站:

https://helloweb.blob.core.windows.net/content/index.html

在onesiganl应用程序设置中需要配置的域名是什么:

网站网址https://helloweb.blob.core.windows.net

默认通知图标网址 https://helloweb.blob.core.windows.net/content/icon.png

我的manifest.json:

{
  "name": "Hello Web",
  "short_name": "Helloweb",
  "start_url": "/content/index.html",
  "display": "standalone",
  "gcm_sender_id": "482941778795"
}

I can't see any user at onesignal users page.

1 个答案:

答案 0 :(得分:1)

根据onesignal document提到 OneSignalSDKWorker.js&应该从顶级根提供OneSignalSDKUpdaterWorker.js 。 在Azure存储中,我们无法顶级根中设置blob。 blob需要一个容器。

  

将文件上传到您网站目录的顶级根。以下网址应公开:

     

https://yoursite.com/manifest.json

     

https://yoursite.com/OneSignalSDKWorker.js

     

https://yoursite.com/OneSignalSDKUpdaterWorker.js

  

OneSignalSDKWorker.js& OneSignalSDKUpdaterWorker.js

     

•不应重命名这些文件,并且应从顶级根

提供文件

根据我的经验,将网站放在Azure存储中不是一个好的选择。我们可以使用azure WebApp service来轻松完成。我做了一个测试。它工作正常。

以下是我的详细步骤:

1.从Azure门户创建WebApp

enter image description here

2.配置OnSignal设置

enter image description here

3.下载Web Push SDK并按照tutorials编辑清单文件。

4.添加索引文件,只需要替换“您的应用程序ID”

  <head>
      <link rel="manifest" href="/manifest.json">
      <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
      <script>
        var OneSignal = window.OneSignal || [];
        OneSignal.push(["init", {
          appId: "YOUR_APP_ID",
          autoRegister: false,
          notifyButton: {
            enable: true /* Set to false to hide */
          }
        }]);
      </script>
    </head>

5.使用Kudu将代码上传到WebApp(https://yoursite.scm.azurewebsite.net/).We可以直接将文件拖到文件夹中。更多部署请参考官方document

enter image description here

enter image description here

  1. 从Firefox浏览器访问https://yoursite.azurewebsite.net/index.html。我们需要设置权限来设置消息弹出窗口。
  2. enter image description here

    1. 从[所有用户]检查我们将看到订阅的用户信息
    2. enter image description here