簡體   English   中英

Xamarin iOS firebase問題

[英]Xamarin iOS firebase issue

作為我項目的一部分,我正在為iOS開發firebase雲消息。 部分我的問題如下:iOS應用程序的AppDelegate包含以下代碼:

        // Monitor token generation
        InstanceId.Notifications.ObserveTokenRefresh((sender, e) =>
        {
            // Note that this callback will be fired everytime a new token is generated, including the first
            // time. So if you need to retrieve the token as soon as it is available this is where that
            // should be done.
            var refreshedToken = InstanceId.SharedInstance.Token;
            Console.WriteLine(refreshedToken);

            if (refreshedToken != null)
            {
                if (credentialsService.Email.Equals("") && credentialsService.Password.Equals(""))
                {
                    credentialsService.SaveCredentials(refreshedToken);
                }
                else
                {
                    credentialsService.SaveCredentials(credentialsService.Email, credentialsService.Password, refreshedToken, credentialsService.Token);
                }
            }
            else
            {
                Console.WriteLine("error, token is empty");
            }
        });

只要需要令牌,就會調用此回調函數。 然后,憑證將用於收集該令牌,並在用戶登錄時將其發送到服務器。但問題是,令牌未立即就緒。 在加載此應用程序的啟動畫面之前,將為此Android版本(工作方式幾乎相同)分配一個令牌。 然而,iOS應用程序在生成令牌之前需要花費大量時間(大約20-30秒)。 用戶可以在此時記錄它,之后生成的任何令牌只會在用戶重新登錄后發送到服務器。

是否有任何解決方案可以確保更快地生成令牌? 我確實得到以下錯誤,這在互聯網上並不少見。 然而,谷歌搜索解決方案並沒有真正幫助。

無法獲取APNS令牌Error Domain = com.firebase.iid Code = 1001“(null)”

FIRMessaging注冊尚未准備好使用身份驗證憑據

謝謝你,里卡多

我有一個解決方案,但很難看:

            while (string.IsNullOrEmpty(token))
        {
            _taskToken.Wait(1000);
            this.token = InstanceId.SharedInstance.Token;
        }

您可以在60或90秒后等待刷新,然后獲取令牌..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM