如何在 Unity C# 中单击时从 firebase 云消息传递中打开特定场景

How can I open a specific scene from the firebase cloud messaging on click in Unity C#

我正在尝试制作一个 Unity 应用程序,其中 firebase 向 android 和 iOS 发送通知。但我想在有人点击通知时打开一个特定的场景。我不知道该怎么做。

我认为您正在寻找动态 link 之类的东西,这里有另一个名为动态 links 的 firebase 服务- https://firebase.google.com/docs/dynamic-links/unity/receive or deep links in unity here - https://docs.unity3d.com/Manual/enabling-deep-linking.html

var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    var currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
    var intent = currentActivity.Call<AndroidJavaObject>("getIntent");
    var extras = GetExtras(intent);
    var sceneToLoad = GetProperty(extras, "<key to load in string>");
    var currentScene = SceneManager.GetActiveScene();

GetExtras() 函数

    private static AndroidJavaObject GetExtras(AndroidJavaObject intent)
{
    AndroidJavaObject extras = null;

    try
    {
        extras = intent.Call<AndroidJavaObject>("getExtras");
    }
    catch (Exception e)
    {
        Debug.LogError("firebaseScript.GetExtras()->" + e.Message);
    }

    return extras;
}

获取属性函数

    private static string GetProperty(AndroidJavaObject extras, string name)
{
    var s = string.Empty;
    try
    {
        s = extras.Call<string>("getString", name);
    }
    catch (Exception e)
    {
        Debug.LogError("firebaseScript.GetProperty() throws ->" + e.Message);
    }

    return s;
}