91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Android應用程序中實現推送通知

發布時間:2020-07-18 08:33:32 來源:網絡 閱讀:1236 作者:wangccsy 欄目:移動開發

幾乎每一個應用程序的一個重要特性是支持推送通知的能力。使用推送通知,您可以更新用戶,而不需要應用程序在任何時候運行或輪詢服務器, 避免潛在的電池電量不足。 隨著火力點云信息的介紹(FCM),谷歌使得在Android應用程序中實現推送通知變得容易了一點。FCM是谷歌云消息(GCM)的新版本和改進版本,您可以使用它將遠程通知發送到客戶機應用程序。對于將瞄準多個平臺或需要利用先進的推操作(如分段推送)的應用程序,我們可以使用帶有Azure通知集線器的FCM。

與GCM不同,FCM負責為您提供基本的消息傳遞管道。使用FCM,您不再需要編寫代碼來注冊應用程序,也不必包含重試邏輯來更新訂閱令牌。您可以通過以下操作向您的應用程序添加基本的FCM推送通知:

  1. 安裝Xamarin.Android NuGets包和一個證書文件.

  2. 添加一對<service>  定義到你的ndroidManifest.xml.

  3. 寫幾行代碼把它們全部組合起來。

另外,不要編寫發送通知的測試程序,你可以使用新的基于Web的火力點控制臺發送通知到你的應用程序測試。

今天,我們來看看如何使用Xamarin.Firebase.Messaging包來構建一個基于FCM消息通知功能到你的應用中

建立Firebase Cloud Messaging

在你可以在你的應用程序中使用FCM服務之前,你通過Firebase控制臺創建一個Firebase項目。在你登錄后,點擊CREATE NEW PROJECT,輸入項目名,并點擊 CREATE PROJECT:

在Android應用程序中實現推送通知

下一步,點擊Add Firebase to your Android app。 當出現提示時,輸入應用程序的包名并單擊“注冊應用程序”:

在Android應用程序中實現推送通知
在Android應用程序中實現推送通知

當你點擊REGISTER APP,證書自動生成以便你的應用能夠訪問FireBase服務器。證書打包到一個名叫google-services.json的文件中, 當你點擊REGISTER APP 按鈕后證書自動下載, 保存好這個文件,后續你會用到它。

向項目添加包

下一步,你需要添加兩個Xamarin NuGet包到你的應用中。啟動NuGet 包管理器(在Visual Studio中,在解決方案瀏覽器右擊References并選擇Manage NuGet Packages), 瀏覽 Xamarin.GooglePlayServices.Base,選擇它,并點擊Install.

在Android應用程序中實現推送通知

The Google Play Services package must be installed in order for FCM to work. Next, do the same for Xamarin.Firebase.Messaging:

在Android應用程序中實現推送通知

將為這些包中的每一個安裝額外的依賴包。

此外,要確保您在你的Anroid設備安裝并擁有 Google Play Services APK。Firebase消息使用Google Play 涌 APK和Firebase服務器通信。

將谷歌服務JSON文件添加到項目中

當你在Firebase控制臺創建一個項目,你將下載google-services.json 證書文件,現在將它插入到你的應用中!

拷貝google-services.json項目文件夾, 并將到添加到項目中(在Visual Studio中,你可以在瀏覽器解決方案點擊Show All Files 圖標,右擊google-services.json,接著選擇Include in Project)。

保存變得并關閉解決方案。重新打開解決方案并為google-services.json設置構建行為為GoogleServicesJson (在Visual Studio,   Build Action 彈出菜單在Advanced 一節的Properties 頁):

在Android應用程序中實現推送通知

現在 google-services.json是項目的一部分,Xamarin構建處理能擴展這個證書并將它合并到AndroidManifest.xml 文件中。 Xamarin.Firebase.Messaging 使用這個證書來訪問 Firebase服務。

添加實例ID接收器

你的客戶機應用程序必須先注冊FCM,然后才能收到推送通知。這是Xamarin.Firebase.Messaging接觸FCM方法,發送它的證書,并接收注冊令牌環返回的消息。這個道理,這是定期更新,以創造一個安全的通道,Firebase服務器。你也可以轉發此令牌您的應用服務器,可以與Firebase服務。

你的應用必須實現FirebaseInstanceIdService來處理創建和更新信息環。這實際上比聽起來簡單得多,接下來你會看到。

在Android清單中聲明實例ID接收器

編輯AndroidManifest.xml (在解決方案瀏覽器中點擊Properties ) 并在 <receiver> 元素之后 插入到<application>一節:

點擊(此處)折疊或打開

  1. <receiver

  2.     android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"

  3.     android:exported="false" />

  4. <receiver

  5.     android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"

  6.     android:exported="true"

  7.     android:permission="com.google.android.c2dm.permission.SEND">

  8.     <intent-filter>

  9.         <action android:name="com.google.android.c2dm.intent.RECEIVE" />

  10.         <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

  11.         <category android:name="${applicationId}" />

  12.     </intent-filter>

  13. </receiver>


這將聲明用于管理注冊令牌的必要接收者。


增加互聯網的權限

如果你的權限列表沒有啟用 INTERNET 權限,在Properties > Android Manifest > Required 權限中啟用它:

在Android應用程序中實現推送通知

實現Firebase Instance ID 服務

現在,是時候寫代碼了!添加一個新的CE文件到你的項目中(在Visual Studio, 右擊項目名并選擇Add > New Item > Class)。給它取名為MyFirebaseIIDService.cs 并輸入如下代碼:

點擊(此處)折疊或打開

  1. using System;

  2. using Android.App;

  3. using Firebase.Iid;

  4. using Android.Util;

  5.  

  6. namespace FCMExample

  7. {

  8.     [Service]

  9.     [IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]

  10.     public class MyFirebaseIIDService : FirebaseInstanceIdService

  11.     {

  12.         const string TAG = "MyFirebaseIIDService";

  13.         public override void OnTokenRefresh()

  14.         {

  15.             var refreshedToken = FirebaseInstanceId.Instance.Token;

  16.             Log.Debug(TAG, "Refreshed token: " + refreshedToken);

  17.         }

  18.     }

  19. }



改變命名空間FCMExample為你應用的命名空間。

這就是它的全部!

當注冊的令牌創建或者改變時執行OnTokenRefresh方法。因為當更新時,令牌輸出日志到Output窗口,你就可以確認應用是否在運行。你將輸入令牌到Firebase控制臺,當你想要改善一個測試通知到你的應用時。

現在您的應用程序具有足夠的功能來接收來自流媒體的背景通知,是時候進行測試了。在你構建應用之前,請確保應用包名匹配你在Firebase控制臺創建你的Firebase項目時輸入的包名。

重新構建你的應用,運行它,并觀察Output窗口,直到顯示令牌信息。比如:

在Android應用程序中實現推送通知

將此令牌復制到剪貼板; 在下面的步驟中你將會粘貼到Firebase控制臺。

發送消息

登錄到 Firebase 控制臺,選擇你的項目,點擊Notifications,再點擊SEND YOUR FIRST MESSAGE:

在Android應用程序中實現推送通知

Compose message 頁,在Message text中輸入消息。選擇Single device 作為目標,并將你IDE Output窗口拷貝的令牌信息粘貼到注冊令牌框中:

在Android應用程序中實現推送通知

在點擊 SEND MESSAGE之前, 將應用切換到后臺運行(你可以觸摸Android overview按鈕并點擊home屏)。當你在Firebase控制臺準備好時點擊 SEND MESSAGE。當 Review message 對話框顯示時,點擊SEND。通知圖標就會出現在Android設備上:

在Android應用程序中實現推送通知

打開通知查看消息;通知消息應該正是你在Firebase控制臺錄入的:

在Android應用程序中實現推送通知

祝賀您,您剛剛發送并接收了第一個FCM推送通知!

了解更多

這個簡單的示例只涉及到使用Visual Studio中的FCM和推送通知所能做的工作。為了解更多關在Visual Studio和其它平臺使用Xamarin.Android,在其中使用Firebase云消息服務,一定要閱讀 Firebase Cloud Messaging 和Remote Notifications with Firebase Cloud Messaging.  FCMNotifications 示例應用程序還是,如果你建立一個應用程序,使用FCM的推送通知借代碼從一個好地方。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤岗市| 叙永县| 仁化县| 邻水| 淮安市| 莲花县| 昭苏县| 彝良县| 玉林市| 常宁市| 曲阳县| 淮阳县| 乌拉特前旗| 巴彦淖尔市| 扶风县| 海兴县| 乐陵市| 永德县| 乌恰县| 青龙| 昔阳县| 万载县| 平利县| 丹寨县| 武功县| 永胜县| 荔浦县| 淮滨县| 泾源县| 曲阳县| 瑞丽市| 嘉黎县| 余江县| 博客| 德钦县| 娄底市| 宁化县| 军事| 雷波县| 无锡市| 林周县|