[英]Unity: Receive Firebase Short Dynamic Link in DynamicLinkReceived callback event
I would like to use Firebase Dynamic Links for Unity (Android/iOS) so users can invite friends and be rewarded with.我想使用Firebase Dynamic Links for Unity (Android/iOS),以便用户可以邀请朋友并获得奖励。 Each user gets a different Short Dynamic Link in the form of https://test.page.link/abcd The user can share this Short DynamicLink with friends.
每个用户以https://test.page.link/abcd的形式获得不同的短动态链接,用户可以将这个短动态链接分享给朋友。
When the invited friend comes into the app, this callback is called.当被邀请的朋友进入应用程序时,将调用此回调。
private void OnDynamicLink(object sender, EventArgs args) {
var dynamicLinkEventArgs = args as ReceivedDynamicLinkEventArgs;
Debug.LogFormat("Received dynamic link {0}",
dynamicLinkEventArgs.ReceivedDynamicLink.Url.OriginalString);
}
Unfortunately, I only get back the base link that was necessary to create the short dynamic link.不幸的是,我只取回了创建短动态链接所需的基本链接。
Received dynamic link https://www.example.com/referral?xxxxxxxxxx
收到动态链接https://www.example.com/referral?xxxxxxxxxx
I get an additional native output in my iOS app:我在我的 iOS 应用程序中获得了一个额外的本机输出:
IOSNative::Native->Unity callback data: {"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 ambassador[315:8406] IOSNative::Native->Unity callback data: {"m_EventName":"applicationDidBecomeActive","m_Data":""}
IOSNative::Native->Unity 回调数据:{"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=cpit1&_uitium20&_cpt=cpit1&_uitium201&_720&_7201&_7201201000 -14 15:30:20.455009+0100 大使[315:8406] IOSNative::Native->Unity 回调数据:{"m_EventName":"applicationDidBecomeActive","m_Data":""}
Now my question is how do I get the generated short dynamic link that I have shared with a friend in OnDynamicLink callback( https://test.page.link/abcd )?现在我的问题是如何获取我在 OnDynamicLink 回调( https://test.page.link/abcd )中与朋友共享的生成的短动态链接?
I need the value behind the parameter "&_osl" as seen in additional native output.我需要参数“&_osl”后面的值,如附加本机输出中所示。 But I only get the Base Url back in Unity ( https://www.example.com/referral?xxxxxxxxxx ).
但我只能在 Unity 中获取 Base Url ( https://www.example.com/referral?xxxxxxxxxx )。
My solution at the end was to shorten the BaseLink with the help of DynamicLinks.GetShortLinkAsync.我最后的解决方案是在 DynamicLinks.GetShortLinkAsync 的帮助下缩短 BaseLink。
//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();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.