GVKun编程网logo

角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典

4

如果您对角度“serviceworker”中的Razorpay集成必须是您的Web应用程序清单中的字典感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于角度“servicewo

如果您对角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典的详细内容,并且为您提供关于android – 无法找到外类com / razorpay / Y_ $B $com / razorpay / Y_ $B $$5、Angular ServiceWorker 推送通知不起作用、Chrome 上的 Serviceworker 不显示 HTTP 基本身份验证对话框?、Chrome:Serviceworker 在接收推送消息时不会转换到运行状态的有价值信息。

本文目录一览:

角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典

角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典

如何解决角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典

当我调用付款选项时,我在 angular 项目中集成了 razorpay,我在控制台中遇到了一些问题。

错误信息是

  1. "serviceworker" must be a dictionary in your web app manifest.

我最初添加了 pwa。它添加了一些文件和更改

ng 添加@angular/pwa

我的 main.ts 文件

  1. import { enableProdMode } from "@angular/core";
  2. import { platformbrowserDynamic } from "@angular/platform-browser-dynamic";
  3. import { AppModule } from "./app/app.module";
  4. import { environment } from "./environments/environment";
  5. if (environment.production) {
  6. enableProdMode();
  7. }
  8. platformbrowserDynamic()
  9. .bootstrapModule(AppModule)
  10. .catch((err) => console.error(err));

app.module.ts 文件

  1. @NgModule({
  2. declarations: [AppComponent],imports: [
  3. ServiceWorkerModule.register(''ngsw-worker.js'',{ enabled: environment.production }),],

我该如何解决这个问题“serviceworker”必须是您的网络应用清单中的字典

android – 无法找到外类com / razorpay / Y_ $B $com / razorpay / Y_ $B $$5

android – 无法找到外类com / razorpay / Y_ $B $com / razorpay / Y_ $B $$5

我正在实施RazorPay android checkout.我跟着Razorpay Android sdk doc. 运行app gradle build失败并出现此错误.我也在RazorPay上发布了这个帖子.

Exception in thread "main" java.lang.NullPointerException: Couldn't find outer class com/razorpay/Y_$B$of com/razorpay/Y_$B$$5
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:1079)
    at com.google.devtools.build.android.desugar.ClassVsInterface.isOuterInterface(ClassVsInterface.java:56)
    at com.google.devtools.build.android.desugar.InterfaceDesugaring.visitOuterClass(InterfaceDesugaring.java:246)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:638)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
    at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477)
    at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361)
    at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314)
    at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)

如果某个开发人员遇到此问题,请告诉我一个解决方案.

我没有代码可以展示,它只是从razorpay doc上面挑选出来的.

解决方法:

经过大量搜索我找到了解决方案.

更新到新的Android Studio和build:gradle后发生此问题.这不是RazorPay sdk问题.

类似的问题在google tracker报道

要解决此问题,只需在项目级build.gradle中降级build.gradle版本.

buildscript {

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        ...
    }
}

这解决了我的问题.希望也能帮到你.

Angular ServiceWorker 推送通知不起作用

Angular ServiceWorker 推送通知不起作用

如何解决Angular ServiceWorker 推送通知不起作用

我正在处理网络推送消息。我有一个推送消息的小型服务器。这是有效的,但在 Chrome 中,我只收到消息“此站点已在后台更新”。 那是我的 Angular 代码:

  1. ngOnInit(): void {
  2. if (this.swUpdate.isEnabled) {
  3. this.swUpdate.available.subscribe(() => {
  4. if (confirm(''Es steht ein Update bereit. Soll dies geladen werden?'')) {
  5. window.location.reload();
  6. }
  7. });
  8. }
  9. if (this.swPush.isEnabled) {
  10. this.swPush.requestSubscription({
  11. serverPublicKey: this.vapid_PUBLIC_KEY
  12. })
  13. .then(sub => this.notificationService.addPushSubscriber(sub).subscribe(x => console.log(x)))
  14. .catch(err => console.error(''Could not subscribe to notifications'',err));
  15. }

}

如果我将这两个函数添加到 ngsw-worker.js 中,一切都很好。现在我得到了正确的信息。如果没有这些更改,我在 Firefox 中不会收到任何消息。

  1. self.addEventListener(''push'',function(event) {
  2. if (!(self.Notification && self.Notification.permission === ''granted'')) {
  3. return;
  4. }
  5. var data = {};
  6. if (event.data) {
  7. data = event.data.json();
  8. }
  9. var title = data.title;
  10. var message = data.message;
  11. var icon = "img/FM_logo_2013.png";
  12. self.clickTarget = data.clickTarget;
  13. event.waitUntil(self.registration.showNotification(title,{
  14. body: message,tag: ''push-demo'',icon: icon,badge: icon
  15. }));
  16. });
  17. self.addEventListener(''notificationclick'',function(event) {
  18. console.log(''[Service Worker] Notification click Received.'');
  19. event.notification.close();
  20. if(clients.openWindow){
  21. event.waitUntil(clients.openWindow(self.clickTarget));
  22. }
  23. });

Chrome 上的 Serviceworker 不显示 HTTP 基本身份验证对话框?

Chrome 上的 Serviceworker 不显示 HTTP 基本身份验证对话框?

如何解决Chrome 上的 Serviceworker 不显示 HTTP 基本身份验证对话框?

我有一个简单的 service worker 用于触发安装按钮

  1. self.addEventListener(''fetch'',function() {
  2. return;
  3. });

它有效...

我有一个由 HTTP 基本身份验证管理的私有访问页面。此页面显示默认身份验证提示对话框

仅在 Chrome 上,在我部署了 Service Worker 后,提示不再显示。它在 Firefox 上按预期工作。

我在 Chronium 存储库 https://bugs.chromium.org/p/chromium/issues/detail?id=1055253(一年前打开)上发现了一个未解决的错误

有人知道等待修复错误的解决方法吗?

Chrome:Serviceworker 在接收推送消息时不会转换到运行状态

Chrome:Serviceworker 在接收推送消息时不会转换到运行状态

如何解决Chrome:Serviceworker 在接收推送消息时不会转换到运行状态

我们已经实施了一个 SDK,以简化发送和接收推送通知的过程。但是,最近我们遇到了一个问题,即每次发送推送消息时都会收到Generic Notification(即此站点已在后台更新)消息。

经过一段时间的检查和反复试验,我们得出了一个粗略的结论:

  • 每当我们发送推送通知时,第一次,Service Worker 不会唤醒并挂在 Stopped 状态。结果显示Generic Notification。在紧接的后续推送消息中,服务工作线程转换为 Running 状态并接收推送消息。
  • 以下负责处理 push 事件的代码不会在第一次发送推送消息时调用。
  1. @serviceWorkerEvent(''push'')
  2. public static async onPushEvent(context: Context,event: PushEvent) {
  3. context.api.pushDelivered({
  4. // Sending Analytics
  5. }).catch(e => log.error(''e''));
  6. const notificationoptions: Notificationoptions = {
  7. // Notification Options
  8. };
  9. const notifTitle = notificationData.title || '''';
  10. await (await context.serviceWorker.registration).showNotification(notifTitle,notificationoptions);
  11. await context.workerMessenger.broadcast(WORKER_MESSAGE_TYPES.PUSH_RECEIVED,notificationData);
  12. }

附言使用包含 event.waitUntil() 的包装函数,我们正在等待里面的 promise 得到解决。

解决方法

这是预期的行为。您的 Service Worker 没有处理第一个 push 事件,因为您的页面仍然是它的不受控制的客户端。您的 Service Worker 尚未处于 active 状态。

来自The Service Worker Lifecycle(强烈推荐阅读):

在成功完成安装并变为“活动”状态之前,Service Worker 不会收到诸如 fetch 和 push 之类的事件。

要处理第一个 push 事件,您可以:

  1. 在您的 Service Worker 注册脚本中调用 location.reload()
  2. 在您的 Service Worker 中调用 clients.claim()

选项 2 覆盖了 Service Worker 的默认行为,让它控制不受控制的客户端(您的 sw 立即声明客户端)。

另见:

  • Refresh page on controllerchange in service worker
  • Recommended Approach for Refreshing Page on new SW

关于角度“serviceworker”中的 Razorpay 集成必须是您的 Web 应用程序清单中的字典的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于android – 无法找到外类com / razorpay / Y_ $B $com / razorpay / Y_ $B $$5、Angular ServiceWorker 推送通知不起作用、Chrome 上的 Serviceworker 不显示 HTTP 基本身份验证对话框?、Chrome:Serviceworker 在接收推送消息时不会转换到运行状态等相关内容,可以在本站寻找。

本文标签: