【问题标题】:How to create a share link in Buildfire如何在 Buildfire 中创建共享链接
【发布时间】:2021-09-04 04:30:39
【问题描述】:

我正在尝试创建一个插件中的用户可以通过电子邮件或短信发送给朋友的共享链接。如果他们的朋友有该应用程序,则目标是使用类似于 navigation.navigateTo 的查询字符串打开应用程序到插件,以便它可以打开插件内的特定内容。如果他们不这样做,目标是将他们发送到应用程序的网页,在那里他们可以从适当的商店(安卓或苹果)下载应用程序。这是可能的还是至少是其中的一部分?

我使用 buildfire.deeplink.generateUrl 生成了一个共享链接,但在 API 文档中找不到相应的步骤。

【问题讨论】:

    标签: buildfire


    【解决方案1】:

    是的,步骤如下:

    • 生成深层链接网址

      buildfire.deeplink.generateUrl(options, callback)

    • 确保将data 属性传递给它代表的选项 一旦用户使用,开发人员需要向插件提供的深层链接数据 打开分享链接。有关如何从中获取此数据的更多信息 插件,见buildfrire.deeplink.getData

         buildfire.deeplink.generateUrl(
          {
            data: { videoId: "9Q-4sZF0_CE" },
          },
          (err, result) => {
            if (err) {
              console.error(err);
            } else {
              console.log(result.url);
            }
          }
        );
      
    • 生成深层链接后使用以下函数打开共享设备选项

      buildfire.device.share({ link: deepLinkUrl }, callback);

    • 最后,您必须在插件中处理深度链接数据,以便能够打开您在生成深度链接 URL 期间传递的所需内容的深度链接数据,请查看buildfrire.deeplink.getData

    • 更多详情check the doc

    示例

    // share function
    const share = () => {
      let deeplinOptions= {};
      deeplinOptions.title = 'Hello world';
      deeplinOptions.type = "website";
      deeplinOptions.description = 'First program';
      deeplinOptions.imageUrl = '<IMAGE URL>';
    
      deeplinOptions.data = {
        "link": vidId
      };
    
      buildfire.deeplink.generateUrl(deeplinOptions, function (err, result) {
        if (err) {
          console.error(err);
        } else {
          let options = {
            link: result.url
          };
          let callback = function (err, result) {
            if (err) {
              console.warn(err);
            };
          };
    
          buildfire.device.share(options, callback);
        };
       });
     };
    
    
    
    // Handle Deeplink data in your plugin 
    const handleDeepLinkData = () => {
      buildfire.deeplink.getData(function (data) {
        if (data && data.link) {
          let vidId= data.link;
          
          // Do what you want
        }
        // Do what you want
      });
    }
    
    

    【讨论】:

    • 谢谢@Mohammad Al Rawashdah 我希望实现的第二部分是针对未安装应用程序的收件人。在这种情况下,他们将被引导到相应应用商店中的下载页面或应用的网页,然后他们可以导航到其设备的相应商店。这是对生成的 URL 的默认操作/响应,还是有办法实现这一点?
    • 是的,这是一个默认操作,生成的 URL 会小心的
    【解决方案2】:

    是的,只需分享结果网址

    【讨论】:

      猜你喜欢
      • 2021-02-15
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 2021-09-30
      • 2019-03-26
      • 2020-10-04
      相关资源
      最近更新 更多