У меня есть ссылка на контент. Когда я нажимаю на него, я получаю приглашение открыть его в уже установленном приложении или в браузере. Он работает, когда я открываю его в приложении, но не когда выбираю браузер. Когда я открываю приложение, оно возвращает полную строку 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
Я не понимаю, почему это не работает, но, как уже упоминалось, когда я нажимаю браузер Я не получаю данные о намерениях, поэтому я перехожу к домашней странице.
Любая помощь будет принята с благодарностью. Заранее спасибо