stm32 app转到iap程序跑飞,出现hardware_fault

stm32 app转到iap程序跑飞,出现hardware_fault,第1张

IAP一般放在在0x08000....00,也就是用户flash的最开始,app跳转到IAP一般通过软件复位或硬件复位跳转直接到IAP,当然我也尝试过使用PC指针直接跳转到IAP,这样做可以保持APP里面设置的外设寄存器值保持不变。我在调试IAP也遇到各种问题,但最后大部分解决了。你的IAP和APP结构是怎么样的,你说得太模糊,难以定位你的问题所在。

根据你的描述你是不是把IAP放在了APP后面或者RAM里面了,把APP放在了USER——Flash的开始?

IAP全称叫做 In App Purchase,在应用内购买,顾名思义就是可以在iPhone应用程序里实现二次购买。当然,对于一些免费的应用,IAP是除了植入广告外的另一种取得收益的方式。自从iPhone SDK3.0更新以来,IAP已经得到广泛的应用。我在开发第一个iPhone游戏中就用到了这种功能,这里就简单说一下我实现的具体过程。

这篇文章是针对那些已经对IAP有一定的认识,只是在实现方面遇到困难的人,所以,很多地方我不会进行很详细的解析。

我在游戏中实现道具购买,它是消费型的(Consumable),即可重复购买。

在代码实现之前,你要登陆自己的开发者账号,创建用于开发测试的Apple ID(ID不要带有*,创建成功会默认启动IAP功能,如果没有,点击ID列表最右侧Config,启用In App Purchase功能)。然后生成相应的profile,这些 *** 作就是生成证书和签名,使你的Xcode跟开发者账号联系起来调试,如果不太懂,可以参考一篇比较详细的文章http://www.cocoachina.com/bbs/read.php?tid=7923&page=1 ,里面还包括发布程序的教程。

如果你的Xcode与开发者账号联系起来,那就继续往下看吧。

用你的开发者账号进入iTunes Connect,点击位于左偏上的Manager Your Applications

如果你还没创建你的应用,请点击左上角的Add New App ,这步我会跳过,如果不会创建你的应用,可以参考http://jamesli.cn/blog/?p=1045

创建成功之后,点击进去,再点击右边第二项 Manage In-App Purchases

点击左上角Create New 添加你的道具,选择Consumable ,根据提示填好相关内容,记住,Product ID是以后进行purchase *** 作的唯一识别,在代码里也会使用到,相当于主键,而且一旦添加后即使删除了以后也不允许再次使用这一ID(官方建议使用域名的命名模式com.companyname.appname.productid),确保你勾选了Clear for Sale。

提交之后,是不是就剩下代码实现的部分了呢?

答案是否定的,你还需要注册一个调试账号,用于IAP调试,即购买时你要用这个账号密码去购买(真机调试前一定要在设置里注销退出自己的真实APP账号),如果用真实的APP账号购买,你的账号余额可能会无缘无故变少了(嘿嘿,我没试过,不知是不是真的会扣你的钱),当然,你有勇气的话,可以尝试一下。

在用你的开发者账号进入iTunes Connect的页面的左下角有Manage Users选项,点击进去,在Test User里新建一个调试账号。

好了,一切都准备好了吧,打开你的Xcode,开始你的代码实现吧!

nity Services里的Unity IAP对于IOS和GooglePlay的支付用这个插件就足够了。

Unity官方文档

1.集成插件

Window-Services(Ctrl+0)在Services面板Link你的工程,启用In-App Purchase,Import/Update一下,插件就在Assets/Plugins/UnityPurchasing下。

2.设置

以GooglePlay的设置为例

Window - Unity Iap - Android - Target Google Play :选择GooglePlay,

Window - Unity Iap - Receipt Validation Obfuscator :输入GooglePlay的PublicKey,

点击Obfuscate secrets后,在Assets/Plugins/UnityPurchasing/generated下会生产GooglePlayTangle自动生成的文件,不用管他。

但是要注意到他的宏定义

3.DEMO

插件的demo在Assets/Plugins/UnityPurchasing/scenes/IAP Demo 这个场景里

也可以直接看cs文件,Assets/Plugins/UnityPurchasing/script/IAPDemo.cs

主要用到的是UnityEngine.Purchasing.IStoreListener 这个接口

4.初始化

实现IStoreListener 接口初始化回调

成功:

5.发起支付

实现IStoreListener支付回调

成功:

IOS deferred:

希望可以帮助到大家 有什么关于unity的可以到纳金论坛去找


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7985390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存