Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Universal Deep Linking - Seamless Deep Link and Web Link Association

Discussion in 'Assets and Asset Store' started by ImaginationOverflowPT, Sep 4, 2018.

  1. Christopher-Anderson-GISP

    Christopher-Anderson-GISP

    Joined:
    Mar 5, 2015
    Posts:
    19
    i have upgraded to the latest version (using Unity 2018.4.3f1 and xcode 10.2.1) and now can not archive my project in order to upload it to the app store. i saw in the release notes that there was a bitcode fix for the unity cloud but i don't use unity cloud so i'm not sure if that has anything to do with the error i'm getting.

    Here is the error i get when attempting to archive my project in xcode.

    ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /........./Libraries/libiPhone-lib.a(unwind_test_arm64.o)

    ld: bitcode bundle could not be generated because '/......./Libraries/Plugins/ImaginationOverflow/UniversalDeepLinking/libs/iOS/libUniversalDeepLink.a(LinkerManager.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build file '/....../Libraries/Plugins/ImaginationOverflow/UniversalDeepLinking/libs/iOS/libUniversalDeepLink.a' for architecture arm64

    clang: error: linker command failed with exit code 1 (use -v to see invocation)
     
  2. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi

    Unfortunately, we made a mistake and updated the wrong library to the asset store, the new update is already in certification, so until then we ask you to reach out to us via email or discord and we will send you the actually fixed library.

    Sorry for the trouble

    EDIT: 1.3.2 is online! You can just download it from the asset store ;)
     
    Last edited: Jul 11, 2019
  3. kactus223

    kactus223

    Joined:
    May 20, 2014
    Posts:
    35
    Hi. The plugin used to works perfectly until a few days ago. I'm not sure what we've done but opening the game from url scheme makes it crashed on android. Here is the log I grabbed:

    Code (CSharp):
    1. java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Intent.putExtra(java.lang.String, boolean)' on a null object reference
    2.     at com.facebook.appevents.internal.SourceApplicationInfo$Factory.create(SourceApplicationInfo.java:143)
    3.     at com.facebook.appevents.internal.ActivityLifecycleTracker.onActivityCreated(ActivityLifecycleTracker.java:155)
    4.     at com.facebook.unity.FB$4.run(FB.java:436)
    5.     at android.os.Handler.handleCallback(Handler.java:873)
    6.     at android.os.Handler.dispatchMessage(Handler.java:99)
    7.     at android.os.Looper.loop(Looper.java:214)
    8.     at android.app.ActivityThread.main(ActivityThread.java:7045)
    9.     at java.lang.reflect.Method.invoke(Native Method)
    10.     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    11.     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
    12.  
    iOS version of the game doesn't crash, but the callback is not called.
     
  4. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi!
    From that log it seems some issues with Facebook SDK, not our plugin, did you recently updated the Facebook SDK on your project?
     
  5. teunververs

    teunververs

    Joined:
    May 22, 2015
    Posts:
    25
    Hi, first off this plugin has been very useful for developing Unity apps with Deep Linking.
    However, I've ran into one small issue with the plugin.

    In Standalone Windows I want to be able to call the LinkActivated event while the app is already running.
    I've set PlayerSettings.forceSingleInstance to true and the Deep Link configuration works, but when I open the app through the link (while it's already active) it just gets brought to the foreground and nothing happens.

    Is there any way to make it work that way?

    EDIT: I found the standalone Caveats section of your documentation... I'll read it now and send questions if I have any.
     
    Last edited: Nov 22, 2019
  6. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi, we have a section on our documentation dedicated to this issue, in simple terms you need to develop a launcher app that launches your game and uses some kind of IPC API to communicate with the actual game in order to deliver the activations after the game is already running.

    If you have any troubles figuring it out, let us know here on our Discord server we will try to help as much as possible ;)
     
  7. Jean-Fabre

    Jean-Fabre

    Joined:
    Sep 6, 2007
    Posts:
    429
    Hi,

    I am enquiring to check if this Universal Deep Link also allows for deferred deep link, like when a user has not yet installed the app on IOS, and clicks on a link to the app store with some variables to it, and retrieve these variables values when the app is finally installed on the user's device.

    Thanks,

    Jean
     
  8. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi, we don't support deferred deep link on any platform. On iOS we do support smart banners, but this isn't probably what you are using at the moment.

    We are working on a deferred deep link plugin but it will be exclusive to Android, the last time we checked iOS required some kind o back end, so we decided to not go for it.
    You can use Firebase or Branch solutions to do that though.
     
  9. Jean-Fabre

    Jean-Fabre

    Joined:
    Sep 6, 2007
    Posts:
    429
    Hi,

    ok, thanks for your confirmation, I checked Branch, I am waiting for sales to get back to me.

    Bye,

    Jean
     
  10. angelsm85

    angelsm85

    Joined:
    Oct 27, 2015
    Posts:
    63
    Hi,

    In last builds of our ANDROID app the asset doesn't read the url, querystring, etc when we use "Instance_LinkActivated(ImaginationOverflow.UniversalDeepLinking.LinkActivation linkActivation)" but in iOS version works fine. In Unity editor also works fine but not when we run in android device.

    Can anybody help us? Thank you in advance.
     
  11. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Can you tell us a little more info?
    What does it have on the URL parameter of the LinkActivation instance?
    What url are you using to test?
     
  12. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi guys!

    Yesterday we pushed a new update to our Universal Deep Linking plugin! We did an overhaul on the naming schemes for files that we create on build, this will avoid future errors with spaces and special characters (e.g cyrillic/chinese/etc), on troublesome platforms like iOS and Mac.

    A big thanks to Auron Chen and philltew for letting us know about the issue and helping us test the fixes!

    You can download it now from the Asset store
     
  13. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi guys!

    We just updated both the plugin versions to 1.5.3 fixing some MacOs build issue and extending the plugin functionality to allow integration with our upcoming Deferred Deep Linking plugin. You can check the plugin changelog on our blog.

    A special thanks to paladinlll for the help fixing this one.
     
  14. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Hi! I just discovered this plugin and I'm pretty excited. But I'm not 100% certain that it's right for my use case (or that my use case is even valid). Here's what I want to do:

    I'm writing an app called Mini Micro which is a sort of retro virtual home computer. People can use it to write programs and games like these in a simple scripting language.

    What I'd like to do is define a "minimicro:" scheme that should be followed by a URL, and this should launch Mini Micro on your computer (if you have it installed already) and point it to that URL. Mini Micro will then load the zip file at that URL via HTTPS, and run the game therein. So now users can write their Mini Micro programs, zip up the folder containing their code and resources, upload it to a server somewhere, and then hand out these minimicro: URLs, which any other Mini Micro users could just click to play.

    Does this all sound kosher, and the sort of thing this plugin would enable me to do?
     
  15. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi!
    Yes, we handle exactly that, you define your custom URI, minimicro:// and our plugin ensures that if the app is installed in the system it opens with the link information, e.g, minimicro://open?fileId=12345.

    If you are interested you can also check other of our plugins Universal File Association, to create a custom file extension, e.g someprogram.minimicro, with the plugin you would be able to open the files directly on your application :)

    Feel free to contact us with any other questions ;)
     
    Last edited: Feb 7, 2020
    JoeStrout likes this.
  16. prajwalshetty_

    prajwalshetty_

    Joined:
    Feb 9, 2020
    Posts:
    3
    Hi, just bought this plugin on the store. Using it for windows standalone (yet to test it on mac standalone & UWP), What i have realized is it launches a new standalone instance every time a deeplink is clicked by user. Is there a way to resume a already launched instance? Thanks.
     
  17. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi,
    You can change that behavior by configuring Unity to force a single instance of your application, you can configure that over at Player Settings.

    Still regarding this issue, we recommend you to check our documentation on how to get deep link activations after your game is already running.
     
    prajwalshetty_ likes this.
  18. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi guys
    We just updated the plugin with the following changes:
    • Added generic third party lib for ios, enabling the plugin to work with any third party plugin that overrides unity AppDelegate.
    • Added macOS il2cpp automatic support
    • Minor code refactoring and optimizations
    • Updated all native library sources (Pro only)
    For more info check our blog post
     
    prajwalshetty_ and JoeStrout like this.
  19. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Today we just released the 1.5.5 version fixing that annoying build error on standalone and making some compatibility improvements, for more info check our blog.
    A big thanks to all of you that reached out with suggestions and issues!
     
    JoeStrout likes this.
  20. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi guys
    We just released a new update, fixing some macOS issues, you can download it now, from the Asset Store, for more info check out our blog post.

    The regular version is also on sale for 50% off, we never really put our assets on sale, so do take advantage of it ;)
     
    JoeStrout likes this.
  21. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,080
    Hi! Does this work with other plugins, such as Vuforia?
     
  22. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi
    I don't see a reason why not, we tried to make our plugin as less intrusive as possible to avoid any complications with others, so far we don't have much complains about compatibility with other plugins.
     
  23. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi guys
    We just released a new update, finally getting rid of the annoying bugs when the builds were made on Unity Cloud Build or via batch mode, you can read more about it on our blog, changelog:
    • [Fixed] Issues regarding Unity Cloud Build
    • [Fixed] Issues regarding batch-mode builds
    • [Fixed] tvOS compilation issue on latest Xcode


    The regular version is also on sale for 50% off (use SSAFF2020 for an extra 10% off)
     
  24. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi,
    Yes it is, everything works in dev environment, so you can go ahead and integrate with it, just remember to include both the dev and release sha256(if they are different) on the assetlinks.json (the sha256_cert_fingerprints is an array)
     
  25. kactus223

    kactus223

    Joined:
    May 20, 2014
    Posts:
    35
    Hi. The plugin works perfectly on device build but I got the same problem when building to iOS simulator. Can you please tell me how did you managed to fix it?
     
  26. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi,
    Can you tell us what error does it pop? The static library was built to work on both the simulator and the target device.
    Any extra info would help.

    Thanks
     
  27. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi everyone
    We just updated the plugin to 1.6.0, this time we fixed some integration issues with our other plugin Universal File Association, improved the overall compatibility with other Android third party plugins by changing how we write on the android manifest and fixed some compilation issues on the latest unity versions.

    You can get the update right now from the asset store (Regular Version | Pro version).

    A big big thanks to all our customers and patrons for helping us track some of the edge case scenarios and helping us build a better plugin!
     
  28. Batataglins

    Batataglins

    Joined:
    May 6, 2018
    Posts:
    15
    Hello.
    I'm making a research to find a good way to implement deeplinks into my application. I've found some free options, but I have to register to generate an app_id, generate link over their sdk and so, too much work and external websites to take care...
    Your asset seems to be straight foward in this point, I really like it, but I have some questions:
    -It's compatible with unity 2017.4?
    -Do I need generate a link or app_id in somewhere in order to make it work?
     
  29. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi
    Thanks for your interest!
    The plugin is compatible with any version starting Unity 5.5.
    The plugin works directly into your app/game so there isn't any dashboard or anything similar to setup, but for Domain Association (opening your app with web links instead of deep links) there is some extra setup, you can read all about it on our documentation.

    Let us know if you have other questions
     
  30. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    The 1.6.1 version is now online with a few more tweaks, we also started consolidating all our plugins in a single framework, you can read more about the plugin update and these changes on our blog.
     
  31. AlexNanomonx

    AlexNanomonx

    Joined:
    Jan 4, 2017
    Posts:
    41
    Hey, I'm just trying to work out if this project does what we need.

    We use unity cloud build. Do you support this? I'm specifically concerned with how it's going to work with the shell script on macOS. I'm guessing it'll be fine???? In cloud build you can run, pre- and post- build scripts. But I'd be interested if you've tried this or known of anyone else who has tried this.

    Edit: Also macOS now supports Universal Links, does your plugin? The docs only mention iOS/tvOS.
     
    Last edited: Aug 18, 2020
  32. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi,
    Unity cloud should run just fine (we don't use that script on macOS builds made on macs).
    We still don't support Universal Links on macOS, we are aiming to include it on the next September update.
     
  33. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi everyone!
    The plugin is now 50% off on the regular version! This should be the last sale that the plugin will participate in 2020, so if you were considering acquiring it, you won't have a better time!

    In the first weeks of September, we will also add Universal Links for macOS so stay tuned!
     
  34. clairegrace

    clairegrace

    Joined:
    Aug 27, 2020
    Posts:
    5
    I am experiencing the exact same issue. It opens the application but does not pass the query string into Android only - iOS, Editor works fine...any suggestions?
     
  35. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi
    Does LinkActivated still gets triggered?
    If not probably some other plugin restricting ours the access to the data we need, can you list the other plugins you are using? With that info, we can help you work around it ;)
     
  36. clairegrace

    clairegrace

    Joined:
    Aug 27, 2020
    Posts:
    5
    LinkActivated does not get triggered, on Android alone. The application does open up - but from all my debugging efforts, I can never see the LinkActivated function triggered, again, Android only. There are absolutely no other plugins in the project; and this occurs when I create a new empty project as well. I am using 2019.2.3f1, again this works great on iOS, MacOS, and using the debug tools, I am able to pass parameters and it behaves as expected - but not on any of my android devices, which span from 5.x to 9.x, on various devices from tablets to phones by Samsung, Hauwei, etc, all using stock firmware.

    I am using the latest version of the plugin, of course.
     
  37. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    As a last sanity check, did you tried using our demo scene only?
    Also, could you share an android log of one session where the app opens but the event isn't triggered?

    EDIT: Just made a quick test on our side, using the same Unity version as you, configured the plugin to open mydptest:// deep links and used our test tool (https://universaldeeplinking.imaginationoverflow.com/test?l=mydptest://asd) to ensure that everything is working as it should and from our end it is. Let us know how it went with using only our Demo scene.
     
    Last edited: Aug 28, 2020
  38. clairegrace

    clairegrace

    Joined:
    Aug 27, 2020
    Posts:
    5
    Sure did, again, only with what was provided; and I haven't got the *slightest* clue on how I'd get a log from Android; I am the farthest thing from an Android native dev; I'm a senior iOS dev of 10 years, clueless of much except dragging the APK to the device or hitting 'build and run', embarrassingly.
     
  39. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Are you using firebase or any other service on your project?

    Can you share your configuration and how you are testing with us? (if you aren't confortable sharing that here you can always pm me)

    For the log there are a couple of ways of getting them, you can try this (https://docs.unity3d.com/Packages/com.unity.mobile.android-logcat@0.1/manual/index.html) if you wish, it really help us figuring out what is the problem :)
     
  40. raybarrera-aofl

    raybarrera-aofl

    Joined:
    Sep 4, 2016
    Posts:
    12
    Howdy @ImaginationOverflowPT
    I'm not quite sure I understand what the use case for an "activation" would be.
    I'm evaluating the plugin for usage in an OAUTH flow.
    Essentially, the app will launch the browser, the user logs in, and the browser deeplinks into the app with a token.
    Would this plugin handle that use case? Thanks.
     
  41. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi
    Yes, we have customers that use deep linking as their oauth callback, if all the information is exchanged via URL parameters you will have your data available on the callback that the plugin offers.

    Let me know if you have further questions
     
  42. dawnr23

    dawnr23

    Joined:
    Dec 5, 2016
    Posts:
    41
    Hi.
    We will use "Domain Association Configuration".

    However, I've seen that the new "Domain Association Configuration" link only applies through app build.

    Can't I create a "Domain Association Configuration" outside of the app without building the app?
     
  43. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi, right now you can't since the configurations only make sense when included with a build.
    What is your use case? Maybe we missed something.
     
    Last edited: Oct 14, 2020
  44. clairegrace

    clairegrace

    Joined:
    Aug 27, 2020
    Posts:
    5
    Hello!

    I have had no issues with this plugin on iOS or Android - however, when I am archiving for upload no MacOS (10.14.6) with Xcode (11.3.1) and Unity (2020.1.10f1), I get this error:

    'Couldn't find platform family for "MacIL2CPP.dylib".'
    Coulnd't find CFBundleSupportedPlatforms in the Info.plist or LC_VERSION_MIN in the Mach-O for path "/Users/nikki/Library/Developer/Xcode/Archives/2020-10-22/speed-spell 2020-10-22, 10.48 AM.xcarchive/Products/Applications/speed-spell.app/Contents/PlugIns/MacIL2CPP.dylib".

    Removing the plugin and it's associated references makes it work fine - however, I do need the Universal Deep Linking functionality in my app, as its used for login.

    Any suggestions? :)

    EDIT: Oh, also - the project builds and run normally, fine. This is only when I am attempting to upload to the Mac App Store.
     
  45. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi, are you using il2cpp?
    Are you making an Xcode build or a regular Unity build for macOS?
     
  46. clairegrace

    clairegrace

    Joined:
    Aug 27, 2020
    Posts:
    5
    I am required to make an Xcode build. The builds work fine in all situations. It's only when submitting to Apple that I have this issue.

    I am using the Mono backend, as il2cpp causes a failure on MacOS with Unity IAP plugin - a known issue the team has failed to address for two years. >.<
     
    Last edited: Oct 23, 2020
  47. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi, if you are using the mono backend, the is no need for the MacIL2CPP.dylib, the plugin itself should prevent its addition, so it's safe to delete that file on Xcode build, (probably some recent change on that unity version broke that).
    We already support the xcode on our plugin but we are still making the final tests before submitting it to the asset store, if you wish to get it now, send us an email at contact@imaginationoverflow.com
     
    Last edited: Oct 23, 2020
  48. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    Hi everyone!
    We just updated both the regular and pro version on the Asset Store, adding support for macOS Xcode builds and a few other tweaks.
    A big thanks for the support and features requests, for more details on the update check our blog.
     
    nemeth-regime and JoeStrout like this.
  49. nemeth-regime

    nemeth-regime

    Joined:
    Feb 13, 2017
    Posts:
    40
    Is there anything that can be done about deep links that are posted on social media? Twitter and Reddit seem to sabotage the links and stop them from working correctly.
     
  50. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    185
    As far as we know no.
    The only workaround is using domain association which works the same way as deep links but with weblinks or using a web link that automatically redirects the user to a deep link, but the later can be very "browser sensitive"