Apple 内购
关于内购所需东西:
1.测试开发证书:需要打开in-app-purchase,绑定bundleid:com.aragon.TexasPoker
2.iTunes connect 里添加内购应用:
1>首先需要创建一个app。套装id 选择证书里的创建好的这个项目app id
2>功能里添加app 内购买项目:每个内购买项目的id必须唯一,id需要测试期间先发给我,之后发给后台,有后台返给我(选择消耗型的)
3>填写协议、税务和银行业务,填写所有的信息,(网上有文档)
4>用户与职能里添加一个沙盒测试员,邮箱密码发给我,我需要这个做内购买支付测试,
关于内购
前期准备任务
1>配置开发测试证书:
前往苹果开发者网站(https://developer.apple.com)使用开发者账号登入,进入accout页面
选择certifications,Identitiers,&profiles
如果你已经有证书了,就不用创建证书了(证书不需要很多个,基本上两个证书就足够了,一个开发证书一个测试证书),直接创建app ids
点击app ids 点击“+”,按照里边的步骤添加name, 和bundle id,注意打开In-App-purchase,需要和应用的bundleid 对应,很简单
然后创建描述文件
选择dev ,继续
选择刚才创建的app id,继续
然后选择证书,继续
之后选择测试的设备,继续,创建描述文件结束,可以将这个描述文件导出,之后用
2>配置工程
去掉自动配置,import刚才导出的描述文件,如果你安装过证书他会自己识别,如果没有安装过,那么需要把证书导出来,双击安装
3>Itunes Connect 添加应用(这也是内购应用比较重要的一步):
1>创建内购app,和内购项目
1:到苹果开发者网站accout页面(或者直接进入iTunes connect 网站登录账号,需要苹果开发者账号)
2:
选择“我的app”进入添加内购项目
点击右上角新建app
选择平台,名称,注意套装id选择我们那会在创建证书里的App IDs,sku 随便填,点击创建,这时候就会创建出一个新的app
3:点击刚新创建的app
选择功能,
添加内购项目点击+
选择一种类型(上边的解释很清楚,根据需要选择)创建之后填写基本的信息
需要注意的是产品id一定唯一,这个id我们可以放在后台,需要的时候返回给我们,如果你的内购项目只有一个也可以放在前台,填写完成之后,选择保存,创建内购项目完成
2>创建沙盒测试
点击“用户和职能”
选择沙箱技术测试
点击“+”
填写基本信息
注意电子邮箱随便写一个,但是不要求是真的,选择储存,创建完毕,这个账号是以后测试需要的apple id
3>填写税务和银行卡信息
选择“税务”这一块,填写基本的信息,这块一般是功能的产品填的,太机密,我就没有权限看了
所有的前奏准备完成,现在开始代码部分
——————————————————————————
我们用到的这个框架是:StoreKit
先说一下,内购的基本思路:
1>我们需要判断是否支持内购
2>我们需要通过产品id(也就是我们创建内购Item的那个产品id)去获取更全面的info
3>返回全面的产品info之后,我们将这个产品加入到支付队列里等待支付
4>系统通过通知告诉我们现在的状态
5>当支付成功之后,我们需要通过沙盒存储的Url,获取Data
6>将Data转化base64加密的字符串,提交到后台,后台去验证信息,如果验证成功,这时候,支付才是真正的完成了
下面直接复制上我写的demo,代码
我会将此代码上传到我的github,有需要的可以下载查看https://github.com/HaoXianSen/In_App_Purchase_Demo.git
Apple 内购的更多相关文章
- 苹果内购和 Apple Pay
作者:CC老师_MissCC链接:http://www.jianshu.com/p/e3bc47e81785來源:简书 苹果内购 1.什么是内购? 如果你购买的商品,是在本app中使用和消耗的,就一定 ...
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- iOS--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook等系统服务开发汇总
iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...
- [IPA]IOS In App Purchase(内购)验证
参考我之前的笔记 苹果内购笔记,在客户端向苹果购买成功之后,我们需要进行二次验证. 二次验证 IOS在沙箱环境下购买成功之后,向苹果进行二次验证,确认用户是否购买成功. 当应用向Apple服务器请求购 ...
- AppStore ipa (苹果内购)笔记
内购示意图 准备条件 苹果的开发者证书,已经为应用启用App内购,并在Xcode更新配置文件 itunes store设置 itunes中创建App及其它设置 参考:iOS应用程序内购/内付费(一) ...
- AppStore 内购验证的方法
AppStore增加了验证内购(In App Purchasement)的方法, 就是苹果提供一个url地址, 开发测试用: https://sandbox.itunes.apple.com/veri ...
- iOS开发——高级技术&内购服务
内购服务 大家都知道做iOS开发本身的收入有三种来源:出售应用.内购和广告.国内用户通常很少直接 购买应用,因此对于开发者而言(特别是个人开发者),内购和广告收入就成了主要的收入来源.内购营销模式,通 ...
- iOS开发系列通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- iOS开发 使用RMStore简化内购代码 + 内购买订单验证
现在很多的app里面都添加了应用内购买,网上关于苹果证书的生成和设置的教程比较多,这里就不多赘述了,推荐几个个人觉得说的比较详细的网址: http://www.jianshu.com/p/86ac7d ...
随机推荐
- awk进阶整理
BEGIN{写在前言,我英语不好,有许多地方直接使用的谷歌翻译.为了能理清awk工具使用的思路,详情还要看awk说明书(man awk) 或者http://www.gnu.org/software/g ...
- 【转】5 Best Place to Learn Linux – Linux Tutorial Sites
Linux have amazed every tech guy and make them curious to hands on Linux. Many of us not feel Linux ...
- word文字覆盖问题
我们在编写word文档时,偶尔会遇到这个问题: 在一个段落中的某个位置修改文字时,直接就把后面的字体给覆盖了,导致后面的句子也不完整了. 解决经过: 之前遇到这种情况,非常恼火,直接新建一个word文 ...
- C#在winform中读写ini文件
class WY_INI { static string IniFileName; static char[] TrimChar = { ' ', '\t' }; public string[] Ge ...
- Django中url的生成过程详解
在前面我们知道,Django启动之前会执行admin.py中的autodiscover()方法. def autodiscover(): autodiscover_modules('admin', r ...
- 完全总结bash中的条件判断test [ [[ 使用
在bash脚本编程中,我们经常做一些条件判断, 我们主要用到了三种,test,单中括号,双中括号 经常有看到不同的写法,如: [ $? –eq ] [[ $myvar == “mysql” ]] te ...
- MySQL计划任务(事件调度器)(Event Scheduler)[转]
原文链接: http://www.cnblogs.com/c840136/articles/2388512.html MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务机 ...
- 使用正则表达式和数组形式获取get方法传入的值
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- LeetCode - 627. Swap Salary
Given a table salary, such as the one below, that has m=male and f=female values. Swap all f and m v ...
- jQuery smartMenu右键自定义上下文菜单插件
http://www.zhangxinxu.com/wordpress/?p=1667 <%@ page contentType="text/html; charset=UTF-8&q ...