從 Firebase 邀請遷移到具有自訂共享的動態鏈接

Firebase 邀請既提供了在應用程式中接收Firebase 動態連結的機制,也提供了透過簡訊或電子郵件分享該連結的功能。我們開發Firebase Invites 是為了幫助您透過口碑來增加應用程式用戶,但隨著時間的推移,我們了解到,您找到了更好的方法來鼓勵用戶與朋友分享他們最喜歡的應用程式,這超出了Firebase Invites目前的做法。

我們還發現,雖然 Firebase 邀請的使用量下降,但許多人仍在使用 Firebase 動態連結作為用戶間共享解決方案的關鍵組成部分。因此,我們正在加強關注並加大努力,使 Firebase 動態連結成為在您的應用程式中建立用戶間共享功能的最佳方式。作為此轉變的一部分,我們已棄用 Firebase 邀請功能,並將於2020 年 1 月 24 日開始停止支援。

這意味著什麼?它對我有何影響?

從 2020 年 1 月 24 日開始,您的用戶將無法再發送或接收 Firebase 邀請,並且邀請後端服務在呼叫發送和接收邀請連結時將開始傳回錯誤回應。目前的SDK 包括錯誤處理,以幫助確保這些伺服器回應的正常失敗情況,因此您的用戶將能夠繼續使用您的應用程式而不會崩潰,但我們建議您不再使用Firebase Invites,並切換到使用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 Invites,將不再有邀請 ID,因此您需要刪除呼叫以透過FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data)提取邀請 ID(如果您的應用程式正在進行該呼叫) 。有關本文的更多詳細信息,請參閱有關在 Android 應用程式中接收動態連結的指南。

對於 iOS,這需要從FIRReceivedInvite物件變更為FIRDynamicLink對象,兩者都包含類似的資料。請參閱有關在 iOS 應用程式中接收動態連結的指南以了解更多詳細資訊。

對於 Unity 開發人員來說,有許多開源程式庫和如上所述的等效解決方案可用於遷移用戶間共享功能。如果您在提供合適的解決方案方面需要任何協助,請聯絡下面連結的支援資源。

Firebase Invites 是一款出色的工具,我們對此感到非常自豪。展望未來,我們很高興能夠加倍努力使 Firebase 動態連結變得更好,以便您可以更靈活地控制如何鼓勵用戶邀請其他人使用您的應用程式。如果您對設定 Firebase 動態連結和自訂共享解決方案有任何疑問,請造訪StackOverflow或我們的任何其他支援論壇