1.制作推送提醒铃声
创新互联-专业网站定制、快速模板网站建设、高性价比香格里拉网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式香格里拉网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖香格里拉地区。费用合理售后完善,十多年实体公司更值得信赖。
你可以转换格式为aiff,wav,caf 格式文件,最多30s,(一般就1-2s)
如果没有这些文件 mac中就有一些做好的声音资源
/System/Library/Sounds/
Basso.aiff Frog.aiff Hero.aiff Pop.aiff Submarine.aiff
Blow.aiff Funk.aiff Morse.aiff Purr.aiff Tink.aiff
Bottle.aiff Glass.aiff Ping.aiff Sosumi.aiff
可以使用一下代码进行转换格式
afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v
2.把.caf文件倒入到Xcode项目中
3.修改
$body['aps'] = array(
'alert' = $message,
//'sound' = 'default',
'sound' = 'sub.caf', //为你添加到项目中的声音文件名称
'badge' = 1000
);
网上有很多博客说添加IOS10之后新增的Notification Service Extension才可以推送Apns自定义铃声,实际上是不对的,简单的自定义语音推送IOS10之前就已经支持,而且APNS Server与deviceToken直接相关联,自然也不存在许多博客说的杀死App后接受不到推送的问题。
有关Notification Service Extension多媒体拓展问题可参考
本文提供简单的自定义语音推送解决方案。
修改苹果原生推送声音:
(1)App在后台或者被杀死时,服务器给你推送的userinfo中sound字段的value和你本地的声音文件名一致时,这样就可以播放你本地自定义的语音文件(mp3,wav等常见语音格式都可以支持)。
(2)App运行在前台时大部分App会关闭掉UNNotificationPresentationOptionSound权限,当你有类似美团接单,支付宝到账等需前台响铃的需求时需要自己写响铃方法,这里主要有两种解决方案。
方案1播放系统音效
将此方法在应用在前台处理推送的方法中调用,注意区分iOS10前后处理方法的不同。
方案2:AVAudioPlayer播放
单例一个AVAudioPlayer控制类
这里我们推荐使用第一种方法,通过系统方法进行播放。
iOS15之后,不允许推送消息没有 body 值,所以iOS15之前循环发送本地通知来实现后台播放的语音消息的方式将不再可用。
所以我们将采用新的方式在 iOS15上实现后台播放语音消息,这种方式不会有震动多次的情况,而且声音是和推送消息一起出来的。
打开 Apple 开发者后台,选择 Identifiers ,创建一个App ID,并勾选 Push Notifications (配置推送证书的过程在此不再赘述,但必须要配置)
打开 Identifiers , 右侧下拉列表中选择 App Groups ,
打开主项目 App ID,勾选 App Groups ,并点击 Configure
步骤同主项目App ID 配置 App Groups。
在"Targets"中选择主项目Target,点击 + Capability ,在 App Groups 上双击,如图:
步骤同主项目App ID 配置 App Groups。
现在Xcode 中会有如下错误提示,则说明需要重新生成开发和生产的证书,因为App ID 中配置了 App Groups。
生成证书过程不再赘述。
需要准备几段音频,因为我们需要播放的是“微信到账11元”,所以第一段就是“微信到账”,然后就是0-9,点、十、百、千、万、元,可通过在线文字转音频网站处理。
把这些声音文件放在主项目中的任意位置就可以。
Have fun.
演示机型:Iphone 13
系统版本:iOS15
iphone修改app推送声音共需要2个步骤,以下是Iphone 13修改app推送声音的详细操作:
操作/步骤
1
设置页面进入通知选项
点击进入设置页面,进入通知选项。
2
进入应用选择声音
点击进入要更改通知声音的应用,进入应用后,选择声音选项,选择修改通知的声音即可。
END
总结:以上就是关于iphone修改app推送声音的具体操作步骤,希望对大家有帮助。
好久没写文章了巩固一下技能点
推送第三方平台:极光,融云等等
案列一般当应用激活并且在前台时也就是用户正在使用是接收不到通知提示的
这时候如果有这个需求我们可以使用远程加本地的方式来开发
这里以极光为例子
申请push证书
1)生成.csr证书
打开钥匙串工具(Finder - 应用程序 - 实用工具 - 钥匙串访问),
打开后点击顶部菜单栏““钥匙串访问”出现如下界面,
选择 证书助理 - 从证书颁发机构请求证书
这个证书是证明你电脑被该证书颁发机构承认了
该证书可以共用一次制作以后都能用
2)appid
的
Certificates, Identifiers Profiles
选中appids选项左上角添加
填写appid的名字
和bundle id
勾选push notifications
生成以后选中编辑将csr证书上传
最后生成一个.cer文本
3)p12证书制作
以前需要在终端转换一下现在不需要了只要在双击.cer证书导入钥匙串然后选中右击导出
需要输入密码然后生成P12证书
证书弄好了
pod 'JPush'
Pod install
导入头文件
JPUSHRegisterDelegate
8.0需要在Capabillities中打开push notifications
//notice: 3.0.0及以后版本注册可以这样写,也可以继续用之前的注册方式
JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];
entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound;
if ([[UIDevice currentDevice].systemVersion floatValue] = 8.0) {
// 可以添加自定义categories
// NSSetUNNotificationCategory * *categories for iOS10 or later
// NSSetUIUserNotificationCategory * *categories for iOS8 and iOS9
}
[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
回调
//注册apns成功上报devicetoken
// iOS 10 Support
设置当应用处于前台使用中时也能接收通知
if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
/// iOS10处理远程推送
[JPUSHService handleRemoteNotification:userInfo];
换掉默认提示音我们可以根据字典中有一个属性值来换声音
// pushDic = userInfo;
/// 应用处于前台收到推送的时候转成本地通知 ===========================
UILocalNotification *notification = [[UILocalNotification alloc] init];
NSDictionary *dic = userInfo[@"aps"];
notification.alertTitle =dic[@"alert"];
// notification.alertBody =@"aaaaaa";
notification.userInfo = userInfo;
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];
}else{
// NSLog(@"++++++++++++++++++++++++++");
/// 应用处于前台收到本地通知不会出现在通知中心 借用极光推送的方法将本地通知添加到通知栏 ==============================
completionHandler(UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionSound|UNNotificationPresentationOptionAlert);
}
}
// iOS 10 Support
1、点击设置。如图
2、点击“通知”。如图:
3、以“提醒事项”的推送为例。点击“提醒事项”。如图:
4、点击“通知声音”。如图:
5、选择喜欢的声音即可。