Deeplink не работает при открытии в браузере - PullRequest
0 голосов
/ 05 мая 2020

У меня есть ссылка на контент. Когда я нажимаю на него, я получаю приглашение открыть его в уже установленном приложении или в браузере. Он работает, когда я открываю его в приложении, но не когда выбираю браузер. Когда я открываю приложение, оно возвращает полную строку URI с данными о намерениях. Но с браузером я не получаю данные о намерениях в строке URI.

https://links.thediscounterapp.com/discounterApp/offer=377&branch=120&userid=cCfufEg7dBdeQ2vCrYmdAenrONj2

public void handleDeepLink(){
        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();

                            Intent intent = getIntent();
                            Uri data = intent.getData();

                            if (data.toString().toLowerCase().contains("offer_tab")){
                                if (data.getQueryParameter("offer_tab") != null){
                                    context.startActivity(new Intent(context, FoodAndBeverageActivity.class)
                                            .putExtra("category_id", data.getQueryParameter("offer_tab")+"")
                                            .putExtra("position",0)
                                            .putExtra("sub_position",0));
                                }
                            }else if (data.toString().toLowerCase().contains("offer")){
                                if (data.getQueryParameter("offer") != null){
                                    startActivity(new Intent(context, OfferDetailActivity.class).putExtra("offer_id", data.getQueryParameter("offer")+""));
                                }
                            }else if (data.toString().toLowerCase().contains("vendor_tab")){
                                if (data.getQueryParameter("vendor_tab") != null){
                                    context.startActivity(new Intent(context, FoodAndBeverageActivity.class)
                                            .putExtra("category_id", data.getQueryParameter("vendor_tab")+"")
                                            .putExtra("position",0)
                                            .putExtra("sub_position",2));
                                }
                            }else if (data.toString().toLowerCase().contains("vendor")){
                                if (data.getQueryParameter("vendor") != null){
                                    startActivity(new Intent(context, VendorDetailActivity.class)
                                            .putExtra("vendor_id", data.getQueryParameter("vendor")+"")
                                            .putExtra("branch_id", data.getQueryParameter("branch")+""));
                                }
                            }else if (data.toString().toLowerCase().contains("nearme_tab")){
                                if (data.getQueryParameter("nearme_tab") != null){
                                    context.startActivity(new Intent(context, FoodAndBeverageActivity.class)
                                            .putExtra("category_id", data.getQueryParameter("nearme_tab")+"")
                                            .putExtra("position",0)
                                            .putExtra("sub_position",1));
                                }
                            }else if (data.toString().toLowerCase().contains("settings")){
                                if (data.getQueryParameter("settings") != null){
                                    startActivity(new Intent(context, HomeActivity.class).putExtra("invite", data.getQueryParameter("settings")+""));
                                }
                            }else {
                                if (sessionManager.isLoggedIn()) {
                                    startActivity(new Intent(context, HomeActivity.class));
                                } else {
                                    startActivity(new Intent(context, SocialButtonActivity.class));
                                }
                            }
                            finish();
                        }else {
                            if (sessionManager.isLoggedIn()) {
                                startActivity(new Intent(context, HomeActivity.class));
                            } else {
                                startActivity(new Intent(context, SocialButtonActivity.class));
                            }
                            finish();
                        }


                        // Handle the deep link. For example, open the linked
                        // content, or apply promotional credit to the user's
                        // account.
                        // ...

                        // ...
                    }
                })
                .addOnFailureListener(this, new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.w("TAG", "getDynamicLink:onFailure", e);
                    }
                });
    }

Ниже приведены ссылки на deeplink, которые я получил как из приложения, так и из браузера:

URI STRING FROM BROWSER - https://links.thediscounterapp.com/discounterApp

СТРОКА URI В ПРИЛОЖЕНИИ - https://links.thediscounterapp.com/discounterApp/?offer=377&branch=120&userid=cCfufEg7dBdeQ2vCrYmdAenrONj2

Я не понимаю, почему это не работает, но, как уже упоминалось, когда я нажимаю браузер Я не получаю данные о намерениях, поэтому я перехожу к домашней странице.

Любая помощь будет принята с благодарностью. Заранее спасибо

...