首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一:在DynamicLinkReceived回调事件中接收Firebase短动态链接

统一:在DynamicLinkReceived回调事件中接收Firebase短动态链接
EN

Stack Overflow用户
提问于 2020-01-17 10:45:44
回答 1查看 1K关注 0票数 1

我想使用Firebase动态链接统一(Android/iOS),这样用户就可以邀请朋友并获得奖励。每个用户都可以以的形式获得不同的短动态链接,用户可以与朋友共享这个简短的DynamicLink。

当被邀请的朋友进入应用程序时,这个回调会被调用。

代码语言:javascript
复制
private void OnDynamicLink(object sender, EventArgs args) {
        var dynamicLinkEventArgs = args as ReceivedDynamicLinkEventArgs;
        Debug.LogFormat("Received dynamic link {0}",
                        dynamicLinkEventArgs.ReceivedDynamicLink.Url.OriginalString);
    }

不幸的是,我只得到了创建短动态链接所必需的基本链接。

接收动态链路https://www.example.com/referral?xxxxxxxxxx

我在我的iOS应用程序中获得了额外的原生输出:

IOSNative::本机->统一回调数据:{"m_EventName":"continueUserActivity","m_Data":"https://test.page.link/?link=https://www.example.com/referral?xxxxxxxxxx&apn=de.test.testapp&isi=123456789&ibi=de.test.testapp&cid=1579347010984123886&_osl=https://test.page.link/abcd&_fpb=AB6327276CFGHT==&_cpt=cpit&_iumenbl=1&_iumchkactval=1&_plt=2076&_uit=2692&_cpb=1"} 2020-01-14 15:30:20.455009+0100大使315:8406 IOSNative::原生->统一回调数据:{"m_EventName":"applicationDidBecomeActive",“m_Data”:“}

现在我的问题是如何获得在)?回调中与朋友共享的生成的短动态链接( OnDynamicLink )

我需要参数"&_osl“后面的值,如附加的本机输出所示。但是我只得到了Unity (https://www.example.com/referral?xxxxxxxxxx)中的Base。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-17 16:31:06

最后,我的解决方案是在BaseLink的帮助下缩短DynamicLinks.GetShortLinkAsync。

代码语言:javascript
复制
            //unescape url
        baseLink = UnityEngine.Networking.UnityWebRequest.UnEscapeURL(baseLink);

        var components = new DynamicLinkComponents(
        // The base Link.
        new Uri(baseLink),
        // The dynamic link URI prefix.
        domainUriPrefix) {
            IOSParameters = new IOSParameters(PackageName) {
                AppStoreId = "XXXXXXXXX"
            },
            AndroidParameters = new AndroidParameters(PackeName)
        };

        string inviteLink = string.Empty;

        await DynamicLinks.GetShortLinkAsync(components, options).ContinueWith((task) => {
            if (task.IsCanceled) {
                Debug.LogError("GetShortLinkAsync was canceled.");
                return;
            }
            if (task.IsFaulted) {
                Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception);
                return;
            }

            // Short Link has been created.
            inviteLink = task.Result.Url.ToString();
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59785824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档