My app (Android) has some existing parameter-based deep link routing.
In the Branch docs, I read the following.
If your app already supports deep linking using URI paths, you can
populate the $deeplink_path, $ios_deeplink_path or
$android_deeplink_path link parameters with the URI path of the
content to be displayed within the app. When the Branch SDK receives a
link containing one of these parameters it will automatically load the
specified URI path.
In your app’s Manifest, add this meta-data key to the definition of
the Activity you want to show when a link to content is opened.
<meta-data android:name="io.branch.sdk.auto_link_path"
android:value="custom/path/*,another/path/" />
What exactly would this auto_link_path look like for these real world examples:.
“myapp/#/news/*”
“myapp/login”
“myapp/#”
Thanks!
<meta-data android:name="io.branch.sdk.auto_link_path" android:value="myapp/#/news/*,myapp/login,myapp/#" />
Related
I need a dynamic link (short url) that:
on mobile:
when app is installed -> open app
when app is not installed -> open store
on desktop:
open specific web url
I managed to get it working for the mobile part. However, on desktop it also opens the deeplink for the app. The documentation states to use the OFL parameter for that. Now if I manually add this parameter to the long url everything works as expected but I need a short url. How can I add this parameter via Firebase Console directly?
Cheers
The 'ofl' feature is not yet available for Dynamic Links created via the Firebase console. Currently, this is only possible with Manual URL construction dynamic link. The idea is to add the "ofl" parameter to the url to make the FDL redirect another URL on the desktop, like displaying a full web page of the app content.
I faced the same problem and i fixed it by using the property longDynamicLink that the DynamicLinkParameters object provides as they said in documentation:
/// Set the long Dynamic Link when building a short link (i.e. using `buildShortLink()` API). This allows the user to append
/// additional query strings that would otherwise not be possible (e.g. "ofl" parameter). This will not work if using buildLink() API.
final Uri? longDynamicLink;
I am building a dashboard(web app) to present the landslide related data. I have some external maps (slope, drainage and etc). I want to show them as layers in the web app. I was unable to find a correct way of doing so. Can someone suggest a solution?
You mentioned in your comment that you're trying to map Shapefiles. If you want to load your Shapefiles into the map from the JavaScript API, there's a sample here that shows you how to load that file into the map.
If you'd like to add it to your Web Map so that you can view it in an app, you can do that too, just go to the Arcgis.com Map page and click Add > Layer from File (more info).
Here is the image of the asset information widget, which can add a property called c8y_Address
I would like my device to show their address information on the asset information widget, but I don't really know how to upload these properties to a device.
I am using MQTT. So I created a customised SMQRT Template, which is a POST inventory method 001,<region>,<street>,<territory>. And then I publish it using client.publish('s/uc/TemplateName',001,${region},${address},${territory});. But it doesn't work.
I'm just wondering how can we use API to add the address information as a property of a device?
Thank you.
POST would create a new object. I guess what you want to do is updating the device with this properties. So a PUT template would be the correct choice.
Note that the preview shown in the UI currently is incorrect for PUT templates.
It says:
999,<c8y_Address.region>,<c8y_Address.street>,<c8y_Address.territory>
but it actually needs to be (like described in the SmartREST 2.0 guide):
999,<externalId>,<c8y_Address.region>,<c8y_Address.street>,<c8y_Address.territory>
The externalId needs to be from the device you want to update (if you only have a single device without children it would be what you also use as MQTT clientId).
So I've setup branch.io and universal links on my app and website but the deep link doesn't seem to be working
Using the dynamic link
https://foo.link?%24deeplink_path=event%2F99
I get redirected to
https://foo.com/?$deeplink_path=event%2F99
I was expecting it to go here instead
https://foo.com/event/99
Additionally - when I trigger the link in my app on device or simulator it doesn't deep link in or trigger the branch event functions in react native - but does open the app.
I've added the methods to AppDelegate and went through all the steps to deep link - did I miss something?
Alex from Branch here:
You're really close — this is just a minor misconception in how the various Branch configuration parameters work.
First of all, know that a Branch link can contain various 'control parameters' that define system behavior, and an unlimited number of custom key:value pairs.
On Android and iOS < 9 (both of which use URI schemes for deep linking), the $deeplink_path param is a control param: Branch automatically passes any value in this parameter into the standard URI path methods when the app opens. On iOS > 9 (which uses Universal Links), $deeplink_path is treated as just a 'normal' key:value pair, but you can build some custom code to make it behave the same way as Android and iOS < 9.
Website redirects work a little bit differently. What you actually want here is the $fallback_url control parameter (or one of its platform-specific varients). This defines where non-app users will be redirected. In this case, https://foo.link?%24fallback_url=https%3A%2F%2Ffoo.com%2Fevent%2F99 should do what you want.
You can find documentation on all these configuration parameters here
Deep linking for Android apps on Facebook allows apps to be opened directly upon clicking a open graph story or other link on FB.
The required settings for this are:
Package Name
Class Name ("The Class Name of the activity you want Facebook to launch")
The package name is user-configurable in the Trigger web interface and I have that correct, however I have no idea what the Class Name is, because handler classes are not directly written.
I've tried "urlhandler", "ForgeActivity", and my custom urlhandler scheme ('fb[APP_ID]' as per FB documentation).
In all cases Facebook launches the Play store instead of the app which is already installed and authorised. This is the expected fallback behaviour if the Package Name is correct but class name is not.
What is the class name I can use for Trigger to handle launching from Facebook?
The class name for the main activity in Trigger is io.trigger.forge.android.core.ForgeActivity.
I've not tested it but I believe with that setting deep linking will open your app, but it doesn't use the urlhandler so unfortunately there will be no way for you to receive and handle the deep link url.