问题描述
应用使用 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 (将#修改为@)