簡體   English   中英

將 JSON 傳遞給 Firebase 動態鏈接

[英]Pass JSON to Firebase Dynamic Link

我希望我的用戶在單擊 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 傳遞給我的應用程序,而對於網絡,只需導航到起始頁,這樣網頁的根 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"); 

                            }

                        }
                    });

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM