4
我試圖在離子應用程序中爲我的推送通知實現自定義聲音。 我的聲音文件複製到www /也設置插件選項如下使用離子推送通知的自定義聲音
//In app.run
$ionicPush.init({
"debug": true,
"onNotification": function(notification){
$cordovaDialogs.alert(notification.message, 'Notification', 'OK').then(function(){
console.log(notification);
});
}
"onRegister": function(data) {
console.info("New device registered with token "+data.token);
}
"pluginConfig": {
"ios": {
"badge": true,
"sound": true
},
"android": {
"iconColor": "#343434"
}
}
});
//In my main controller -
$scope.saveUserDeviceReg = function(data){
var ionicUser = Ionic.User.current();
if(!ionicUser.id){
ionicUser.id = $scope.user.userId;
}
ionicUser.set('name', $scope.user.name);
ionicUser.set('image', $scope.user.profilePic);
ionicUser.set('email', $scope.user.email);
$ionicPush.addTokenToUser(ionicUser);
ionicUser.save();
if($scope.user.devices){
$scope.user.devices[data.token] = true;
$scope.user.$save().then(function(success){
console.log("User device saved");
},function(error){
console.error("Error saving user device");
});
}
else{
var devices = {};
devices[data.token] = true;
$scope.user.devices = devices;
$scope.user.$save().then(function(success){
console.log("User device updated");
},function(error){
console.error("Error updating user device");
});
}
};
$ionicPush.register($scope.saveUserDeviceReg);
我從一個服務器的Node.js
request({
url: "https://push.ionic.io/api/v1/push",
method: "POST",
json: true,
body: {
"tokens":tokens,
"notification": {
"alert": message.from + " : '" + message.text
}
},
headers: {
'Authorization': 'Basic ' + btoa(IONIC_PRIVATE_API_KEY + ":"),
'X-Ionic-Application-Id': IONIC_APP_ID
}
}, function (error, response, body) {
console.log(body);
});
我想玩存儲自定義音頻發送推送通知在www/
。
因此,在iOS中,我將文件('sound_danger.caf')放置在'platforms/ios'中,但它不起作用。服務器發送'「ios」:{「sound」:「sound_danger.caf」},但它會播放默認聲音。你知道什麼是錯誤嗎? – 27leaves
您必須將其放入xcode項目中,打開.xcodeproj並將聲音拖入其中或使用掛鉤將其複製,或使用資源文件標籤複製它的自定義插件 – jcesarmobile
沒有res /在離子建立平臺文件夾內原始。你是否可能指的是實際安裝android文件夾的res/raw? –