你能告诉我如何使用颤振插件 firebase_dynamic_links[ https://pub.dev/packages/firebase_dynamic_links#-readme-tab-]发送和获取参数吗?
我想在深层链接/动态链接中传递用户名和密码等参数,如下所示:
uriPrefix: 'https://test.page.link/appinvite?username=Test&password=123456',
link: Uri.parse('https://test.page.link/appinvite?username=Test&password=123456'),
Run Code Online (Sandbox Code Playgroud)
这是传递数据的正确方法吗?
之后我使用下面的代码来获取数据,
await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
Run Code Online (Sandbox Code Playgroud)
但是,它为我提供了我在 Firebase 控制台中为 Deep Link URL 中的 Firebase 动态链接添加的虚拟网址
目前我可以从 firebase 动态链接打开应用程序,但无法获取自定义参数。
任何帮助将不胜感激。
更新代码:
发送邀请:
_generateAndShareDynamicLink() async {
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://test.page.link/groupinvite',
link: Uri.parse('https://test.page.link/groupinvite'),
androidParameters: AndroidParameters(
packageName: 'com.test.flutter_authentication',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.unguessable,
),
);
Uri url = await parameters.buildUrl();
shareURL(Uri.https(url.authority, url.path, {"username": "Test"}));
}
Run Code Online (Sandbox Code Playgroud)
用于在 initState() 中获取数据:
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink …Run Code Online (Sandbox Code Playgroud) 我手动创建了动态链接,并在链接上设置了一些额外的参数,如下所示:https://XXXXX.goo.gl/? link = http%%3A%2F%2Fairbanq.send.com%2Fsendmoney&apn=com.xxxx. XXXX&AMV = 1&用户名= Adri&量= 7.00
但是当应用程序打开时,我得到:"https:// airbanq.send.com/sendmoney"没有附加参数
我正在使用此示例代码 https://github.com/firebase/quickstart-android/tree/master/dynamiclinks
请帮忙,
谢谢
我的代码
public String buildDeepLink() {
// Get the unique appcode for this app.
String appCode = AirBanqApp.mContext.getString(R.string.app_code);
// Get this app's package name.
String packageName = AirBanqApp.mContext.getPackageName();
// Build the link with all required parameters
Uri.Builder builder = new Uri.Builder()
.scheme("https")
.authority(appCode + ".app.goo.gl")
.path("/")
.appendQueryParameter("link", deepLink)
.appendQueryParameter("apn", packageName);
// If the deep link is used in an advertisement, this value must …Run Code Online (Sandbox Code Playgroud) 我想让用户通过单击按钮并发送其他潜在用户链接来从我的应用程序共享产品
www.myapp.com/offer/123
在那里,必须在用户单击按钮的那一刻生成“123”,以便稍后使用
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
Uri deepLink;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
Run Code Online (Sandbox Code Playgroud)
但不幸的是我无法传递参数。
String link = "http://www.myapp.com/offer/123";
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(link))
.setDynamicLinkDomain("fgd3e.app.goo.gl")
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
// Short link created
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Run Code Online (Sandbox Code Playgroud)
有人可以教我如何在运行时使用自定义参数创建动态链接,以便将目标用户重定向到特定的产品详细信息吗?