從 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 傳遞在資料中建立的連結,這個方法會提供類似下方畫面的分享流程:

在 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 或任何其他支援論壇提問。