1

我正在開發一個Xamarin和Xamarin.Forms的Android應用程序。對於推送通知,我使用Xamarin.Firebase(v 42.1001.0)。我遵循這裏的示例實現:https://github.com/xamarin/GooglePlayServicesComponents/tree/master/firebase-messaging/samplesXamarin.Forms和FCM實現不起作用

但是,如果我執行此操作,我只會得到一個令牌,而我不能在Firebase控制檯中使用該令牌。它說,沒有這個令牌的設備被註冊。但是設備可以訂閱主題,一段時間後會出現在控制檯中。因此,我導入的來自Firebase的配置文件必須正確。我的Firebase消息收發器永遠不會被調用。只有我的FirebaseInstanceIdService的OnTokenRefresh(如果應用程序被重新安裝)。

我還將我的開發者機器的指紋添加到Firebase控制檯。

回答

1

我知道自問這個問題以來已經有一段時間了,但最近我遇到了同樣的問題。所以我想,不妨分享一下我的發現。

就這樣你知道我使用的是Visual Studio 2017 Enterprise,儘管我不認爲這與解決方案有任何關係,但我認爲事先提到它會更好。到目前爲止,我已經成功地在Android上測試了FCM,所以儘管這個解決方案是針對Xamarin Forms的,但現在我只發佈Android的解決方案。一旦完成測試,我會爲iOS添加一個解決方案。

你必須創建一個項目火力地堡開始之前,所以我建議你參考這個鏈接Xamarin Documention : FCM

ANDROID:

創建一個空白Xamarin表單解決方案。打開Android項目並添加這個Nuget包Xamarin.Firebase.Messaging。這將爲您添加所有必要的軟件包。一旦你添加了這個,下一步包括Firebase控制檯中的google-services.json 文件。欲瞭解更多信息,請訪問link。現在添加下面的權限在文件AndroidManifest

<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />

$ {}的applicationID將您的應用程序包的名稱來代替。

您可以按照在教程here

提供剩下的步驟,你應該是不錯的。

+0

嗨,謝謝!我幾天前已經可以解決這個問題了。我只是更新了FCM庫,它按預期工作 - 沒有任何代碼更改。 :-) – user3216381

+0

@Mahadev - 請分享您的ios推送通知xamarin聚氨酯細節也。 –