我正在使用react-native来运行我的ios应用程序,而且我目前已成功通过城市飞艇进行推送通知。我也有深层链接工作,但只在几种不同的情况下:
我需要在点击城市飞艇的推送通知时启动应用程序并执行深层链接,但是现在它只会启动应用程序而深层链接只会执行该应用程序已经在后台。
以下是我在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
答案 0 :(得分:0)
该动作什么时候不起作用?
深层链接操作有一个默认谓词,拒绝UASituationForegroundPush
情况。这是为了防止应用程序在前台收到推送时自动深度链接。您可以使用以下内容远程执行谓词:
[[UAirship shared].actionRegistry updatePredicate:nil
forEntryWithName:kUADeepLinkActionDefaultRegistryName];