【发布时间】:2018-04-11 05:35:55
【问题描述】:
从与 iOS 的链接启动时会不断返回以下内容,但 Android 工作正常。
{"+is_first_session":false,"+clicked_branch_link":false,"+non_branch_link":"https://yourapp.app.link/?someparam=123"}
我刚刚开始使用 React Native Branch,我已经到了通过提供的链接打开我的 Android 应用程序的地步,并且正在成功订阅并通过传入的参数识别分支链接,但是当涉及到iOS 应用程序在应用程序按照链接成功打开并订阅时,它似乎没有识别分支链接,也没有传入参数。
我已根据需要修改了AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[RNBranch initSessionWithLaunchOptions:launchOptions isReferrable:YES];
NSURL *jsCodeLocation;
添加打开 URL(已有 FBSDKApplicationDelegate)
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
];
if (![RNBranch.branch application:application openURL:url options:options]) {
// do other deep link routing for the Facebook SDK, Pinterest SDK, etc
}
return YES;
// Add any custom logic here.
return handled;
}
继续用户活动
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
return [RNBranch continueUserActivity:userActivity];
}
@end
然后我在info.plist 中为branch_key 添加了live 和test
我已经配置了通用链接,为我各自的应用程序添加了相应的 applinks:xxxx.app.link,将 xxxx 替换为此类。
非常感谢,我不确定我是否遗漏了一些适用于 iOS 的配置,但它似乎适用于 Android。
【问题讨论】:
标签: ios react-native deep-linking react-native-ios branch.io