实现 iOS 内购商品批量操作

2022-08-04 13:41:35 浏览数 (2)

不知你是否操作过 iOS 的内购商品(in-app-purchases),如果很不幸你是那个需要把几十个内购商品一个个上传到 iTunes connect 后台中去的,那你就祈祷今天可以早点回家把,毕竟除了有要开发新的功能外,这些机械反复的操作会浪费掉你很多宝贵的时间。

我作为其中不幸的一员,也十分为此感到头疼,直到有一天策划把将近100个商品的 Excel 表格摆在我的电脑屏幕上,我就暗自下定决心一定要解放自己的双手,至少也得解放自己一只手把!于是我调研了一段时间后真的找到了可以实现的方式,那就是使用 fastlane 中的 spaceship。

其中有一段Sample:

代码语言:javascript复制
require 'spaceship'

Spaceship::Tunes.login("helmut@januschka.com")

app = Spaceship::Application.find("hjanuschka.sticker-test")

def modify_iap_demo(app =nil)
purch = app.in_app_purchases.find("spanish.app.idf.demo")
e = purch.edit
e.review_notes = "1Review Notes with atleast 10 characters"
e.review_screenshot = "/Users/hja/Desktop/review.png"
e.versions = {
    'en-US': {
    name:"Edit It1",
    description:"Description has at least 10 characters"
    },

    'es-ES': {
    name:"1test name es-ES",
    description:"German has at least 10 characters"
    }
}

e.save!
end

def create_iap_demo(app =nil)
app.in_app_purchases.create!(
     type: Spaceship::Tunes::IAPType::CONSUMABLE,
     versions: {
         'es-ES': {
         name:"test name german1",
         description:"German has at least 10 characters"
         }
     },

     reference_name:"es_demo_es",
     product_id:"spanish.app.idf.demo",
     cleared_for_sale:true,
     review_notes:"Some Review Notes here bla bla bla",
     review_screenshot:"/Users/hja/Desktop/review.jpg",
     pricing_intervals:
     [
      {
      country:"WW",
      begin_date:nil,
      end_date:nil,
      tier:1
      }
      ]
     )
end

create_iap_demo(app)
modify_iap_demo(app)

通过上面demo中的俩个函数,我们可以轻松的通过脚本对 iTunesconnect 后台商品进行上传和修改,但只是针对一个商品,如何进行批量化呢!这还不简单,我们已经是站在巨人的肩膀上了,只需要在开动一下脑筋即可,只要我们对 Excel 文档按照固定的格式解析,然后通过循环就可以进行批量操作啦!

0 人点赞