使用服务账号请求Google Play Developer API

Google Play 虽然提供了纯客户端的对接方案,但是官方也更推荐将敏感逻辑移至后端 Google Play Developer API 是一种服务器到服务器 API,与 Android 平台上的 Google Play 结算库相辅相成。此 API 提供了 Google Play 结算库中未提供的功能,如安全地验证购买交易以及为用户办理退款。 配置 Google Play Developer API 若要使用 Google Play Developer API,您需有一个 Google Cloud 项目。 关联Google Cloud项目 如上图,你可以选择关联现有项目,也可以选择创建新...

google play 支付签名验证

app端支付成功会有一个Purchase对象,里面有购买令牌(purchaseToken)和其他参数,如下 JSONObject jsonObject=new JSONObject(); try { jsonObject.put("packageName", purchase.getPackageName()); jsonObject.put("purchaseToken", purchase.getPurchaseToken()); jsonObject.put("signature", purchase.getSignature()); jsonObject...

对接google play支付

这里假如你已经有上架Google play的app,准备对接应用内商品(非订阅) 设置 Google Play 开发者帐号 在 Google 付款中心设置付款资料 在 Google Play 管理中心内启用结算相关功能 设置开发者帐号后,您必须发布包含 Google Play 结算库的应用版本。如需在 Google Play 管理中心启用结算相关功能(如配置您要销售的商品),必须执行此步骤。 添加库依赖项 将依赖项添加到应用的 build.gradle 文件中,如下所示: dependencies { def billing_version = "5.0.0" impleme...

根据srt字幕生成语音,并保持原有的时间间隔

制作短视频时,配音是个麻烦事儿,比如我,我不想用自己的声音 下面介绍这个语音助手可以很方便的实现 AI 配音 最近微软的“云希”火了,各大短视频平台上 讲故事的,影视剪辑的,配音都是用的“云希”,效果非常好。鉴于此,语音助手 也使用了微软的 SDK,除了云希,还有十多种声音可以选择 生成srt字幕 如下图,点击按钮后开始说话,说完再次点击按钮即可生成字幕和语音,字幕可以分享到微信,也可以通过手机的文件管理器查看;语音是自己的声音,不想要可以不用理会。 假如,原创字幕文案准备好了,无声音的短视频也准备好了(在电脑上,或另一部手机上),我是这样生成srt字幕的:两只手,一只手按短视频的播放按钮,另...

H5的音视频播放器 —— MediaElement.js

首先,只需嵌入标签或标签就可以实现媒体播放器。但是这样在不同浏览器下呈现的效果会有差异,为了让每个浏览器下都有一致的效果,我们选择了MediaElement.js mediaelement HTML5 audio and video players in pure HTML and CSS. MediaElementPlayer.js uses the same HTML/CSS for all players. 使用方法 简单的使用只需要引入两个文件,获取最新版本的文件 直接用他们的文件,几个图标可能显示不出来。打开mediaelement-and-player.min.js文件,...

Fragment中使用startActivityForResult

在Fragment中使用startActivityForResult之后,onActivityResult的调用是从activity中开始的(即会先调用activity中的onActivityResult)。 一.只嵌套了一层Fragment(比如activity中使用了viewPager,viewPager中添加了几个Fragment) 在这种情况下要注意几个点: 1.在Fragment中使用startActivityForResult的时候,不要使用getActivity().startActivityForResult,而是应该直接使startActivityForResult()。 2...

GridView某个单元格的选中状态受到键盘影响

GridView如何设置某个单元格为选中状态? 首先,该组件自带的gridview.setSelector(R.color.orange);,可以设置选中;但如果页面上同时有输入控件,比如EditText,这时GridView的选中状态就会受到键盘影响,比如当前GridView的某个单元格为选中状态,拉起/收回 键盘,这个选中状态会自动取消,下面介绍一种方法: gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(Ad...

MediaPlayer播放音频文件

播放应用的资源文件 法1. 直接调用create函数实例化一个MediaPlayer对象,播放位于res/raw/test.mp3文件 MediaPlayer mMediaPlayer = MediaPlayer.create(this, R.raw.test); 法2. test.mp3放在res/raw/目录下,使用setDataSource(Context context, Uri uri) mp = new MediaPlayer(); Uri setDataSourceuri = Uri.parse("android.resource://com.android.sim/"+R...

SimpleAdapter加载网络图片

要实现加载网络图片,需要使用SimpleAdapter中的setViewBinder()方法 SimpleAdapter simpleAdapter = new SimpleAdapter(this.getActivity(), menuList, //数据源 R.layout.grid_item, //xml实现 new String[]{"avatar", "name", "memo"}, //对应map的Key new int[]{R.id.av...

跟踪代码管理器 —— Google Tag Manager

平时网站上避免不了要嵌入第三方代码,比如 对接 百度统计 对接 Google Analytics 对接 Google AdSense 对接 百度联盟 站长工具添加站点 等等… 这些都需要在网页头部或底部添加代码,对接的多了,页面上会有很多这样的代码, Google Tag Manager 就是管理这些代码的,只需要在页面上添加Google Tag Manager的代码,以后想对接什么,直接在Google Tag Manager后台添加即可。