Can we install an app and register a user using deferred deep linking - branch.io

I'm considering using branch.io for my project.
Before I get too deep into it I'd like to sanity check a use case.
1)A user has already been created by an admin in our database.
2)We send the user a customised link to install the app. The link contains a uniqueID
3)User clicks on link and installs the app.
4)When the app is installed we take the uniqueID from the link, use it to look the user up in our database and show their "admin created" data.
So to summarise all of that:
Is it possible install an app from a customised link and access data from the link after install?

This is definitely possible with Branch! You can put as many key-value pairs as you like in a Branch link and during the initialization process, you can retrieve these key-value pairs in a JSON format, even after the install process. Then, you would perform some backend and routing logic with the value of the uniqueID.
To learn more and get started, please visit the docs here:
iOS
Android

Related

Deep link to open a webpage where user can submit form which then takes him to app download page

I am completely new to branch.io. And I am trying to incorporate this into my project. I have a use case where a person will send an invite link using branch to attend a meeting. Also this link should be unique to the invitee. Once user receives a message with link he will click on the link and it should take him to a webpage(my own)/Deepview(branch.io), where he should be able to submit the form which will register him for the event. Once he finishes the registration, show him the page where there is a download app link.
So far I looked into branch.io documentation but i am confused what all features i should use. This is what i found so far. let me know if this is suitable for my use case or not.
For the first scenario of sending unique links i was thinking of using branch.io API as this is what their website suggests
Secondly on click of link taking user to some landing page. this is the part where i am very confused. I didn't find any article which says i can submit a form in Deepview. Or do i have to use my own webpage where user will submit the form and then get that information and send it to braze to create another Deeplink which will take user to app download page.
Please suggest me the features of branch.io, that I should use for my use-case
thank you for contacting Branch. You can create a unique Branch Link with the following ways based on your situation.
Use Quick Links or Ad Links from Branch Dashboard for fast link creation and easy tracking.
Use our App SDK to create and share links within your app.
Use our Web SDK to create links which help convert your web users to app users.
Use our HTTP API to programmatically create links from your server.
Use our Chrome Extension to generate links from your browser.
Also, you can set a different final destination (User landing page) in your Branch Link for your app based on your purpose. For example, you can make users who do not have your app in their device can land on either the App Store, Deepview (is a mobile web splash page, hosted by Branch), or specific webpage via your Branch Link according to your needs.
Please feel free to contact support#branch.io if you have any further questions. We are happy to help you.

Is there any way of knowing (via code) if a user is in the app and using it right now?

I'm trying to incorporate a feature into one of my apps that allows you to message users that are, at that moment, in and using the app. I've searched for a while now, but with no luck finding any article, API, npm package, etc, that supports this concept - if it even is possible.
I'd rather use an API than see when the user was last on the app via a timestamp and then "guess" if the user is still using the app.
I'm using React Native.
Check that AppState equals to 'active'.
https://facebook.github.io/react-native/docs/appstate

New version import.io cannot create API

I have a number of APIs both authenticated and not authenticated, created in earlier versions of import.io.
With the new Windows app I can't create an API, or at least pick one up. The tutorial shows a whole bunch of options, but I only get "CONFIGURE" and "EXPORT". "Configure" only gives me the option of single URL, bulk extract and URLs from another API. But there is no link to give me the API address.
Similarly, EXPORT only provides "USE IN DATA SET".
I asked their support but got this:
Hi Glenn,
Thank you for reaching out.
As you may noticed, we made some changes to our interface.
We moved the into the Export tab (next to configure) and named it
simple API integration.
Let me know if you have any questions.
Thank you,
But when I replied that I don't have that option, I got no reply.
What am I doing wrong?
Glenn.
Import.io support got back t me after I sent a screen video (http://www.evernote.com/l/AAhMJsy7INVHFauEOGFQBgEgJq2IPRSA6AU/). There's a bug in the new Windows desktop app that prevents authenticated APIs from showing.

Apple iTunes Connect Analytics: attribution provider and campaign id value passing to the app delegate

The new iTunes connect has analytics features now. You can specify the provider (pid) id and campaign id (cid) in the url. e.g.
https://itunes.apple.com/fr/app/candy-crush-saga/id553834731?mt=8&pid=1234&cid=My_Campaign
Can you pass those values into the app for various purposes?
I could not find anything that points to that, even after checking:
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
ref:
http://www.applift.com/blog/new-era-attribution-analytics.html
Unfortunately these params are not passed into the app. They are only used for iTunes Connect stats.
Here are the two common workarounds:
Using a fingerprint to implement deferred deep link and passing the params through that link (Tapstream can do this).
Using a provider like Tune/MobileAppTracking to match the link using the ID for advertising (IDFA).
I wrote a blog post to explain the details: https://attributionapp.com/blog/lets-solve-ios-attribution-methods/
I will edit this response in the future if Apple changes their API. If you let Apple know what you want to build and why passing in the params is a better policy they might change their minds faster: https://developer.apple.com/contact/
If you'd like to build your own fingerprinting mechanism to handle all of this deep linking like we have at branch.io, I can give you some instructions how! One side note as I read it in the accepted answer comments is that the INSTALL_REFERRER in Google Play is often very slow (> 1s delay) to launch after install, so if you're depending your user experience on this, your users in are in for a bumpy ride.
Here's how we built fingerprinting on iOS:
Configure a server endpoint (something like yoursite.com/redirect) to accomplish two things:
Serve up some client side JS to open your app if installed or fall back to the App Store if not. I listed out this code in this answer
Capture a set of of parameters about the clicking user by reading their user agent, etc. Here's a simple subset that will work well:
OS
OS version
IP address
Device model
When the user opens the app, send back that set of parameters, as read from the app to a new endpoint (something like yoursite.com/completematch).
If there's a match, you can pass back the parameters.
If you want to get savvy, you can drop a cookie on yoursite.com and save the match to the IDFA received from the app. Ideally, you'd only do this if you redirect into the app immediately so you're 100% sure of the match. Then if that same user ever clicks on the link again and installs the app, you don't have to use fingerprinting as you can just use the cookie-IDFA pair. We've got hundreds of millions of these at Branch so fingerprinting is more of a fallback mechanism at this point.

Tracking query strings in Shopify, using webhooks and admin options

I was redirected here by Shopify support. I have three main questions for a project I'll be working on and wanted to see how possible some of the things would be.
We are looking to develop a plugin for use with Shopify to track purchases through the use of a link shortener (to see which link referred what purchases, etc.). I have a few questions that I'm not 100% sure on even after reading through the documentation.
The first problem that I seem to have is tracking the query string that the link shortener appends to the URL once it redirects. For this service, they use "?visit_id={hash}" and I need to be able to access this--at the very least on the "Thank You" page after an order. I saw in the docs that there is "landing_page_ref" (http://wiki.shopify.com/Order#landing_site_ref) but considering our query string is "visit_id" instead of one of the acceptable parameters, how would I be able to use that query string?
Lastly, I just have a question about how webhooks work with plugins that are on the app store. I know I can just call webhooks to wherever I want, like my personal server, but if this app gets onto the app store, I obviously don't want to hook everything to my own server. Is there a way to make it run on the store itself, and which URL should I use?
Lastly, what is the preferred method for handling configuration options for the plugin? Is there a way to hook into the admin backend or would all configuration have to be in a file within the plugin?
Thanks,
Andrew
I'll do my best to answer these for you. It sounds like you're used to building plugins for something like Wordpress - Shopify apps are a bit different.
You can't access anything on the thank you page for the order.
The thank you page/checkout process goes through a secured Shopify page that you don't have access to - so if you want information about what your URL shortener attached to the store pages, you'll need to retrieve it while they're on the page (using something like a ScriptTag + Javascript to track the query string), or hope that it's inside the Order when you retrieve it later (using the API or a webhook).
Webhooks need to talk to a server you run.
They send the information to you, and then you process it and deal with it. If you want to use webhooks, you will need to run a server with your app on it for the webhooks to talk to.
You manage your own config.
Because you're running your own server to handle those webhooks, you handle configuration for your plugin there. The apps I've worked on typically have their own database for managing configuration options, as well as an admin panel to manage them (it's what the user accesses when they click 'Log Into [Your App]' on the "Manage Apps" screen).
You'll need to run your own server to host your Shopify app.