微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果我的应用没有在后台打开,Deeplink 将无法工作

如何解决如果我的应用没有在后台打开,Deeplink 将无法工作

我有一个问题,因为我的应用程序在发送推送通知时打开深层链接,它必须在后台打开,如果没有,它就什么也不做,如果它可以打开它的话或者直接打开链接。我只是有推送通知的背景问题。

这是我的代码,当深层链接不是通过通知出现时

    CapApp.addListener('appUrlOpen',async (data: any)  => {
      const routeData = await getDeepLinkRouteData(data.url,dependencies)
      history.push(routeData.route,routeData.params)
    })

但是对于通知,由于我无权访问我运行所有内容文件中的道具,我必须创建一个订阅才能访问,这就是代码

    EventEmitter.subscribe('Notificationopened',async (deeplink:any) => {
      const routeData = await getDeepLinkRouteData(deeplink,routeData.params)
    })

事件发出它包含的内容是这样的:

  export const EventEmitter:any = {
    _events: {},dispatch(event: Events,data: any) {
        if (!this._events[event]) return;
        this._events[event].forEach((callback: Function) => callback(data))
    },subscribe(event: Events,callback: (data: any) => any) {
        if (!this._events[event]) this._events[event] = [];
        this._events[event].push(callback);
    },unsubscribe(event: Events) {
        if (!this._events[event]) return;
        delete this._events[event];
    }
  }

这是我在收到推送通知订阅事件的代码

   PushNotifications.addListener('pushNotificationActionPerformed',async (action: PushNotificationActionPerformed) => {
          setTimeout(() => {
            EventEmitter.dispatch('Notificationopened',action?.notification?.data?.deeplink)
          },4000)
          this.pushUpdate(action?.notification?.data?.pushId)
        })

您能给我的任何帮助,我将不胜感激:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。