【问题标题】:Urban Airship deep link on remote notification launch - IOSUrban Airship 关于远程通知启动的深层链接 - IOS
【发布时间】:2023-03-20 17:10:01
【问题描述】:

我正在使用 react-native 来运行我的 ios 应用程序,并且我目前通过城市飞艇成功地推送通知。我也有深层链接工作,但仅限于几种不同的情况:

  • 通过使用指定的url模板(“my_template://my_url”)单击url链接从另一个应用程序(notes)启动应用程序,应用程序成功打开并调用深层链接。
  • 应用程序已在后台打开,并使用从城市飞艇发送的推送通知通过深度链接操作打开应用程序。这会从后台打开应用程序并执行深层链接
  • 我需要在点击城市飞艇的推送通知时启动应用程序并执行深层链接,但现在它只会启动应用程序,并且只有当应用程序已经在后台时才会执行深层链接.

    这是我在 AppDelegate.m 中执行城市飞艇通知的代码(仅显示相关代码):

    #import "AppDelegate.h"
    #import "RCTRootView.h"
    #import "RCTLinkingManager.h"
    #import <AirshipKit/AirshipKit.h>
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        [UAirship takeOff];
        [UAirship push].userPushNotificationsEnabled = YES;
    
        return YES;
    }
    
    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    {
      return [RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
    }
    

    在上面的代码中,openURL 参数只在上面列出的两种情况下被调用。

    忙于处理不同的城市飞艇情况,但无法让它们发挥作用。 UASituation documentation

    【问题讨论】:

      标签: ios iphone push-notification react-native urbanairship.com


      【解决方案1】:

      什么时候该操作不适合您?

      深层链接操作有一个默认谓词拒绝UASituationForegroundPushsituation。这是为了防止应用程序在前台收到推送时自动进行深度链接。您可以使用以下方式远程谓词:

      [[UAirship shared].actionRegistry updatePredicate:nil
                                       forEntryWithName:kUADeepLinkActionDefaultRegistryName];
      

      【讨论】:

      • 应用程序关闭时该操作不起作用。因此,当推送通知启动应用程序时,它不是深度链接,但如果应用程序已经在后台(而不是前台)打开,则深度链接将起作用。同样,它不接受前台应用程序的通知,这对我来说非常好,只是从推送通知启动应用程序时它不会进行深层链接。
      • 嘿 ralepinski,刚刚解决了这个问题,原来这不是城市飞艇的问题,我在 openURL 函数上运行了一个断点,并且 url 正确传递,这只是一个问题RCTLinkingManager(我将不得不单独解决这个问题)。无论如何感谢您的帮助,我是 stackoverflow 的新手,所以一旦我达到所需的声誉级别,我会提高您的答案。
      • @PhilipBrown 很高兴你知道了 :)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      相关资源
      最近更新 更多