Android 中 使用 Google Paly 支付 简介

本文介绍了如何将Google支付集成到Android应用中,包括查询产品详情、购买流程等关键步骤,并提供了具体的代码示例。

最近项目中使用到了google 支付,总结以下:

一般将自己的产品上传到google paly 上后大概需要2-3小时后才能生效

而且 提供给了接口,可以查询与应用程序相关的APP产品细节。
获取产品详细信息,调用 queryInventoryAsync(boolean, List, QueryInventoryFinishedListener) 方法在iabHelper实例中。

queryInventoryAsync(boolean, List, QueryInventoryFinishedListener):
参数1:boolean,表示的是是否检索产品细节
参数2:List,是由一个或更多的产品ID(也叫SKU)的产品,你想查询。
参数3:queryinventoryfinishedlistener,该参数指定侦听器收到通知时,查询操作完成和处理查询的响应。

例如:
查询两个产品ID的细节sku_apple、sku_banana

List additionalSkuList = new List();
additionalSkuList.add(SKU_APPLE);
additionalSkuList.add(SKU_BANANA);
mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener);

如果查询成功,将查询结果放入到List中,

那么如何在结果集中检索详细信息,例如:项目价格

IabHelper.QueryInventoryFinishedListener
   mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
   public void onQueryInventoryFinished(IabResult result, Inventory inventory)   
   {  
    //如果检索失败
      if (result.isFailure()) {
         // handle error
    //做出相应的处理
         return;
       }
    //获取到了相应的产品价格
       String applePrice = inventory.getSkuDetails(SKU_APPLE).getPrice();
       String bananaPrice = inventory.getSkuDetails(SKU_BANANA).getPrice();
    //根据查询到的结果改变UI
       // update the UI
   }
}

购买物品

在应用程序中启动一个购买请求,调用launchPurchaseFlow(Activity, String, int, OnIabPurchaseFinishedListener, String) 方法在iabHelper实例中
第二个参数:产品ID(又称SKU)的项目购买,这里你必须保证你提交的产品ID是和控制台是一致的。
第三个参数:请求码,可以是任意的正数
第四个参数:一个监听器,通知购买时操作已完成,处理购买响应从google paly 中。
第五个参数:该参数包含一个“开发者有效载荷”字符串,你可以使用传送命令的补充信息(也可以是空字符串)。通常,这是用来在一个字符串标记唯一标识该购买请求通过。
        如果你指定一个字符串值,google Play返回这个字符串随着购买响应。随后,当你做出这个购买查询,google Play返回这个字符串一起购买详情。

例如: mHelper.launchPurchaseFlow(this, SKU_GAS, 10001,   
       mPurchaseFinishedListener, "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ");
    bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ: 是一个为唯一值就行。 一般可以直接写成:getPackageName() + String.valueOf(System.currentTimeMillis();


各位看了以上还未清楚可以访问下面参考网址再学习

http://developer.android.com/intl/zh-cn/google/play/billing/billing_integrate.html

http://developer.android.com/intl/zh-cn/training/in-app-billing/preparing-iab-app.html#GetSample


<think>好的,用户现在问的是“paly recording是什么意思中文”。看起来用户可能是在之前的代码分析中遇到了“PlayCon”这个变量,或者是在其他上下文中看到了“play recording”这个词组,需要翻译成中文。首先,我要确认“paly recording”是不是拼写错误,正确的应该是“play recording”,即播放录音。 用户之前询问的代码片段是关于录音功能的,所以可能他们在开发或分析嵌入式系统时遇到了播放录音的功能部分。需要将“play recording”翻译成准确的中文术语。通常,在技术文档或代码注释中,“play recording”会翻译为“播放录音”或“回放录音”。 接下来,我需要考虑用户可能的深层需求。他们可能是在理解代码中的某个功能,比如当按下某个按钮时,系统如何从录音模式切换到播放模式。或者他们可能在调试时遇到了问题,需要明确某个函数或变量的作用。例如,之前的代码中提到的“PlayCon = 0;”可能涉及到播放控制,用户需要了解这个变量的用途。 另外,用户可能对嵌入式系统中的音频处理流程不太熟悉,需要解释播放录音在整个系统中的位置和作用。比如,播放录音可能涉及读取存储介质中的音频数据,解码,然后通过扬声器输出。这时候需要结合之前的代码分析,说明播放录音的具体实现步骤和相关函数的作用。 同时,要注意用户可能的拼写错误,“paly”应该是“play”,所以在回答时应该指出这一点,避免混淆。此外,用户可能对专业术语的中文表达不太确定,需要给出准确的翻译并解释其应用场景。 最后,用户可能希望了解如何在实际项目中实现播放录音功能,或者遇到相关问题时的解决方法。因此,除了翻译,还需要简要说明相关的技术实现,比如使用哪个库函数,如何控制播放流程等,结合之前的代码示例进行说明,帮助用户更好地理解。</think>"Play recording" 的中文翻译是**"播放录音"**。在嵌入式系统开发中,这个术语特指将存储介质(如 Flash 存储器)中已录制的音频数据进行解码并通过扬声器输出的过程。 ### 技术实现要点 1. **播放流程**: ```c SACM_DVRPCM_Play(); // 启动音频解码播放 while(SACM_DVRPCM_Status()){ // 轮询播放状态 SACM_DVRPCM_Service(); // 维持音频解码服务 } ``` - 需要配合状态轮询和服务函数维持播放 2. **硬件关联**: - 通过 DAC(数模转换器)输出模拟音频信号 - 依赖定时器中断维持采样率(如 8kHz/16kHz) 3. **存储访问**: ```c SPIFC_Read(PLAY_BUFFER, START_ADDRESS, 512); // 从 Flash 读取音频数据 ``` - 通常需要分块读取存储介质中的数据 与您之前提供的录音代码形成完整闭环: - **录音**:`SACM_DVRPCM_Rec()` ➔ 数据写入 Flash - **播放**:`SACM_DVRPCM_Play()` ➔ 从 Flash 读取数据解码播放 这种设计常见于语音留言机、安防报警器等需要本地语音存储与回放的嵌入式设备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值