How to find out the deep linking path to all apps? - react-native

Linking.openURL(`whatsapp://send?phone=${phoneNumber}`)
Take one example, the above is the code to navigate user from our app directly to contact window on WhatsApp.
And now I'm wondering how to navigate user to my company page on facebook page?
Linking.canOpenURL('fb://profile/mycompanypage')
The above not working of course. And other than that, usually how do we know what is the url for us to navigate to the apps?
For example particular Youtube Channel or Vimeo Channel or Twitter profile?

For Facebook you can use these scheme
for Android fb://facewebmodal/f?href=${url} (url is the fb classical url you use in browser)
for IOS fb://page/PAGEID fb://profile/PAGEID you can find the PAGEID of your company page here https://findmyfbid.com/
The IOS solution is great when you don't have to generate the url on the fly which works for you i think. In a different case you'll have to use the FB SDK.
As for your other question: i generally go to the ressources website of the said app to find the right scheme for linking. But maybe there is a place where all those informations can be found ...
EDIT: IOS scheme was wrong

Related

How do I open the deep link in mobile browser rather than mobile app in react native

What I am trying to do is opening a deep link in mobile browse (Not in app). Deeplinking is all set up, all the links with specific domains are opening/navigating into app opened from any where else. Now here is a scenario that there are some particular links with same domain (I set up deeplinking for), I want to open that in browser because I don't have any view to show for that link in my app so I want them open in browser.
I have identified the links but when I opened these links via Linking.openUrl it navigates me to the app.
if (lowerUrl.includes(PostType.NO_DEEP_LINK)) {
Linking.openURL(lowerUrl);
return null;
}
Is there any method I can specify the Linking method to open url in mobile browser not in app although the url has a same domain that is setup for deep linkg.
Solution 1#
The best possible solution for that can be using android:pathPattern in android manifest. Basically you have to provide path pattern (a sort regex) to match the valid links.
Documentation for that can be found here.
https://developer.android.com/guide/topics/manifest/data-element
Solution # 2
One has to make RN Native Module and instead Linking.openURL(lowerUrl) to handle this kind of scenario.
To make browser native module one can take help from here.
This solution doesn't work with devices which lacks google play services like Kindle Fire, etc

Branch.IO - Link to Facebook Group

I'm in marketing and hoping someone here can provide some guidance. I have been searching for a solution that will allow potential customers to click on a link present in an advertisement and have the link open our Facebook Group in their FB app. Today, the mobile web browser takes over.
I've been researching this for some time and recently found Branch.IO. I'm just not sure the best approach to take to accomplish my goal. Most of the examples I've seen are to launch a companies mobile app with deep linking to a product. I suppose this is similar but the app is Facebook and the deep link is to our group.
If someone would be willing to assist I would be very appreciative. Thank you!
For Facebook app to be opened consistently, you would need to integrate Branch SDK into the app. Since you do not have access to Facebook's code base - you will not be able to do this.
The setup is still possible with Branch, but you would have to rely on the URI schemes provided here: What are all the custom URL schemes supported by the Facebook iPhone app?
You may utilize Branch's integration guide for best integration results.
However, you may be better off using a simple link shortener of some sort to direct users to your Facebook group on web.

Branch (React-native) deeplinking is not working in FB messenger (Android)

I am using Branch.io to send users their credentials in my app. Since the app is not live yet, i am testing with everything on "live" in the Branch settings.
If I create a link from the app and send it via Slack or email, with the app installed then the app opens but if I share the link with Facebook messenger then the fallback url is used. EDIT:The fallback is the expected behavior on iOS, but i am working on Android.
I did find this which (1) is not very promising (2) is old (3) is not exactly the same situation since the links do work for me.
If you click the link from the Facebook Messenger app, then redirecting to the Fallback URL is the expected link behavior:
https://docs.branch.io/pages/links/integrate/#expected-link-behavior
Per the docs, you can still open the app using URI schemes or a Deepview.

Disable Twitter Universal Deep Links

Update: It appears Twitter has fixed this issue. Clicking the authorize button now works! Thank you all for the responses.
I have a UIWebView that opens and directs to Twitters Oauth/Authorize webpage. The user signs in with there Twitter details and authenticates the use of our application with there Twitter account. This process worked perfect before the release of Twitter 6.37 iOS application. What happens now is when the WebView detects https://twitter.com/oauth/authorize?oauth_token instead of staying in the WebView it opens the native Twitter application and dies. If you uninstall the Twitter application everything works as usually it staying within the WebView. How can I prevent this from happening? I want to stay within my UIWebView and not automatically open deep links. I have been reading about the new URL deep link changes in iOS 9, but not sure of how to stop them from my application to other native applications. Thanks for any help!
As a workaround, in twitter authentication screen we can use the Go button on iOS typing keypad instead of using the sign in button on web view until twitter fixes.
Please refer the attached screenshot link for clarity.
Screenshot for the workaround
I ran into this issue as well and figured out it was because my authorize endpoint was set to https://twitter.com/oauth/authorize?oauth_token="+oauthToken (I believe this was in the original documentation). If you add api as the subdomain: https://api.twitter.com/oauth/authorize?oauth_token="+oauthToken, it will no longer trigger the deep linking and load the twitter app.
My answer to this via a Xamarin question:
Unless Twitter removes/updates the apps section of "https://www.twitter.com/apple-app-site-association" to allow a bypass or a secondary oauth that is not in the apple-app-site-association file I do not see how you would do it. These files are signed and iOS handles them at an OS level.
I have not played around very much with the continueUserActivity delegate and the NSUserActivity object that is passed to apps launched from UNI links, but I do not see a way for the launched app (i.e. Twitter) to return control to the original app, and at that point the oauth call-chain would be broken anyway....
Unique. Unlike custom URL schemes, universal links can’t be claimed by other apps, because they use standard HTTP or HTTPS links to your website.
Secure. When users install your app, iOS checks a file that you’ve uploaded to your web server to make sure that your website allows your app to open URLs on its behalf. Only you can create and upload this file, so the association of your website with your app is secure.
Via: https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html
I would report as an issue (bug?) to Twitter's Dev forum: https://twittercommunity.com

Sencha Touch and Admob without url

I have found some tutorials on the web on how to integrate admob with sencha. My problem is when you add a Site/App on admob, after selecting Smartphone Web for the ad type, one of the requirements is the Site URL. Now, the app I am creating is packed for android and ios but without a website counterpart.
How am I going to integrate admob to sencha without the needing to input the url of the app? Can I just make up any url, but will this deliver/detect the ads?
many thanks.
I'm pretty sure that you can just leave that box empty, its your Publisher ID that's used to deliver the ads.