android - 将 JSON 传递到 Firebase 动态链接
问题描述
我希望我的用户在单击 Firebase 动态链接 (FDL) 时导航到我的网页(起始页),我希望我的应用用户转到特定页面(这里我需要 JSON 格式的额外数据)。
这是我的代码:
val dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse("{products:...some custom JSON}"))
.setDomainUriPrefix("https://mydomain.page.link")
.setAndroidParameters(DynamicLink.AndroidParameters.Builder().build()) //if set, a click on dynamic link will open android app
.setIosParameters(DynamicLink.IosParameters.Builder("com.foodhatapp.foodhatios").build())
.setSocialMetaTagParameters(DynamicLink.SocialMetaTagParameters.Builder()
.setTitle("Bismillah, FOODHHAAAT")
.setDescription("please click and order at foodhat!")
.setImageUrl(Uri.parse("http://h2866694.stratoserver.net/foodhat/images/products/62-1733-1f644aa6-30af-4237-9478-68a114d7600f.png"))
.build())
.buildShortDynamicLink()
.addOnSuccessListener {
i("teeeeest", it.shortLink.toString())
}
.addOnFailureListener {
i("teeeeest", "error at creating dynamic link...show popup to user..." +
"maybe his internet is broken etc... please check your internet connection and try again later")
}
如您所见,我试图在 setLink()-Section 中传递 JSON ......但是我在哪里可以正确传递 JSON?
我得到一个FailureException
我知道 setLink() 需要一个格式正确的 URI...但是我想将 JSON 传递给我的应用程序,对于 web 只需导航到起始页,以便网页的根 URL...
如何意识到这一点?
解决方案
您可以像这样在链接本身中附加您的 json 数据...
String json = "{}";//convert your json into string
String link = "http://yourdomainlink.com/?jsondata=" + json;
设置链接
.setLink(Uri.parse(link));
然后像这样检索json(代码在java中)
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
// Get deep link from result (may be null if no link is found)
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
String json = deepLink.getQueryParameter("jsondata");
}
}
});
希望这可以帮助
推荐阅读
- php - PHP命令行字符串添加
- python - 使用 Python 进行有效的滚动修剪均值
- python - 用张量流求解函数方程
- laravel-5 - 在 `AppServiceProvider` 类中使用 auth('api')->user() 时返回 null
- android - 如何为recyclerview制作书签列表?
- c++ - cmake 和 /opt/cmake/bin/cmake 显示不同的版本
- css - ASP.NET 内部风格不知从何而来
- ruby-on-rails - Active Model Serializer - 序列化具有多个键和值的模型
- c# - PrintPreviewDialog 仅显示 1 页的项目数少于正在打印的项目数
- css - 展开不同形状和大小的三角形?