從 Firebase 邀請遷移至採用自訂共用功能的 Dynamic Links

Firebase Invites 提供在應用程式中接收 Firebase Dynamic Links 的機制,以及透過簡訊或電子郵件分享該連結的功能。我們開發 Firebase Invites 的目的,是協助您透過口耳相傳的方式增加應用程式使用者人數。不過,我們發現您已找到比 Firebase Invites 更有效的方法,鼓勵使用者與朋友分享喜愛的應用程式。

我們也發現,儘管 Firebase Invites 的用量下滑,但許多使用者仍使用 Firebase Dynamic Links 做為使用者共用解決方案的主要因素。因此,我們將加強重點並加倍努力,讓 Firebase Dynamic Links 成為在應用程式中建構使用者對使用者分享功能的最佳方式。在這個轉變過程中,我們已淘汰 Firebase Invites 功能,並將自 2020 年 1 月 24 日起停止提供支援。

這代表什麼?對我有什麼影響?

自 2020 年 1 月 24 日起,使用者將無法再傳送或接收 Firebase Invites,且邀請後端服務會開始在傳送及接收邀請連結時傳回錯誤回應。目前的 SDK 包含錯誤處理功能,可確保這些伺服器回應的失敗情況,讓使用者能夠繼續使用應用程式,而不會發生當機情形,但我們建議您不要再使用 Firebase Invites,改用採用 Firebase Dynamic Links 和自訂分享解決方案的替代方案。

方法如下!

首先,建立 Dynamic Link,讓使用者可以與朋友分享。好消息是,你可能已熟悉這個步驟,因為這項步驟與設定 Firebase Invites 的方式類似。不過,您也可以在動態連結中加入特定參數,例如,如果使用者透過社群網路分享您的應用程式,藉此自訂分享的網址外觀,也可以在連結中加入社群平台中繼資料

建構共用解決方案

接著,建構您的分享解決方案,讓使用者能與好友分享連結。您想在這裡建構的內容會因您想提供的分享功能而異,這類功能會取代「Firebase Invites」中的先前功能,但對於大多數行動應用程式,您可以利用平台中已建構的功能。

針對 Android,有一種簡單的解決方案可同時涵蓋簡訊和電子郵件分享,以及其他熱門社群網路和訊息應用程式,就是使用一般意圖,並將動作集設為 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)));

如需更完整的範例和詳細資訊,請參閱這份指南,瞭解如何將簡單資料傳送至其他應用程式

上述程式碼片段會產生類似邀請流程,如以下畫面所示:

在 Android 上分享

iOS 開發人員可以使用 UIActivityViewController,將建立的連結傳遞至自訂 VC。這個方法會提供類似下方畫面的分享流程:

iOS 的分享方式

在應用程式中接收 Dynamic Link

最後,在應用程式中接收 Dynamic Link 後,您可以透過最後一個步驟為應用程式提供使用者對使用者共用功能。

對於 Android,這個程序保持不變,因此您不需要在此處進行太多變更。唯一的差異在於,如果沒有 Firebase Invites,就不會再有邀請 ID,因此如果應用程式發出該呼叫,您就必須移除該呼叫,以便透過 FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data) 擷取邀請 ID。如要進一步瞭解這項功能,請參閱「在 Android 應用程式中接收動態連結」指南。

在 iOS 中,您必須將 FIRReceivedInvite 物件變更為 FIRDynamicLink 物件,因為兩者都包含類似的資料。詳情請參閱「在 iOS 應用程式中接收動態連結」指南。

對於 Unity 開發人員而言,有許多開放原始碼程式庫和等效的解決方案,可用於遷移使用者對使用者分享功能,如需提供合適解決方案的協助,請與下方連結的支援資源聯絡。

Firebase Invites 是我們自豪的優質工具。展望未來,我們很高興能加倍努力,讓 Firebase Dynamic Links 更上一層樓,讓您能更靈活地控管鼓勵使用者邀請其他人使用應用程式的方式。如果您對設定 Firebase Dynamic Links 和自訂分享解決方案有任何疑問,請前往 StackOverflow 或任何額外的支援論壇