Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

使用自定義共享從 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或我們的任何其他支持論壇

,

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或我們的任何其他支持論壇