【iOS】苹果IAP(内购)中沙盒账号使用注意事项

 

96 
谦言忘语 
2016.12.15 10:25* 字数 1828 阅读 16262评论 155

目标

  • 沙盒账号的正确使用方式
  • 沙盒账号使用的注意事项

1.沙盒账号是什么

iOS应用里面用到了苹果应用内付费(IAP)功能,在项目上线前一定要进行功能测试。测试肯定是需要的,何况这个跟money有关。。。开发完成了之后,如何进行测试呢?难道我测试个内购功能要自己掏钱?就算是公司掏钱,但是苹果要吃掉3成的啊,想想如果是99刀的商品,点下购买的时候心里都有点发慌。。。
苹果当然没这么坑了,测试内购,苹果提供了沙盒账号(也叫沙箱账号)的方式。这个沙箱账号其实是虚拟的AppleID,在开发者账号后台的iTune Connect上配置了之后就能使用沙盒账号测试内购,有了沙盒账号,就能体验一把土豪的感觉了,游戏钻石什么的随便充,反正不用我的钱。

注意:你可以把沙盒账号看做是一个虚拟的AppleID,这个AppleID只有进行内购测试的功能。

2.沙盒账号使用的前提

  • 内购的商品ID,价格等相关信息已经录入到开发者后台了(不然那你买什么)
  • 开发者后台已经创建好沙盒测试账号了(下面我们会将如何创建)
  • 你要有一部真机(iPhone或iPad都行,别用模拟器就好。而且不能是越狱机)
  • bundleID别搞错了,开发者账号、证书、bundleID要一致
  • 如果你是第一次在这个开发者账号上集成内购功能,请先将iTune Connect上的税务协议都填写好,否则内购时会发现商品ID无效。

税务协议的问题不少童鞋遇到了,可以参考这篇文章http://www.jianshu.com/u/62f0c72a2004

3.沙盒账号创建

登录苹果开发者后台--iTunes Connect--用户和职能--沙箱测试技术员,在这个界面你可以看到当前账号已经创建好的沙盒账号。

 
沙箱测试技术员管理界面

点击“+”进行创建


 
创建沙盒账号
 
新创建的沙盒账号

如图,我创建一个沙盒账号。具体信息:

  • 名字为test1
  • AppleID为jianshutest1@123.com(也就是上面填的电子邮件)
  • App Store地区为中国

注意:

  • 电子邮件不能是别人已经注册过AppleID的邮箱
  • 电子邮箱可以是一个不存在电子邮箱(只要符合格式,随便写)
  • App Store 地区不要乱选。虽然随便哪个地区都可以用来测试(还没上线之前app并没有地区之分),但是在沙盒测试的时候,弹出的购买提示框会根据当前AppleID(沙盒账号)的地区显示语言的。

4.沙盒账号使用流程

  • 1.在iPhone上安装测试包(必须是adhoc签名证书或者develop签名证书打的包,不能是从App Store上下载的)

  • 2.退出iPhone的App Store账号(因为我们需要使用沙盒账号登录)。

    • 操作方法一:打开App Store应用首页滑到最下方--选中AppleID--注销
    • 操作方法二:设置--iTunes Store与App Store--选中AppleID--注销

这里只需要退出账号,退出之后,不需要在这里登录沙盒账号,因为你压根就登录不了。之前已经说过了,沙盒账号是一个假的AppleID账号,不能直接登录的。如果强行登陆,会出现以下报错提示:

 
使用沙盒账号直接登录报错提示
  • 3.在测试包里面购买商品,系统会让你进行登录,这里我们点击“使用现有的AppleID”就可以输入刚才创建好的沙盒测试账号进行登录了。
 
点击购买商品后出现登录窗口
 
输入沙盒账号密码进行登录
  • 4.输入账号之后,有可能会出现如下提示,点击确定之后会跳转到App Store,导致这次购买失败。没关系,我们再次回到测试包,然后购买商品就好
 
跳转到App Store跳转店面的提示

出现提示的原因:因为AppleID是分地区的。之前我们创建沙盒账号的时候就看到了,需要选择地区。App Store也是分地区的,对应的AppleID只能在App Store对应的地区进行下载和购买东西。我们刚才创建的jianshutest1@123.com这个账号的地区是中国,所以只能在中国店面登录。由于我之前的登录的账号越南的,所以此时AppStore店面是越南店面。所以我们这次登录,系统会跳转到AppStore应用将店面切换到中国。另外,App Store应用切换地区的时候,会报【Your request produced an error】。这个不需要管。

  • 5.点击购买商品之后,成功的话会出现相应提示。
 
商品内容和价格展示窗口

备注:我们在iTunes Connect上创建商品了之后,除了需要填商品ID,商品名称,商品描述,价格等之外,还要上传一张图片,图片就是上面这个界面。

 
购买成功提示

沙盒账号注意事项

  • BudleID,证书,商品ID等内容一致,才能进行接下来的储值测试(BundleID都不对,还玩什么)
  • 测试设备需要使用不越狱的真机(越狱机不能进行沙盒储值,模拟器也不能进行沙盒储值)
  • 沙盒账号是不能直接在App Store进行登录的,只能在点击了购买商品之后,在弹出的登录框进行登录。
  • 真实的AppleID不能在adhoc证书和develop证书打出来的包进行沙盒储值测试,所以在沙盒测试之前,需要退出真实的AppleID账号
  • 从App Store上面下载的包不能使用沙盒账号进行储值

关于证书的问题:
1.使用develop签名证书和adhoc签名证书打的ipa包,我把他们叫做测试包,测试包只能使用沙盒账号进行储值,不能使用真实的AppleID进行储值
2.从App Store应用下载的包,我把他们叫做线上包,线上包只能使用真实的AppleID进行储值,不能使用沙盒账号进行储值

另外唠叨一下:
楼主平常上传包的时候是打包了ipa包之后,使用Xcode里面的Application Loader应用上传应用的。
虽然很多人上传包使用的是appstore的签名证书,但是,其实使用adhoc的证书打包的ipa包也是可以正常上传并且送审上线的。我平常就是用adhoc的证书打包成ipa包,给测试妹子测试,测试完直接用这个包上传送审了。嘿嘿。

posted @ 2018-01-16 15:50  要么人在旅途,要么灵魂在旅途  阅读(1500)  评论(0编辑  收藏  举报