React Native 中的深层链接元数据

问题描述

应用使用 react-native: 0.63.3

我们已经在 iOS 和 Android 的 React Native 应用程序中成功实现了深层链接,但我的问题是关于与深层链接相关的元数据...

React Native 还没有包含在框架中的元数据是怎么回事?它们发出一个仅包含有效负载中的目标“url”的事件,并排除例如“referrer”,这在跟踪用户行为等方面非常重要。

React Native 框架参考:

iOS

RCTLinkingManager.mm

...

if ([userActivity.activityType isEqualToString:NSUserActivityTypebrowsingWeb]) {
    NSDictionary *payload = @{@"url": userActivity.webpageURL.absoluteString};
    [[NSNotificationCenter defaultCenter] postNotificationName:kOpenURLNotification
                                                        object:self
                                                      userInfo:payload];
}
Android

DeviceEventManagerModule.java

...

if (reactApplicationContext != null) {
    WritableMap map = Arguments.createMap();
    map.putString("url",uri.toString());
    reactApplicationContext.getJSModule(RCTdeviceeventemitter.class).emit("url",map);
}

具体来说,我需要“推荐人”以促进有关用户行为和营销支出的有用决策。

我是否在其他地方遗漏了元数据,或者元数据实际上出于某种原因被排除在外?

有没有其他人能够在不构建自己的 RN 分支的情况下完成此任务?我想进行更改并将它们公诸于 RN,但我对排除此元数据很着迷,因此正在寻找不包含它的原因。

注意:实现这一点的实际工作非常小,但由于我自己的 PR,我没有很长时间等待它被包含到 RN 中。我可以为 iOS patch-package 它,但对于 Android,我需要实际构建 RN 的分支并预编译二进制文件,这不是世界上最糟糕的事情,但考虑到我升级时感觉没有必要我的 RN 版本,我将不得不再做一次(然后再做一次,等等)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)