Search Unity

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

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

  1. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    You probably need to import the namespace something like:
    Code (CSharp):
    1. using ImaginationOverflow.UniversalDeepLinking;
    Take a look at our docs on how to integrate it, (it has a step by step explanations).
     
  2. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    I did include that using statement and read the docs thoroughly, of course, but I get an error on the using statement itself as well, saying it can't find that namespace.
     
    Last edited: Mar 15, 2023
  3. AntonShakalo

    AntonShakalo

    Joined:
    Jun 22, 2021
    Posts:
    3
    Hey guys. Does your plugin works with UnityEditor in Windows?

    Because it is using different exe name and it's hard to point user from browser there.
     
  4. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Hi,
    The Pro version allows direct activations to the Unity Editor, the regular versions don't have this feature out of the box but you can implement it using a launcher system, as explained in the documentation.
     
    Last edited: Mar 15, 2023
  5. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    Switching to .Net Framework fixed this, thankfully, but I'd rather use .Net Standard.
    I'm on the latest version of the asset.

    Thanks!

    Edit: I'm trying to pass a json string as an argument in my deep link, but the response has % characters that aren't in the original json string. So I can't parse it from json in the LinkActivated event.
    Any ideas?

    Edit 2: I didn't realize this was beyond the scope of the asset. Running this code worked to properly format it:
    Code (CSharp):
    1.         var parameter = s.QueryString["userData"];
    2.         var decodedString = Uri.UnescapeDataString(parameter);
    I hope that helps someone else!
     
    Last edited: Mar 15, 2023
  6. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    The .net platform shouldn't have any relation to this, since you have the source code xD.
    Regarding your json issue they are URL encoded, if you try to get them directly you need to decode it ;)
     
    JudahMantell likes this.
  7. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    @ImaginationOverflowPT I just made a built version of the app to Windows, and when I try to subscribe to the deep link event, I get the following error pinged from Unity Cloud Diagnostics:

    Code (CSharp):
    1. UnauthorizedAccessException: Access to the path "C:\Program Files (x86)\AppName\AppName_Data\StreamingAssets\ImaginationOverflow\UniversalDeepLink\UDLLauncher.exe.config" is denied.
    2. Stack Trace:  (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions)
    Any help would be appreciated.
    Thanks!
     
  8. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Just a permission issue, you need to make sure that your executable has permission to read/write that file. This depends on how you build and distribute your game.
     
  9. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    I'm using InnoSetup to build an installer, and install it from there. You're saying that the issue is in the installer setup?
     
  10. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Yeah, you can just confirm this by yourself by running the build before wrapping it on an installer. Just make sure that the file can be read and written to by anyone (don't know if there is a specific configuration for that on the installer setup).
     
    JudahMantell likes this.
  11. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,085
    Hey, is there any advantage to using this instead of using just `Application.deepLinkActivated ` from Unity?

    This asset's deep links do not seem to get passed on when Unity is first opened!
     
  12. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Yes, there is. first off we handle all the registration of the deeplinks, you don't need to setup anything special besides which deep link/ domain you wish, and we will automatically generate and do any necessary registrations on each supported platform. Secondly, on our pro version, we mimic the mobile deep linking behavior on its entirely which is something the default implementation can't really do. Finally, we handle and process the deep link info for ease of access and development, and offer testing tools directly on the editor.


    What are you trying to say here? Can you elaborate?
     
  13. unity_cdscd

    unity_cdscd

    Joined:
    Jan 7, 2020
    Posts:
    2
    Hi

    Version 2.1.0 Issue occurs in m1.
    Unable to open because it is damaged. You must move the item to the Trash.

    Thanks!
    스크린샷 2023-08-01 오후 4.38.08.png 스크린샷 2023-08-01 오후 4.38.56.png
     
  14. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Hi,
    Did you try generating an Xcode project when making the build? Or signing your app?
    9/10 issues regarding m1 and our plugin are just signing issues, which we cannot really control xD
     
  15. unity_cdscd

    unity_cdscd

    Joined:
    Jan 7, 2020
    Posts:
    2
  16. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Last edited: Aug 1, 2023
  17. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
  18. OliverRiisager

    OliverRiisager

    Joined:
    Nov 3, 2021
    Posts:
    1
    Hey there, we are developing a game using the Pro plugin. We are building for standalone windows and we are publishing on the Windows App Store. Everything works fine, but when the build is downloaded through the app store and is opened, we get the following error:
    Access to the path "C:\Program Files\WindowsApps\<windows appstore project>\<project>_Data\StreamingAssets\ImaginationOverflow\UniversalDeepLink\UDLLauncher.exe.config" is denied.

    We use Unity Cloud Build - not sure how to give the .exe permissions to read/write this file? Seemingly, that folder is Read Only regardless: Unity doc.

    If we disable the Standalone Auto Launcher in the config, that would mean that the app has to be opened at least once, right? This is the specific reason we got the pro version.

    Is it possible to pre-make the exe.config file and avoid the write operation?
     
    gabriel4151 likes this.
  19. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    Hi,
    Is your application UWP? If so the launcher isn't required, the deeplinks will just work with the default UWP support.

    If not it's a bit more complicated.
    So even with the launcher, the app needs to be open once for deep links to work, since they are registered when they first launch.

    It's not possible to pre-make the exe.config, because it requires information on the target device, the only solution for this problem is moving the launcher to another folder and initializing things there. The issue with this is that depending on what kind of anti-virus software is installed the program can be marked as problematic, either way, I have a custom build that does just that, so reach out to us via email or Discord and I will set you up!

    Edit: Actually implemented a better solution for this, without any runtime copying :D
    Best Regards
     
    Last edited: Jan 23, 2024
  20. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    186
    We just released a new update!
    You can get it now on the Unity Asset store - Regular Version | Pro Version

    Changelog:
    • Overall to the launcher system, fixing permission issues.
    • Windows builds will now show the correct product name when trying to activate a deep link
    • Android builds no longer call LinkActivated event twice per activation
    • Fixed some issues with Mac il2cpp builds
    • Windows .net standard builds now work as expected
    • Minor improvements on the launcher system
    • Fixed android startup issue
    Enjoy!