標籤:src blog data 效果 icp 發送訊息 function .sh error
在前一篇文章中,我們已經將Wtach的環境測試成功,下面進入我們自己訊息的接收。
1.安裝JPush外掛程式在我們的App中,這個具體步驟可以參考 Ionic 安裝JPush過程
2.在App上的登入模組設定別名,因為我們的目標是,根據不同的賬戶發送不同的訊息。
.controller("LoginController",function ($scope, $state, AccountService, $rootScope, $stateParams, $ionicHistory, $ionicPopup, $cordovaToast,Storage) { try { $scope.flag = $stateParams.flag; $scope.hide = ""; $scope.user = {}; $scope.doLogin = function () { if ($scope.user.uname) { var tips; AccountService.userLogin($scope.user).then(function(loginCode) { if(loginCode && 2 != loginCode) { tips = "登入成功"; Storage.set("LoginUser",loginCode); $rootScope.user = loginCode; var params = { alias:$scope.user.uname }; var dataAlias = JSON.stringify(params); window.plugins.jPushPlugin.setAlias($scope.user.uname); $ionicHistory.goBack(); } else { if(2 == loginCode) { tips = "使用者名稱或密碼錯誤"; window.localStorage.user = null; } else { tips = "登入失敗,請稍後再試!"; } } window.cordova && $cordovaToast.showShortBottom(tips); }); } }; } catch (error) { $scope.hideLoad(); console.log("exception:"+error); } })
紅色部分是重點,記錄了每一個使用者的登入名稱,以後就會給這個登入名稱發送通知。原則上App打包安裝,可以通過Jpush的官網測試效果了,不過我打算通過應用程式自己發送訊息。
3.C# Client端程式調用Jpush Api發送訊息,首先去JPush官網下載dll
public bool SendMessage(string alias, string message) { bool isSuccess = true; JPushClient client = new JPushClient("******", "7777&&&&&&"); PushPayload pushpayload_alias = new PushPayload(); pushpayload_alias.platform = Platform.android(); pushpayload_alias.audience = Audience.s_alias(alias); pushpayload_alias.notification = new Notification().setAlert(message); try { var result = client.SendPush(pushpayload_alias); if (result.isResultOK()) { isSuccess = true; } else { isSuccess = false; MessageResult = result.ResponseResult.exceptionString; } } catch (APIRequestException er) { isSuccess = false; MessageResult = er.Status.ToString() + ";" + er.ErrorCode + ";" + er.ErrorMessage; } if (isSuccess == false) { string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:dd"); string content = date + "@" + alias + ":" + MessageResult + "\r\n"; WriteLog(content); } return isSuccess; }
注意JPushClient對應的兩個參數,是JPush分配給你的兩個appKey和masterKey。
alias參數就是用戶端登入的使用者帳號名,message是通知的內容
4.發送訊息的資料來源,其中Sender對應App的登入名稱,MessageTest對應的通知/訊息內容。
5.手機和Watch接收到通知的情況
到此,Watch就可以接收我們自己的訊息了,然後去做具體的業務了。
Ionic app 通知在Moto 360 Watch上顯示通知(2)