【问题标题】:Flutter dynamic links testFlutter 动态链接测试
【发布时间】:2021-06-29 12:58:14
【问题描述】:

已编辑问题:

我对@9​​87654321@ 有疑问,我的目标是了解新用户是否首次安装并打开我的应用程序,以便给他 10 分等奖励。我试图到处搜索但没有答案,在firebase网站上有一个选项可以知道用户是否是第一次安装。

我的目标是:获得首次安装的价值以及如何调试此代码?

应用启动时的initDynamicLinks:

  void initDynamicLinks() async {
    FirebaseDynamicLinks.instance.onLink(
      onSuccess: (PendingDynamicLinkData dynamicLink) async {
        final Uri deepLink = dynamicLink?.link;

        if (deepLink != null) {
          Navigator.pushNamed(context, deepLink.path);
        }
      },
      onError: (OnLinkErrorException e) async {
        print('onLinkError');
        print(e.message);
      }
    );
    
    final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink();
    final Uri deepLink = data?.link;

    if (deepLink != null) {
      Navigator.pushNamed(context, deepLink.path);
    }
  }
  .

【问题讨论】:

    标签: firebase flutter dart firebase-dynamic-links


    【解决方案1】:

    你在这里混合了两件事。

    • First-opens 标签为您提供了首次点击您的 Firebase 动态链接的唯一身份用户的数量。

    • 如果您想知道有多少唯一身份用户使用了您的应用,通过点击 Firebase 动态链接或不访问您的应用,您必须在您的应用中实现 Firebase Analytics 插件。

    这样您就可以访问仪表板,显示您拥有多少唯一身份用户。

    编辑
    阅读您的评论,您的问题似乎与您的问题无关。

    您想要在这里为通过推荐链接邀请朋友的用户分配奖励。
    由于我从来没有在没有专门的后端的情况下实现过这个,所以我唯一可以分享的是我前段时间使用的一个用例,它解释了实现它的逻辑。
    https://firebase.google.com/docs/dynamic-links/use-cases/rewarded-referral

    编辑 2
    文档中解释的逻辑如下:
    1- 为 UserA 生成动态链接。
    2- UserA 将动态链接发送给某人(称为 UserB)。
    3-当用户B从动态链接启动应用程序时,检索应用程序中的推荐信息(以检索用户A的信息)
    4- 在您的后端调用路由将奖励归因于 UserA(并检查 UserB 是否真的是您数据库中的新用户)。

    关键是,您不应该在客户端管理推荐/推荐人关系(这太容易被滥用/被黑客入侵)。
    管理这个是后端(或云功能)的工作。

    【讨论】:

    • 我的目标不是一个链接的用户总数,我的目标是了解用户是否是第一次安装我的应用程序,例如 jon 想要分享到 ahmed 的链接,然后 ahmed 打开了链接安装了应用程序,然后乔恩从艾哈迈德那里得到了 10 分。因此,如果 ahmed 删除应用程序而不是再次安装应用程序,jon 将不会获得积分,因为 ahmed 以前安装了应用程序。
    • 编辑了我的答案,你应该考虑编辑你的问题
    • 我编辑了我的问题,据我所知,您在第 4 步中提供的链接 if deepLink != null 表示它是第一次安装,如果 deepLink == null 已经安装了应用程序?
    • @KhalifaAlkhatri 我更新了我的答案以帮助您理解您应该遵循的逻辑。
    【解决方案2】:

    在您的应用中收到链接点击后,请使用 google_analytics 包记录事件。

    相关话题在这里: Flutter log event with google analytics

    【讨论】:

    • 我的目标不是一个链接的用户总数,我的目标是了解用户是否是第一次安装我的应用程序,例如 jon 想要分享到 ahmed 的链接,然后 ahmed 打开了链接安装了应用程序,然后乔恩从艾哈迈德那里得到了 10 分。因此,如果 ahmed 删除应用程序而不是再次安装应用程序,jon 将不会获得积分,因为 ahmed 以前安装了应用程序。
    【解决方案3】:

    老实说,我从未使用过 Firebase 动态链接,但如果您的目标是获得第一个打开或登录令牌,您始终可以使用 Sharedpreferences 包,在我的情况下,我使用它导航到通过的不同页面关于第一个登录值。 我认为Sharedpreferences 比您尝试使用 firebase 实现的目标更可靠、更容易

    更新

    您真正想要做的是使用 IMEI 号码创建一个 firebase 集合,当有一个新的 IMEI 表示新用户时,当该 IMEI 在您的集合中时表示该应用程序没有第一次安装, 您可以使用此包imei_plugin 获取 IMEI 号码并将其存储在 firebase 上

    【讨论】:

    • Sharedpreferences 使用本地值,因此在删除应用程序时所有值都将被删除。
    • 你没有说你想实现那个,检查我更新的答案
    • @KhalifaAlkhatri 就是这样 :)
    • 我理解你的回答,但我认为 Firebase Dynamic Links Packag 中有解决方案来处理这个问题,如果不是你的解决方案更好!
    • 由你决定,你可以使用任何你想要的东西;)
    猜你喜欢
    • 2019-06-14
    • 2021-06-24
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多