查看 2022 年 Google I/O 大会上介绍的 Firebase 新动态。了解详情

使用自定义共享从 Firebase 邀请迁移到动态链接

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Firebase 邀请既提供了在您的应用中接收Firebase 动态链接的机制,也提供了通过短信或电子邮件共享该链接的功能。我们开发 Firebase Invites 是为了帮助您通过口耳相传来增加应用用户,但随着时间的推移,我们了解到您找到了更好的方法来鼓励用户与他们的朋友分享他们最喜欢的应用,这超出了 Firebase Invites 目前所做的工作。

我们还看到,虽然 Firebase 邀请的使用量下降了,但你们中的许多人仍在使用 Firebase 动态链接作为用户对用户共享解决方案的关键组成部分。因此,我们正在加强我们的重点并加大努力,使 Firebase 动态链接成为在您的应用中构建用户对用户共享功能的最佳方式。作为这一转变的一部分,我们已弃用 Firebase 邀请功能,并将从2020 年 1 月 24 日起停止支持。

这是什么意思,对我有什么影响?

从 2020 年 1 月 24 日开始,您的用户将无法再发送或接收 Firebase 邀请,并且邀请后端服务将开始在拨打电话以发送和接收邀请链接时返回错误响应。当前的 SDK 包含错误处理,以帮助确保这些服务器响应的正常故障情况,因此您的用户将能够继续使用您的应用而不会崩溃,但我们建议您不再使用 Firebase 邀请,并改用使用 Firebase 的替代解决方案具有自定义共享解决方案的动态链接。

这是如何做到的!

首先,创建一个动态链接,您的用户可以与他们的朋友分享。好消息是您可能已经熟悉此步骤,因为它类似于您设置 Firebase 邀请的方式。但您也可以向动态链接添加特定参数,例如,如果您的用户通过社交网络共享您的应用程序,则将社交元数据添加到您的链接,以自定义共享 URL 的外观。

构建共享解决方案

接下来,为您的用户构建您的共享解决方案,以便能够与他们的朋友共享该链接。您想要在此处构建的内容将根据您希望如何提供共享功能而有所不同,该功能将取代 Firebase 邀请中的前一个功能,但对于大多数移动应用程序,您可以利用平台中已经内置的功能。

对于 Android,一个涵盖 SMS 和电子邮件共享以及其他流行的社交网络和消息传递应用程序的简单解决方案是使用通用意图,其操作集为Intent.ACTION_SEND 。这提供了一种方便的方式来将数据从您的应用程序共享到用户安装的任何可以处理共享意图的应用程序。

类似于以下示例的内容应该在这里工作(建议您在自己的代码中使用常量字符串资源):

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Here's a new lesson for" +
        " learning more Miwok vocabulary:\n\n" + dynamicLink);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Let's Learn Miwok!");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent,
        getResources().getText(R.string.send_to)));

有关更完整的示例和更多详细信息,请查看本指南以将简单数据发送到其他应用程序

上面的代码片段将生成类似于下面屏幕中显示的邀请流程:

在安卓上分享

对于 iOS 开发人员,您可以使用UIActivityViewController ,将作为数据一部分创建的链接传递给自定义 VC。此方法将提供类似于以下屏幕的共享流程:

在 iOS 上共享

在您的应用中接收动态链接

最后,在日落之后为您的应用提供用户对用户共享的最后一步是在您的应用中接收动态链接。

对于 Android,此过程保持不变,因此您无需在此处进行太多更改。唯一的区别是,如果没有 Firebase 邀请,将不再有邀请 ID,因此如果您的应用正在拨打电话,您需要通过FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data)删除调用以提取邀请 ID .有关这篇文章的更多详细信息,请参阅在您的 Android 应用中接收动态链接的指南。

对于 iOS,这需要将FIRReceivedInvite对象更改为FIRDynamicLink对象,这两个对象都包含相似的数据。请参阅有关在您的 iOS 应用程序中接收动态链接的指南以获取更多详细信息。

对于 Unity 开发人员,有许多如上所述的开源库和等效解决方案可以迁移您的用户到用户共享功能。如果您在提供合适的解决方案方面需要任何帮助,请联系下方进一步链接的支持资源。

Firebase Invites 是一款出色的工具,我们为自己打造的这款工具感到自豪。展望未来,我们很高兴能够加倍努力使 Firebase 动态链接变得更好,这样您就可以更灵活地控制如何鼓励用户邀请其他人使用您的应用。如果您对设置 Firebase 动态链接和自定义共享解决方案有任何疑问,请联系StackOverflow或我们的任何其他支持论坛