I want to set other link when user open DynamicLink on desktop web browser.
There are DynamicLinkOtherPlatformParameters for iOS, but not Android.
How can I get that ?
You can create your link in android by using "ofl" parameter.
https://{page_link}/?isi={app_store_id}&ibi={ios_bundle_identifier}&ofl={firbase_deep_link+other_parameters}&imv={ios_min_version}&amv={android_min_version}&apn={android_package_name}&link={firebase_dynamic_link}
Related
I've followed the instructions from the official react-native-firebase documentation and everything, as per the instructions, works fine.
It is my understanding that I should be able to create a link like the following in the Firebase Dynamic Links console: https://myapp.page.link/offer?offerid=123456 and be able to receive the offerid parameter in my app. However, when I click that link (in the iOS simulator, Android emulator, and on a real device) the app opens, but I just get a link with the following data:
Received initial link {"minimumAppVersion": null, "url": "https://mysite.co/offers"}
There are no query string parameters attached. Am I missing something in the Firebase Dynamic Link configuration? Or in my implementation of react-native-firebase that was not covered in the documentation linked above? Or is this actually just not possible?
I think you are confusing deep links with dynamic links. Dynamic links handle your deep links to content depending upon the platform.
Example you have a deep link: https://example.com/offer?offerid=123456 .
You wish to open it in your app depending upon the platform.
Suppose you created a domain for dynamic link from console: https://myapp.page.link
Now you can create a dynamic link which opens the deep linked content on your app. The dynamic link can take in only specific parameters as mentioned here. However you can pass your parameters to your deep link,
https://myapp.page.link/?link=https%3A%2F%2Fexample.com%2Foffer%3Fofferid%3D123456&apn=com.example.app&ibi=com.example.app
The above dynamic link opens the deep link in your android app with package name com.example.app and ios app with bundle ID com.example.app.
I am trying to open the app with created Deep link registered on the Firebase Deep Linking service. Alongside the original link, I am trying to pass some extra params to the app in order to process this link.
For example, I have a link: https://my-custom.page.link/page?page=place&id=1001126
The link https://my-custom.page.link/page is registered on the Firebase service and ?page=place&id=1001126 are custom params.
Since we are building a react-native app, this is working as expected on all browsers on the IOS application. On the Android application, it is working as expected on a Google browser but NOT on Firefox or Opera.
On the Android Firefox and Opera browsers when I click on the link it is redirected to my application but additional params are not passed to it.
Is there any other configuration that needs to be set for an Android project to fix this behavior?
After I log data returned from react-native Linking.getInitialURL() I got null.
import { Linking } from 'react-native'
.
.
.
async componentDidMount () {
const deepLinkUrl = await Linking.getInitialURL()
console.warn('deepLinkUrl => ', deepLinkUrl) // IOS: correct payload Object, Android: null - Firefox and Opera
}
I expect to get correct data payload on both platforms.
I have experienced similar issue while using Firebase Dynamic links.
Unfortunately I was not able to pass parameters from Mozilla and Opera browsers using this approach.
However I found hacky way of doing it.
If you use firebase react native package: import firebase from 'react-native-firebase', it also has functionality for getting deep link url : deepLinkUrl = await firebase.links().getInitialLink()
Using this function you will get the App Store url from Firebase Dynamic Link.
Idea is to pass your parameters through App Store url in the way that you encode parameters e.g https://yourlink.page.link/?link=https://play.google.com/store/apps/details?id%3Dcom.yourapp%26param1%3Dvalue%26param2%3Dvalue...
These parameters will be striped if user goes to the app store, and if the user opens the link in the app you will be able to extract parameters from this url.
I hope this answer helps. :)
I am trying to implement SSO using this Azure adal library in a native android application.
I could not see any documentation on Redirect URL in android, Once I enter valid user name and password in microsoft portal, I could not redirect to my LoginFragment using Redirect URL.
My AuthenticationContext object looks like this.
AuthenticationContext mAuthContext;
mAuthContext.acquireToken(
wrapFragment(LoginFragment.this),
Constants.AdlaConfig.RESOURCE_ID,
Constants.AdlaConfig.CLIENT_ID,
"https://LoginFragment", // Redirect URL
"",
PromptBehavior.Auto,
"nux=1",
getCallback());
On debugging i could see that this is an Redirect issue, any help guys!
It sounds like you had resolved your issue. As references, the document list below may be useful for understanding about authentication & SSO on Android.
How to configure a native client application
Add authentication to your Android app, and the section about redirect url on Android App
How to enable cross-app SSO on Android using ADAL
Hope it helps.
I am working on deep linking.I integrate branch.io sdk in my application. I create application on branch.io also. I create a deep link for that application. When i sent that link to device and try to open it in broswer it is showing Error message "It seems like you haven't properly set up your Branch link. Please head to setting tab in the dashboard for more guidence."
On Android, in order for the link to know where to redirect to, you must configure the link settings.
Here are some requirements:
1. If you check 'I have an Android app', then you must select a destination to redirect to. You can either choose the app from Play Store, or set a Custom URL if your app is not live. If you set a Custom URL, please specify the package name of your app project that you'll test with.
Here's an example of a custom URL:
If you don't check 'I have an Android app', then you must specify a Default URL at the bottom.
I develop iOS & android app featuring Uber using Deep Link API.
I'd like to pass the dropoff params (latitude, longitude, formatted_address and nickname) to Uber Android App.
But, There aren't documents & sample code about Android Deep Linking on Uber Developer page
iOS app was well! but, Android app is not well using same url scheme.
uber://?action=setPickup&pickup[latitude]=37.775818&pickup[longitude]=-122.418028&pickup[nickname]=UberHQ&pickup[formatted_address]=1455%20Market%20St%2C%20San%20Francisco%2C%20CA%2094103&dropoff[latitude]=37.802374&dropoff[longitude]=-122.405818&dropoff[nickname]=Coit%20Tower&dropoff[formatted_address]=1%20Telegraph%20Hill%20Blvd%2C%20San%20Francisco%2C%20CA%2094133&product_id=a1111c8c-c720-46c3-8534-2fcdd730040d
Could you give me any advice or sample code?
Thanks!
Try like this in android
https://m.uber.com/sign-up?client_id=YOUR_CLIENT_ID
&first_name=myFirstName&last_name=myLastName&email=test#example.com
&country_code=us&mobile_country_code=%2B1&mobile_phone=123-456-7890
&zipcode=94111&product_id=a1111c8c-c720-46c3-8534-2fcdd730040d&pickup_latitude=37.775818
&pickup_longitude=-122.418028&pickup_nickname=Uber%20HQ
&pickup_address=1455%20Market%20St%2C%20San%20Francisco%2C%20CA%2094103
&dropoff_latitude=37.802374&dropoff_longitude=-122.405818
&dropoff_nickname=Coit%20Tower
&dropoff_address=1%20Telegraph%20Hill%20Blvd%2C%20San%20Francisco%2C%20CA%2094133
You need to add client_id=<The client ID of your application.> in intent.
Well there is a very simple trick to this in case if you are going for a uber mobile site just try and replace the [] with _. eg:- &dropoff[nickname] should be like &dropoff_nickname.
And for android app just use the url encoder like:-
user_locationAddress = URLEncoder.encode(user_locationAddress, "UTF-8");
After this you are good to go for deeplinking to mobile site as well as for android app.