Apple那边的IAP整理

Posted on 2013-03-11 21:57  neocsl  阅读(6449)  评论(0编辑  收藏  举报

   我打算先实现消耗品,然后再进行云端存储实现消耗品。否则Apple极有可能把我的产品拒绝。

   这两天开始实现IAP,在实现之前对IAP应该有一个大体的认识。在这里我就开始阐述一下IAP的林林总总。

  1.IAP提供产品描述  

  2.购买产品

  满足上述两个条件IAP才能正常工作。

  创建及提取产品描述:

  1.创建唯一的AppID

  2.生成及安装新的provisioning profile文件

  3.在XCode中更新Bundle ID和Code signing profile

  4.在iTunes Connect中提交程序的metadata

  5.在iTunes Connect中提交程序的二进制码

  6.为IAP添加新产品

  7.编写提取产品描述的代码

  8.等几个小时。

  看样子过程不是太繁琐。我们来看看具体过程。

1.创建AppID

也就是之前遇到的7DC89RZKLY.com.EpicGames.AFewDaysLeft 但不能包含“*”通配符http://developer.apple.com/iphone

若没有在developer portal中AppIDs中创建一个选择New App ID

不能编辑或是删除就得AppID,所以只能想一个新名字。然后configure连接选择"Enable In AppPurchase"

2.创建新的Provisioning Profile文件

创建了AppID之后需要一个新的provisioning profile。

进入Provisioning部分,确保在Development下,New Profile。

加入刚才我写的AppID,然后在Actions条目下Pending,然后点击Development标签刷新。

Download下载新的profile文件

将Profile文件拖入Dock中XCode图标上进行安装。

想在硬盘上保存Provisioning Profile文件可以如下:

在XCode中选择Window>Organizer

选择左边的Provisioning Profile

Ctrl-按下profile>Reveal in Finder

将Profile拖入到Profile Finder窗口。

3.更新XCode设置

  在XCode中安装了Profile文件后,需要对该Provisioning Profile进行编辑。

  1.编辑.plist文件使其Bundle ID与App ID匹配。忽略ID部分字母数字序列,像上边的我只需要写成com.EpicGames.AFewDaysLeft即可。

  2.编辑项目的target信息使用心得provisioning profile

  project>Edit Active Target

  Build便签

  选取需要的confiuration,通常为Debug

  在Code Signing Identity中选择新的provisioning profile

  在Code Signing Identity之下的杭忠选择新的provisioning profile。

4.添加我的游戏

  如果游戏已经发表到AppStore可以忽略这里,因为我用UDN的方式已经完成了提交。  

  在将产品添加到iTunes Connect之前,必须添加产品所需的程序。如果程序没有100%提交无妨,可以提交部分数据。最后提交真实程序。

  只有SKU和Version版本是不可修改。

  1.登陆到http://developer.apple.com/iphone

  2.进入iTunes Connect,然后Manage Your Apps   

  3.点击左上角Add New App

  4.填写一切信息,当要求二进制码时,选择稍后上传选项

5.提交二进制码

  1.生成AppStore发布版程序

  点击iphone Developer Portal中左上方的Distribution标签,选择Prepare App标签。选择蓝色指示

  获取iPhone发行许可证

  创建下载AppStore发型所需的iPhone Distribution Provisioning Profile

  在XCode中创建生成程序的发行版

  2.在iTunes Connect中进入程序页

  3.选择Upload Binary

  4.上传.Zip压缩程序

  5.若程序还没有完成100%以进行审核,在iTunes Connect中程序首页点击Reject Binary。程序的状态将会更新为Developer Rejected

  所以在没有做完游戏之前苹果不会审核的,然后可以在任何时候提交新版本使状态为Developer Rejected,这样非常便于测试。

6.添加产品

  完成以上内容进入IAP产品提交环节,这可是非常重要的步骤。

  1.登录到http://developer.apple.com/iphone

  2.进入iTunes Connect主页

  3.点击Manage Your in App Purchases

  4.Create New

  5.选择自己的程序

  6.填写产品列表

  Reference Name:参考名称,即产品的名称。例如BounceWeapon Upgrade。此名称不允许编制,不会出现在AppStore中

  Product ID:产品ID。产品唯一的ID。例如com.EpicGames.AFewDaysLeft.BounceWeaponUpgrade.他可以是任何形式不需要以AppID为前缀

  Type:可以想来你的产品有哪些类型。对于游戏产品的血瓶,武器购买和循环反复那种。

     Non-Consumable:仅需消耗一次,例如玩家购买了枪支。以后就会一直拥有该枪。或者是购买解锁关卡。

     Consumable:药瓶之类的购买,复活之类

       Subscription:预定

  Price Tier:产品的定价。

  Cleared for Sale:等待销售,要选此项。否则测试时会发生非法产品ID错误。

  Language to Add:选一项。下列两项中将出现。

    Displayed name显示名称:用户看到的产品名称。例如BounceWeapon Upgrade

        Description:对产品的描述。此处输入的文本将于DisplayedName及Price一起在代码中提取SKProduct时出现

  ScreenShot:截屏。展示产品截图。展示你产品的截屏。尽管屏幕上会显示“提交截屏会触发产品审核过程”之类的文字(个人拙见,这是非常糟糕的设计),你还是可以安全地提交截屏而不会使产品 进入审核过程。存储后,选择“Submit with app binary” (随程序二进制码一起提交)选项。是产品与程序二进制绑定在一起,所以在你最后正式提交100%完成的程序二进制码时,产品也会随之提交。

  点击Save完成吧。

7.编写代码

  这里进入unrealscript打开microsaction写,同时不要忘了在config文件中写产品列表。

8.等一些时间

  产品进入iTunes Connect得有一段时间让Apple准备好沙盒环境。一般会在24个小时之内完成。

9.购买产品

  现在应该获取了SKProoduct描述

  1.编写代码支持事物:在你的游戏中写购买的执行过程

  2.在iTunes Connect中添加程序测试用户:在iTunes Connect中创建测试用户,可以用测试账号购买而不被Apple收取费用。

    登陆到http://developer.apple.com/iphone

    进入iTunes Connect

    选择iTunes Connect首页Manage Users

    选择In App Purchase Test User

    选择Add New User

    填入用户信息,所有信息不必都合法。建议选用虚拟的email地址及简短的密码

    save

  3.在设备中登陆iTunes Store账号

    在测试前先退出iTunes Store,打开Setting App,点Store,点Sign Out

  4.购买测试

    运行设备

    进行购买

    当程序提示输入用户名与密码是,输入测试用户信息

    若使用同一账户进行购买,系统提示已经购买了此产品。按“Yes”可以再次下载此产品。