小编Sin*_*ine的帖子

在发送推送通知时未调用messaging.onMessage()(JavaScript)

我发现了一个与Stackoverflow类似的问题,但遗憾的是没有回答.

我正在尝试使用FCM向Web发送推送通知.当我把Android设备的令牌和通知成功传递给所有令牌时,我已经设置了我的应用服务器并且工作正常.但是,在将通知发送到Web时,不会调用Web上的onMessage()函数.

我的代码是:

<script src="https://www.gstatic.com/firebasejs/4.6.0/firebase.js"></script>
       <script>
         // Initialize Firebase
         var config = {
           apiKey: "xxxxxxxxx",
           authDomain: "xxxxxxxx",
           databaseURL: "xxxxxxx",
           projectId: "xxxxxxxxxxxx",
           storageBucket: "xxxxxxxxx",
           messagingSenderId: "xxxxxxxxx"
         };
         firebase.initializeApp(config);

           //Get Token
          const messaging = firebase.messaging();
          messaging.requestPermission()
           .then(function () {
               console.log('Have permission');
               return messaging.getToken();
           })
        .then(function (token) {
            console.log(token);
        })
          .catch(function (err) {
              console.log('Error occurred');
          });

          messaging.onMessage(function (payload) {
              console.log('onMessage', payload);
          })
Run Code Online (Sandbox Code Playgroud)

firebase-messaging-sw.js代码代码:

importScripts('https://www.gstatic.com/firebasejs/4.6.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.6.0/firebase-messaging.js');

var config = {
apiKey: "xxxxxxxxx",
authDomain: "XXXXXXXXXX",
databaseURL: "XXXXXXXXXX",
projectId: "XXXXXXXXXX",
storageBucket: "XXXXXXXXX",
messagingSenderId: "XXXXXXXXXX"
};

firebase.initializeApp(config); …
Run Code Online (Sandbox Code Playgroud)

javascript push-notification firebase firebase-cloud-messaging

11
推荐指数
1
解决办法
947
查看次数

Xcode 12 更新:无法将“DataRequest”类型的值转换为关闭结果类型“Void”

我正在使用 AlamoFire 和 PromiseKit 进行 API 调用。

代码运行良好 2 年,直到我更新到 Xcode 12.0。

函数现在返回错误:“无法将‘DataRequest’类型的值转换为关闭结果类型‘Void’”

我的功能如下:

   func fetchArticlesFromApi (API: String) -> Promise<[Article]> {
    return Promise<[Article]> { seal in
        return Alamofire.request(API).validate().responseString(completionHandler: { //Error happening here
            response in
            switch (response.result) {
            case .success(let responseString1):
                //Do something
            case .failure(let error):
                print (error)
                seal.reject(error)
            }
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

错误发生在函数的第三行 有什么想法可能在此更新中发生了变化?

注意:当我在 xcode 11.6 上运行相同的代码时,代码工作正常!

ios swift alamofire promisekit

2
推荐指数
1
解决办法
1863
查看次数