zoukankan      html  css  js  c++  java
  • IAP相关资源收集及开发总结,帮助你快速实现IAP功能

    年前的时候开发的项目用到了IAP,在公司里发了一个总结的邮件,现在一个字不漏的贴出来(分明是偷懒啊...),希望会对大家平常使用IAP开发有帮助,尤其是时间紧迫,需要快速实现此功能的同学。
    --Wang Jun

    另祝,元宵快乐!


    Hi All,


    趁着现在有一点时间,把有关于IAP的东西总结一下,希望对各位未来涉及相关工作的时候会有所帮助。
    废话少说,开始了。


    先说明一下,在苹果自身对IAP销售管理中,实行三七开的收入分成(黑吧),所以苹果推荐IAP中销售的是虚拟物品


    注意,如果时间紧迫的话,第1,2个说明部分是可以跳过的,直接进入到第3个说明,但是注意红字的部分必须已经阅读!


    1.在开始IAP开发前,先要对IAP有个大概的了解,下面这片文章就是给你预备的:
      苹果的官方文档:Store Kit Guide(In App Purchase)
        现在网上已经有对这个文档很成熟的翻译了,如果想加快阅读速度,看这里
        翻译版本:http://yarin.blog.51cto.com/1130898/549141

        PS:开始IAP开发并不需要多深的背景知识,这里囫囵看下去就可以了。但是要了解IAP的两种验证形式: 设备验证和服务器验证


    2.网上流传比较广的IAP开发流程的帖子,讲的范围很全面,但是有的内容跟不上时代了,一共有两点需要注意:
      一、在现在的IAP测试中,已经不需要提交程序再让开发者把程序状态设置“Developer Reject”了,只需要程序      到”prepare for upload“就可以了。
    二、在IOS5,已经可以在模拟器中测试,调试IAP这个功能了。
        这一篇文章地址是:
      IAP(程序内购买): 完全攻略 
        http://fei263.blog.163.com/blog/static/927937242011321105241823/
        这篇文章包含了从创建APP ID 开始到IAP基本功能实现的整个流程,很全面,值得花时间去看一看,但是注意几个问题:
        1.文中有几个前置条件没有说明:
    <1 在添加Test User之前,应该已经设置好ITunes Connect账户中关于Purchase Contract的信息。至少应该点击contract 的request按钮,让contract置于pending in process的状态。
         完成上面的操作后,你才会在刚进入Manage User界面的时候,能选择创建Test User。


    3.请保证这个时候你的pruchase contract已经完成了!contract中的 bank info,tax info,contact info都需要填写完成!
       这篇帖子是这里要推荐的,主要介绍了Itunes Connect中创建了程序信息后,IAP的准备和测试的过程:
    【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
    http://blog.csdn.net/xiaominghimi/article/details/6937097


    4.遇到问题了?
    好了,经过前面的准备后,就到了真正和IAP联通的步骤了。在输入一个Product ID向服务器发起request的时候,很有可能出现失败的情况,在request属性InvalidateIdentifier中,你会发现这个Product ID是无效的。
    为什么呢?苹果是不会告诉你的,连个错误代码都没有,非常坑爹。
    所以这里我们有一个Check List,需要大家逐条检查:
    Have you enabled In-App Purchases for your App ID?
    Have you checked Cleared for Sale for your product?
    Have you submitted (and optionally rejected) your application binary?
    Does your project’s .plist Bundle ID match your App ID?
    Have you generated and installed a new provisioning profile for the new App ID?
    Have you configured your project to code sign using this new provisioning profile?
    Are you building for iPhone OS 3.0 or above?
    Are you using the full product ID when when making an SKProductRequest?
    Have you waited several hours since adding your product to iTunes Connect?
    Are your bank details active on iTunes Connect? (via Mark)
    Have you tried deleting the app from your device and reinstalling? (via Hector, S3B, Alex O, Joe, and Alberto)
    Is your device jailbroken? If so, you need to revert the jailbreak for IAP to work. (via oh my god, Roman, and xfze)
    If you answered “No” to any one of these questions, there’s your problem.


    If you answered “Yes” for each of these questions and you still have an invalid product ID, then you have a problem I haven’t seen before. Check out the links in the next section, several of which are Developer Forum posts that were especially helpful in my hunt for debugging invalid product IDs.


    5.再使用别人提供的例子代码测试IAP完成以后,这里向你介绍一个别人封装好的类库:ECPurchase
    http://www.cocoachina.com/bbs/read.php?tid-38555.html
    类库在附件中下载


    有关于自己服务器连接和验证的部分,以后再说。


    有意见的话欢迎提出,文章会继续改正。


    Thanks,
    Wang Jun.


  • 相关阅读:
    几个很实用的BOM属性对象方法
    JavaScript hash
    WPF中ControlTemplate和DataTemplate的区别
    C#性能测试方法
    Lc.exe已退出,代码为-1
    C#遍历enum类型
    WPF画线问题,几千条以后就有明显的延迟了。
    WPF学习笔记(3):Path绘制命令zz
    WPF: 旋转Thumb后,DragDelta移动距离出错的解决
    在Revit中如何显示附件模块(Add Ins) 这个命令页?zz
  • 原文地址:https://www.cnblogs.com/junwang/p/2340439.html
Copyright © 2011-2022 走看看