需求

1、实现类似支付宝收钱时语音播报

实现思路

1、集成极光推送

2、使用tts将金额播报出来(iOS10至iOS12)

3、收到推送后,处理金额,奖金额分割转换成一个个音频文件

4、将金额以本地推送形式,自定义语音播放出来

实现步骤

1、项目配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、集成极光

Cocoapods集成极光

pod 'JCore'

pod 'JPush'

在AppDelegate里面配置

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// 初始化极光

JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];

if (@available(iOS 12.0, *)) {

entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound|JPAuthorizationOptionProvidesAppNotificationSettings;

} else {

// Fallback on earlier versions

entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound;

}

[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];

// Required

// init Push

// notice: 2.1.5 版本的 SDK 新增的注册方法,改成可上报 IDFA,如果没有使用 IDFA 直接传 nil

[JPUSHService setupWithOption:launchOptions appKey:@"16185342a0cf0e7ada842c78"

channel:@"0"

apsForProduction:NO

advertisingIdentifier:nil];

return YES;

}

JPUSHRegisterDelegate处理

#pragma mark - JPUSHRegisterDelegate

- (void)jpushNotificationAuthorization:(JPAuthorizationStatus)status withInfo:(NSDictionary *)info {

}

- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler {

NSLog(@"%@", response.notification);

//完成回调

completionHandler();

}

- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler {

NSLog(@"%@", notification);

}

- (void)application:(UIApplication *)application

didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

/// 注册 DeviceToken

[JPUSHService registerDeviceToken:deviceToken];

}

- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(UNNotification *)notification{

}

3、NotificationService

导入音频文件(不支持网络文件)

在这里插入图片描述

NotificationService.m

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {

self.contentHandler = contentHandler;

self.bestAttemptContent = [request.content mutableCopy];

NSLog(@"接到通知 NotificationService");

NSDictionary *info = self.bestAttemptContent.userInfo;

NSLog(@"info ==> %@", info);

//step1: 推送json解析,获取推送金额

NSMutableDictionary *dict = [self.bestAttemptContent.userInfo mutableCopy] ;

BOOL playaudio = [[dict objectForKey:@"amount"] boolValue] ;

if(playaudio) {

//step2:先处理金额,得到语音文件的数组,并播放语音(本地推送 -音频)

NSString *amount = [dict objectForKey:@"amount"] ;//10000

NSArray *musicArr = [[LCAudioPlayManager sharedInstance] getMusicArrayWithNum:amount];

__weak __typeof(self) weakSelf = self;

[[LCAudioPlayManager sharedInstance] pushLocalNotificationToApp:0 withArray:musicArr completed:^{

// 播放完成后,通知系统

weakSelf.contentHandler(weakSelf.bestAttemptContent);

}];

} else {

//系统通知

self.contentHandler(self.bestAttemptContent);

}

}

4、项目运行

在这里插入图片描述

在这里插入图片描述

demo地址:https://download.csdn.net/download/tianzhilan0/15045548

demo地址:https://github.com/tianzhilan0/ZFBShouQian.git

android仿支付宝收款播报,【iOS】实现类似支付宝收钱语音播报功能相关推荐

  1. Android 仿支付宝支付密码输入框的具体实现

    Android仿支付宝支付密码框 前言 1. 设计思路 2. 项目地址和implementation使用方法 3. 涉及到的内容 4. 设计流程 4.1 Layout 4.2 GridView和Ada ...

  2. android 保险密码效果,本文实例为大家分享了android仿支付宝密码输入框展示的具体代码,供大家参考,具体内容如下这个没什么好分析的,就是一些基本的绘制什么线,矩形什么的,看代码更...

    本文实例为大家分享了android仿支付宝密码输入框展示的具体代码,供大家参考,具体内容如下 这个没什么好分析的,就是一些基本的绘制什么线,矩形什么的,看代码更具体 布局文件: android:lay ...

  3. android 余额宝收益列表,Android 仿支付宝中的余额宝收益进度条

    一. 看效果 二.上代码 package com.framework.widget; import android.app.Activity; import android.content.Conte ...

  4. android支付宝支付微信支付封装,Android仿支付宝微信支付密码界面弹窗封装dialog...

    一,功能效果 二,实现过程 1,先写xml文件:dialog_keyboard.xml 注意事项 (1),密码部分用的是一个线性布局中6个TextView,并设置android:inputType=& ...

  5. Android 仿支付宝蚂蚁森林动画效果

    Android 动画可以归纳为以下几种: 视图动画(View 动画) 帧动画(Frame 动画.Drawable 动画) 属性动画 触摸反馈动画(Ripple Effect) 揭露动画(Reveal ...

  6. android 余额宝,Android 仿支付宝中的余额宝收益进度条

    一. 看效果 二.上代码 package com.framework.widget; import android.app.activity; import android.content.conte ...

  7. iOS开发-类似微信录音上滑取消功能

    iOS开发-类似微信录音上滑取消功能 前言 效果 代码 先自定义UIButton 使用 监听上下滑动代码 前言 在社交媒体中开发中遇到需要做类似微信录音上滑取消功能,例子,虽然不是很好看,但是细节满满 ...

  8. Android仿支付宝UI功能开发,Android 自定义view仿支付宝咻一咻功能

    支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能. 效果如下所示: 思路: 就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画 还有就是这是好几 ...

  9. Android仿支付宝咻一咻动画

    Android特效专辑(十二)--仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View 先来看看这个效果 这是我的在Only上添加的效果,说实话,Only现在都还只是半成品,台面都上不了,怪自己技术 ...

最新文章

  1. 学了那么多年设计模式依然不会用!那可真蠢!
  2. Envoy实现.NET架构的网关(五)集成Redis实现限流
  3. asp.net core2.2 多用户验证和授权
  4. SOTIF预期功能安全工作流程
  5. Ubuntu 源码方式安装Subversion
  6. 介绍for-of循环
  7. 生物图像处理软件_细胞分割
  8. 第一次的数电作业-----数据选择,代码转换,译码
  9. 三星s8刷机包android11版本,三星GALAXY S8(G9500)最新安卓8.0固件rom刷机包
  10. Excel文件内容比对 -- Java Apache Poi
  11. 基于Matlab高斯光束前向与后向传播的模拟
  12. java日志文件采集,日志收集十大技术细节
  13. Android动画插入器
  14. 暨南大学计算机系录取分数线,暨南大学2017年在广东省各专业录取分数线
  15. avr 74hc595驱动数码管动态显示c语言例程,一种电梯钢丝绳张力计控制系统软件的设计...
  16. YOLOv7来临:论文解读附代码解析
  17. 笔试题——硬币与金币(概率)
  18. python截屏_Python: 截屏
  19. 如何成为一名项目经理
  20. linux常用命令(六)命令执行顺序控制与管道

热门文章

  1. 浮点数(float和double)在计算机底层的存储机制
  2. linux使用佳能ip1188,佳能ip1188黑白喷墨打印机怎么安装使用?
  3. 关于echarts 跟ie的兼容性问题
  4. DDR3 controller 之储存器介绍
  5. Tomcat禁止打印日志
  6. 普中科技HC6800-EM3 V3.0单片机开发板资料
  7. matlab 代码分析 内存溢出,matlab内存溢出的解决方案
  8. 统计学原理--总论(统计学的对象和方法)基本概念通俗理解
  9. 如何搭建 ETH 2.0 验证节点
  10. 中图法计算机技术分类号,中图法分类号(TP3 计算技术、计算机技术)