iap 全程总结
- 应用范围app Store Review Guidelines : https://developer.apple.com/app-store/review/guidelines/ 中 11.12 Apps offering subscriptions must do so using IAP, Apple will share the same 70/30 revenue split with developers for these purchases, as set forth in the Program License Agreement
- 产品可以是任意一项你想要出售的特性。产品在iTunes Connect中被组织,这和你添加一个新的App是一样的。支持的产品种类共有四种:
1. 内容型。包括电子书,电子杂志,照片,插图,游戏关卡,游戏角色,和其他的数字内容。
2. 扩展功能。这些功能已经包含在App内部。在未购买之前被锁定。例如,你可以在一个游戏程序中包含若干个小游戏,用户可以分别来购买这些游戏。
3. 服务。允许程序对单次服务收费。比如录音服务。
4. 订阅。支持对内容或服务的扩展访问。例如,你的程序可以每周提供财务信息或游戏门户网站的信息。应该设定一个合理的更新周期,以避免过于频繁的
提示困扰用户。要记住:你将负责跟踪订阅的过期信息,并且管理续费。App Store不会替你监视订阅的周期,也不提供自动收费的机制。
- 需要注意:
1. 你必须提供电子类产品和服务。不要使用In App Purchase 去出售实物和实际服务。
2. 不能提供代表中介货币的物品,因为让用户知晓他们购买的商品和服务是很重要的。
- 一个正常的购买流程
1. 程序向服务器发送请求,获得一份产品列表。
2. 服务器返回包含产品标识符的列表。
3. 程序向App Store发送请求,得到产品的信息。
4. App Store返回产品信息。
5. 程序把返回的产品信息显示给用户(App的store界面)
6. 用户选择某个产品
7. 程序向App Store发送支付请求
8. App Store处理支付请求并返回交易完成信息。
9. 程序从信息中获得数据,并发送至服务器。
10. 服务器纪录数据,并进行审(我们的)查。
11. 服务器将数据发给App Store来验证该交易的有效性。
12. App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识。
13. 服务器读取返回的数据,确定用户购买的内容。
14. 服务器将购买的内容传递给程序。
- 价格 iap是选择性定价 价格表 :http://forecomm.mptw.fr/templates/PriceMatrix.html 以tier 为单位定价后如下
价格 Tier 5 |
App Store |
客户价格 |
您的收入 |
美国* |
US
$4.99 |
US
$3.50 |
墨西哥 |
MX
$65.00 |
MX
$45.50 |
加拿大 |
CA
$5.79 |
CA
$4.05 |
英国 |
£3.99 |
£2.33 |
欧盟* |
4,99 € |
2,75 € |
瑞典 |
SE
49,00 kr |
SE
27,44 kr |
丹麦 |
DK
39,00 kr |
DK
21,84 kr |
挪威 |
NO
49,00 kr |
NO
27,44 kr |
瑞士 |
CH
CHF5.00 |
CH
CHF3.24 |
澳大利亚 |
AU
$6.49 |
AU
$4.13 |
新西兰 |
NZ
$6.49 |
NZ
$4.54 |
日本 |
JP¥600 |
JP¥420 |
中国 |
CN¥30.00 |
CN¥21.00 |
香港 |
HK$ 38.00 |
HK$ 26.60 |
新加坡 |
S$ 5.98 |
S$ 4.19 |
台湾 |
NT$ 150 |
NT$ 105 |
印度 |
Rs 300 |
Rs 210 |
印度尼西亚 |
Rp 59ribu |
Rp 41.300 |
以色列 |
NIS 17.90 |
NIS 12.53 |
俄罗斯 |
279 р. |
195,30 р. |
沙特阿拉伯 |
SR 17.99 |
SR 12.59 |
南非 |
R59.99 |
R36.84 |
土耳其 |
10,49 TL |
7,34 TL |
阿拉伯联合酋长国 |
AED 17.99 |
AED 12.59 |
- 产品展示 一个产品可以有 多国语言的展示形式 内容包括 名称 描述 价格
- 用户看到的购买提示信息 标题:请确认您的软件内购买 内容:您想以<价格(本地)>的价格买一个<产品标题>吗? (这是中国的表现形式) 其中价格和产品表题可以修改
- 安全验证过程
1. 从transaction的transactionReceipt属性中得到收据的数据,并以base64方式编码。
2. 创建JSON对象,字典格式,单键值对,键名为"receipt-data", 值为上一步编码后的数据。效果为:
{
"receipt-data" : "(编码后的数据)"
}
3. 发送HTTP POST的请求,将数据发送到App Store,其地址为:
正式地址: https://buy.itunes.apple.com/verifyReceipt
测试地址: https://sandbox.itunes.apple.com/verifyReceipt
4. App Store的返回值也是一个JSON格式的对象,包含两个键值对, status和receipt:
{
"status" : 0,
"receipt" : { … }
}
如果status的值为0, 就说明该receipt为有效的。 否则就是无效的。
- 建议设计
- 独立的充值界面 展示有哪些产品 ,从服务端获取产品id 列表 ,从appstore 获取产品列表,显示产品.
- 点击某个产品后进入支付队列,成功后,进入本地队列, 逐一发往服务端, 由服务端验证充值 返回充值结果
- 具体的操作过程
- 申请ios支付应用
- 打开协议、税务和银行业务如下图
- 点开contact Info 如下
- 添加用户
- 添加五个人后 在对应选择职能 如下,就完事了 点击done
- 再点开bank Info 如下图,
- 点开 add Bank Account
- next
- Look up Transit Number
- 筛选银行,next
- 确认银行信息,next
- 填表,然后 next
- 勾上复选框(一大堆声明),点 Save,选中刚刚创建的银行
- 再点开 tex Info
- 鄙人此处选择的是U.S. tax Forms
- 本人不是每个公民, submit
- 本人也没有美国的合伙人(我就不认识美国人),submit
- 至此, 协议、税务和银行业务 就完成了 自动进入等待审核状态,大概不到一天就通过了
- 添加应用内购项目
- 打开 "app 内购买项目"
- 我这是已经有一个了,Create New
- 本人点的是消耗品
- 填写好后,save 就跟刚进来看到的一样,产生一个等待提交的产品.
- 客户端代码 参考 https://github.com/saturngod/IAPHelper 这里就不多说了, 主要是弄明白各种情况的处理.
posted @
2015-06-11 11:14
采采00
阅读(
402)
评论()
编辑
收藏
举报