Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

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

Firebase邀請提供了一種在應用程序中接收Firebase動態鏈接的機制,以及通過SMS或電子郵件共享該鏈接的功能。我們開發了Firebase Invites來幫助您通過口口相傳來發展您的應用程序用戶,但是隨著時間的推移,我們了解到,除了Firebase Invites所做的之外,您還找到了更好的方法來鼓勵用戶與朋友共享他們喜歡的應用程序。

我們還看到,雖然Firebase邀請的使用率下降了,但許多人仍在使用Firebase動態鏈接作為用戶對用戶共享解決方案的關鍵要素。因此,我們將加強重點並加大力度,使Firebase動態鏈接成為在您的應用程序中構建用戶間共享功能的最佳方法。作為此更改的一部分,我們已棄用了Firebase邀請功能,並將自20201月24日起停止支持。

這是什麼意思,對我有什麼影響?

從2020年1月24日開始,您的用戶將不再能夠發送或接收Firebase邀請,並且在調用發送和接收邀請鏈接的呼叫時,邀請後端服務將開始返回錯誤響應。當前的SDK包括錯誤處理,可幫助確保這些服務器響應的正常失敗情況,因此您的用戶將能夠繼續使用您的應用而不會崩潰,但我們建議您不再使用Firebase邀請,並使用Firebase切換到替代解決方案具有自定義共享解決方案的動態鏈接。

這是怎麼做!

首先, 創建一個動態鏈接 ,您的用戶可以與他們的朋友共享。好消息是您可能已經熟悉此步驟,因為它類似於您設置Firebase邀請的方式。但是,您也可以在動態鏈接中添加特定的參數,例如,如果用戶通過社交網絡共享您的應用程序以自定義要共享的URL的外觀,則可以在鏈接中添加社交元數據

建立共享解決方案

接下來,為您的用戶構建共享解決方案,使其能夠與朋友共享該鏈接。您將要在此處構建的內容取決於您要提供的共享功能(將替代Firebase Invites中的上一個功能)的方式而有所不同,但是對於大多數移動應用程序而言,您可以利用平台中已內置的功能。

對於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)));

有關完整示例和更多詳細信息,請查看本指南,以將簡單數據發送到其他應用

上面的代碼段將生成類似以下屏幕所示的邀請流程:

在Android上分享

對於iOS開發人員,您可以使用UIActivityViewController ,將作為數據一部分創建的鏈接傳遞到自定義VC。此方法將提供類似於以下屏幕的共享流程:

在iOS上分享

在您的應用程序中接收動態鏈接

最後,在日落之後為您的應用程序提供用戶到用戶共享的最後一步是在應用程序中接收動態鏈接。

對於Android,此過程保持不變,因此您無需在此處進行太多更改。唯一的區別是,沒有Firebase邀請,就不會再有邀請ID,因此,如果您的應用正在發出呼叫,則您需要通過FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data)刪除呼叫以提取邀請ID。 。有關此作品的更多詳細信息,請參閱Android應用中有關接收動態鏈接的指南。

對於iOS,這需要將FIRReceivedInvite對象更改為FIRDynamicLink對象,兩者均包含相似的數據。有關更多詳細信息,請參閱iOS應用中的“接收動態鏈接 ”指南。

對於Unity開發人員,有許多如上所述的開源庫和等效解決方案,可用於遷移用戶到用戶的共享功能。如果您在提供合適的解決方案方面需要任何幫助,請訪問下面進一步鏈接的支持資源。

Firebase Invites一直是我們自豪的出色工具。展望未來,我們很高興能加倍努力使Firebase動態鏈接變得更好,從而使您擁有更大的靈活性並可以控制鼓勵用戶邀請其他人加入您的應用程序的方式。如果您對設置Firebase動態鏈接和自定義共享解決方案有任何疑問,請訪問StackOverflow或我們的任何其他支持論壇