私は最終的に動的リンク (手動で作成され、Rest API によって短縮されたもの) の実装に成功しました。これは正常に機能し、クリックするとゲームが開きます。
問題は、一度開くと、そこから何も取得できないことです。ドキュメントからサンプル コードをコピーし、いくつかのログを追加しましたが、何も追加しませんでした。
ここに私のコードがあります、
// When the app starts, check to make sure that we have
// the required dependencies to use Firebase, and if not,
// add them if possible.
void Start()
{
dependencyStatus = Firebase.FirebaseApp.CheckDependencies();
if (dependencyStatus != Firebase.DependencyStatus.Available)
{
Firebase.FirebaseApp.FixDependenciesAsync().ContinueWith(task => {
dependencyStatus = Firebase.FirebaseApp.CheckDependencies();
if (dependencyStatus == Firebase.DependencyStatus.Available)
{
InitializeFirebase();
} else
{
Debug.LogError("Could not resolve all Firebase dependencies: " + dependencyStatus);
}
});
} else {
InitializeFirebase();
}
}
// Set the listeners for the various Invite received events.
void InitializeFirebase()
{
Firebase.Invites.FirebaseInvites.InviteReceived += OnInviteReceived;
Firebase.Invites.FirebaseInvites.InviteNotReceived += OnInviteNotReceived;
Firebase.Invites.FirebaseInvites.ErrorReceived += OnErrorReceived;
Debug.Log("Invites initialized");
}
void OnInviteReceived(object sender, Firebase.Invites.InviteReceivedEventArgs e)
{
Debug.Log ("OnInviteRecieved");
if (e.InvitationId != "")
{
Debug.Log("Invite received: Invitation ID: " + e.InvitationId);
Firebase.Invites.FirebaseInvites.ConvertInvitationAsync(e.InvitationId).ContinueWith(HandleConversionResult);
}
if (e.DeepLink.ToString () != "")
{
Debug.Log ("Invite received: Deep Link: " + e.DeepLink);
PrepareLevel (e.DeepLink.ToString ());
}
}
void OnInviteNotReceived(object sender, System.EventArgs e)
{
Debug.Log ("OnInviteNotReceived");
Debug.Log("No Invite or Deep Link received on start up");
}
void OnErrorReceived(object sender, Firebase.Invites.InviteErrorReceivedEventArgs e)
{
Debug.Log ("OnErrorReceived");
Debug.LogError("Error occurred received the invite: " + e.ErrorMessage);
}
void HandleConversionResult(Task convertTask)
{
Debug.Log ("HandleConversionResult");
if (convertTask.IsCanceled) {
Debug.Log("Conversion canceled.");
} else if (convertTask.IsFaulted) {
Debug.Log("Conversion encountered an error:");
Debug.Log(convertTask.Exception.ToString());
} else if (convertTask.IsCompleted) {
Debug.Log("Conversion completed successfully!");
}
}
そして、これがデバイス(iPhone6S)から取得したログです。
また、「招待を初期化しました」というメッセージが表示され、動的リンクからアプリを開いたときにオブジェクトが引き続き存在します (破棄されることはありません)。
ああ、Facebookのメッセンジャーアプリでリンクを開きました。
すべてのヘルプは大歓迎です。