始终响应本机分支非分支链接



从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中添加了livetestbranch_key

我已经配置了通用链接,为我各自的应用程序添加了相应的applinks:xxxx.app.link,将xxxx替换为这样的链接。

非常感谢,我不确定我是否缺少一些适用于 iOS 的配置,但它似乎在 Android 上运行良好。

完全披露,我在 Branch 工作

你的应用无法检测到 Branch 链接的原因可能是因为你的应用正在使用测试密钥,而你使用的是在应用的实时版本中创建的链接。若要检查应用是否正在使用测试密钥,可以在 Branch 仪表板上的应用测试版本中创建一个链接,然后单击该链接。如果您得到+clicked_branch_link:true则表示您的应用正在使用测试密钥。(测试版本中的链接格式为:https://yourapp-test.app.link/sbjdsRS)。

您可以通过以下方式确保您的应用使用实时密钥而不是测试密钥:

  1. info.plist或 OR 中完全删除测试密钥

  2. 确保未在应用程序中启用测试模式(您可以使用 AppDelegate 中的branch.setDebug()ORBranch.setUseTestBranchKey(true)启用测试模式)

相关内容

  • 没有找到相关文章

最新更新