原地址:http://zengwu3915.blog.163.com/blog/static/27834897201375105236580?suggestedreading

发了几天时间在网上折腾了几天,终于把App内购给弄好了。分享一下个人经验

一、 在iTunesConnect中创建内购的App,然后为这个App设置一些产品(付费道具等)
打开iTunesConnect网站https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa。成功登录后进入管理页面
 

选择“Manage Your Apps”进入应用管理页面,并点击“Add New App”新建一个项目

新建App项目可以参考前面的苹果开发——向App Store提交应用,这里我们不做真实的提交,只进行到应用的状态为"Prepare

for Upload"就可以了。这里的Bundle ID 一定要与项目的info.plist中的Bundle ID保持一致,不然会内购不成功或到别人账户里去了。

选择“Manage In-App Purchases”进入产品管理页面。选择”Create New“来创建新的产品(付费道具)。

这里会出现五个项,如果你只看到一个”Free Subscription",这个时候,请先去完成“Contracts, Tax, and Banking”的资料填写,可以参考苹果开发——设置iTunes Connect中的Contracts, Tax, and Banking
类型说明:
1. Consumable 消耗品: 每次下载都需要付费, 游戏中的收付道具或充值一般都用这个类型来实现
2. Non-consumable 非消耗品: 仅需要付费一次, 游戏中如果有什么收费补丁或收费地图什么的,可以用这个
3. Auto-Renewable Subscriptions 自动订阅:允许用户购买一个持续时间更新的东西,并自动续期,游戏中少见,一般杂志订阅会用到

4. Free Subscription 免费订阅: 这个你懂的

5. Non-Renewing Subscription 非自动订况:
 
我们做游戏收费道具,选择第一个“Consumable”,之后设置一些产品的信息

Reference Name: 付费产品名称,这个自己看看就行了

Product ID:你产品的唯一id,通常格式是com.xx.xx,但它可以是任何形式(中文和特殊符号除久),不要求以程序的App ID作为前缀

Price Tier:选择价格,这里你选择价格后会出现各种货币对应的价格对照表。

Add Language:添加产品名称与描述语言,这里可以设置不同语言不同的描述。产品的名称会在购买时显示给玩家
Screenshot 截图:展示你产品的截图,测试时可以不用管。
 
一路Save保存回到“Manage In-App Purchases”页面中,你会看到我们新建的产品,同样的方法,你也可以创建多个产品。只要保证Product ID 不同就行,其他的随意。
做sandbox测试时,In-App Purchases设置到这里就可以了。但真正上线时还得继续设置下去。
这里没有上传截图的状态是“Waiting for Screenshot”,我们上传一个截图后状态变为"Ready to Submit",为什么不是“Submit for Review”

这里我们的App的状态是“Prepare for Upload”,在这我们需要将“In-App Purchases”加入到你的App应用中,这一步只能在App状态为“Ready for upload”之前去做,否则”In-App Purchase“就没法submit了。

如果产品都设置好了,点Done回到”App Information"中,确定为App状态为“Prepare for Upload”时,点“view Details”

在下面的In-App Purchases中,选择“Edit”

  选择App中所需要加入的产品

“Save” 保存,确定产品信息添加无误后,可以点下面的“Ready to Upload Binary”。

 

这后,App 应用的状态就是“Waiting for Upload",回过去再看产品时,状态变为了"Waiting for Review"

到此,App iTunes Connect上所有的设置都完成,直等上传二进制文件发布等待审核通过了。传说内购产品的审核在App审核通过之后才开始。
 
二、申请测试账号。利用sandbox测试模式模拟App Store购买流程
回到iTunes Connect主页面中,选择”Manage Users“ 然后选择”Test User“ 然后点”Add New User“,创建几个测试用的账号就可以了
记住账号和密码哈,记不住就删掉重新建 娃哈哈~(切记:不能用于真正的AppStore中使用此账号,不仅不能用,而且一旦AppStore发现后果你懂得~)

苹果开发——App内购以及验证store的收据(一)的更多相关文章

  1. 苹果开发——App内购以及验证store的收据(二)

    原地址:http://zengwu3915.blog.163.com/blog/static/2783489720137605156966?suggestedreading 三. 客户端使用Store ...

  2. ios 苹果内购订单验证 --- php实现

    验证函数: function appleVerify($receipt_data,$orderId = 0) { /* * 21000 App Store不能读取你提供的JSON对象 * 21002 ...

  3. 苹果内购服务器验证之receipt返回多组in_app思考

    最近有部分用户反映,苹果内购充值失败,经过测试总结有几个关键点出现问题 1.app购买成功苹果没有返回票据,属于票据遗漏(取决于苹果服务器的响应状况),只能客户端进行监听刷新等处理 2.app连续购买 ...

  4. 苹果APP内购客户付款成功,没收到相应虚拟产品的解决办法

    一.引导用户走申请苹果的退款 1.告知用户新版本可以使用支付宝.微信支付,更划算 2.苹果可申请90天以内的退款,一般情况申请后48小时内就有反馈. 参考链接 https://jingyan.baid ...

  5. iOS开发系列——内购、GameCenter、iCloud、Passbook系统服务开发汇总

    社交 Social 现在很多应用都内置“社交分享”功能,可以将看到的新闻.博客.广告等内容分享到微博.微信.QQ.空间等,其实从iOS6.0开始苹果官方就内置了Social.framework专门来实 ...

  6. iOS APP内购

    看到网上文章一大把,看了这个觉得挺不错的,谢谢 iOS大全 公众平台; 原文:http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652 ...

  7. php苹果内购订单验证

    /** * 21000 App Store不能读取你提供的JSON对象 * 21002 receipt-data域的数据有问题 * 21003 receipt无法通过验证 * 21004 提供的sha ...

  8. c++ boost 苹果内购 IAP验证

    // 1111.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #include <cstdlib> #include <i ...

  9. ios 苹果内购订单验证 --- nodejs实现

    实现代码 function IosPlayVerify(data,orderid,cb) { itunesPost(data,function (error,responseData) { if (e ...

随机推荐

  1. CODEVS1358【DFS/状压DP】

    题目链接[http://codevs.cn/problem/1358/] 题意:这个游戏在一个有10*10个格子的棋盘上进行,初始时棋子位于左上角,终点为右下角,棋盘上每个格子内有一个0到9的数字,每 ...

  2. 安卓 listView 优化

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_m ...

  3. 【8.17校内测试】【模拟】【set】【网络流】

    为什么每次想的最久的题得的分数最低!!!qwqwq 再也不在noip上尝试A*叻!! 模拟题,先把能消的消掉,双指针从两端向中间扫描,如果头尾合并可以消,就把它消掉,最后判断一下.因为消完过后num保 ...

  4. redis细节

    Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定.详情请参考: http://redis.io/download 但有时候又想在windows下 ...

  5. Android中数据存储(三)——SQLite数据库存储数据

    当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方式: 1. Share ...

  6. 获取 ext grid 选中行 对象

    在ext grid 中如何确定选中行?如何获取选中行数据? 其实很简单,用到了Ext.getCmp('id'),他可以获取到指定id的对象. grid 获取行对象: var row = Ext.get ...

  7. HDU 4687 Boke and Tsukkomi (一般图匹配带花树)

    Boke and Tsukkomi Time Limit: 3000/3000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Othe ...

  8. vCard : a file format standard for electronic business cards

    http://zh.wikipedia.org/wiki/VCard vCard是电子名片的文件格式标准.它一般附加在电子邮件之后,但也可以用于其它场合(如在互联网上相互交换). vCard可包含的信 ...

  9. Mysql配置文件my.ini详解

    以下是Mysql数据库服务器配置文件my.ini的详细配置.应用场合是InnoDB引擎,2核CPU, 32位SUSE. [client] #password = your_password port  ...

  10. 第一篇 对Javascript中原型的深入理解

      理解原型对象 在Javascript中不管什么时候,仅仅要创建一个新的函数,就会依据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象(这个对象的用途是包括能够有特定 ...