itunes_transporter_generator 0.4.6 → 0.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +199 -55
  3. data/example/config.yaml +69 -18
  4. data/example/test-h568-2@2x.png +0 -0
  5. data/example/test-h568@2x.png +0 -0
  6. data/example/test-ipad.png +0 -0
  7. data/example/test.png +0 -0
  8. data/example/test@2x.png +0 -0
  9. data/lib/itunes.rb +2 -2
  10. data/lib/itunes/transporter.rb +30 -10
  11. data/lib/itunes/transporter/commands/package.rb +2 -1
  12. data/lib/itunes/transporter/generator.rb +6 -4
  13. metadata +12 -85
  14. data/doc/Itunes.html +0 -198
  15. data/doc/Itunes/Transporter.html +0 -380
  16. data/doc/Itunes/Transporter/Achievement.html +0 -165
  17. data/doc/Itunes/Transporter/AchievementLocale.html +0 -165
  18. data/doc/Itunes/Transporter/Generator.html +0 -700
  19. data/doc/Itunes/Transporter/Helpers.html +0 -427
  20. data/doc/Itunes/Transporter/InAppPurchase.html +0 -165
  21. data/doc/Itunes/Transporter/Interval.html +0 -165
  22. data/doc/Itunes/Transporter/Leaderboard.html +0 -165
  23. data/doc/Itunes/Transporter/LeaderboardLocale.html +0 -165
  24. data/doc/Itunes/Transporter/Locale.html +0 -256
  25. data/doc/Itunes/Transporter/Product.html +0 -165
  26. data/doc/Itunes/Transporter/PurchaseLocale.html +0 -165
  27. data/doc/Object.html +0 -307
  28. data/doc/Rakefile.html +0 -112
  29. data/doc/bin/itmsp.html +0 -60
  30. data/doc/created.rid +0 -16
  31. data/doc/example/achievements_rb.html +0 -54
  32. data/doc/example/in_app_purchases_rb.html +0 -54
  33. data/doc/example/leaderboards_rb.html +0 -54
  34. data/doc/example/test_rb.html +0 -54
  35. data/doc/images/brick.png +0 -0
  36. data/doc/images/brick_link.png +0 -0
  37. data/doc/images/bug.png +0 -0
  38. data/doc/images/bullet_black.png +0 -0
  39. data/doc/images/bullet_toggle_minus.png +0 -0
  40. data/doc/images/bullet_toggle_plus.png +0 -0
  41. data/doc/images/date.png +0 -0
  42. data/doc/images/find.png +0 -0
  43. data/doc/images/loadingAnimation.gif +0 -0
  44. data/doc/images/macFFBgHack.png +0 -0
  45. data/doc/images/package.png +0 -0
  46. data/doc/images/page_green.png +0 -0
  47. data/doc/images/page_white_text.png +0 -0
  48. data/doc/images/page_white_width.png +0 -0
  49. data/doc/images/plugin.png +0 -0
  50. data/doc/images/ruby.png +0 -0
  51. data/doc/images/tag_green.png +0 -0
  52. data/doc/images/wrench.png +0 -0
  53. data/doc/images/wrench_orange.png +0 -0
  54. data/doc/images/zoom.png +0 -0
  55. data/doc/index.html +0 -110
  56. data/doc/js/darkfish.js +0 -116
  57. data/doc/js/jquery.js +0 -32
  58. data/doc/js/quicksearch.js +0 -114
  59. data/doc/js/thickbox-compressed.js +0 -10
  60. data/doc/lib/itunes/transporter/achievement_rb.html +0 -52
  61. data/doc/lib/itunes/transporter/commands/package_rb.html +0 -54
  62. data/doc/lib/itunes/transporter/commands_rb.html +0 -56
  63. data/doc/lib/itunes/transporter/generator_rb.html +0 -58
  64. data/doc/lib/itunes/transporter/helpers_rb.html +0 -60
  65. data/doc/lib/itunes/transporter/in_app_purchase_rb.html +0 -52
  66. data/doc/lib/itunes/transporter/leaderboard_rb.html +0 -54
  67. data/doc/lib/itunes/transporter/locale_rb.html +0 -52
  68. data/doc/lib/itunes_rb.html +0 -52
  69. data/doc/rdoc.css +0 -763
  70. data/example/config copy.yaml +0 -75
  71. data/example/metadata.xml +0 -227
  72. data/example/sample sku.itmsp/achievement_first_achievement_test.jpg +0 -0
  73. data/example/sample sku.itmsp/en-US_1_iOS-3.5-in_test.jpg +0 -0
  74. data/example/sample sku.itmsp/en-US_1_iOS-4-in_test.jpg +0 -0
  75. data/example/sample sku.itmsp/en-US_1_iOS-iPad_test.jpg +0 -0
  76. data/example/sample sku.itmsp/iap_Sample_Product_Group_test.jpg +0 -0
  77. data/example/sample sku.itmsp/iap_another_level_test.jpg +0 -0
  78. data/example/sample sku.itmsp/iap_new_level_test.jpg +0 -0
  79. data/example/sample sku.itmsp/iap_one_hundred_dollars_test.jpg +0 -0
  80. data/example/sample sku.itmsp/leaderboard_top_scores_en_test.jpg +0 -0
  81. data/example/sample sku.itmsp/metadata.xml +0 -227
  82. data/example/test.jpg +0 -0
  83. data/itunes_transporter_generator.sublime-project +0 -8
  84. data/itunes_transporter_generator.sublime-workspace +0 -407
  85. data/metadata.xml +0 -34
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9506c1671c5b2bc24941d82e2fb87690df8f3e43
4
+ data.tar.gz: f61fb7019a6825baf081bf7474b4b6bc454a7c75
5
+ SHA512:
6
+ metadata.gz: 007f7e3b81fe0d08205bf23a02c4ac060ecb57eeda54835268482bec69656a55b34638d3e4a985135dd397a31315cb6e52376a1ab579bf1a228b7f7e67271e5f
7
+ data.tar.gz: 88803d1830f5dc03e5244d2c134398259e8d623297bcf8efc87ac15839deb548f89dd68450f2aecfaeb14ee13d87f1ed418f55d1d86d6c8f505f43d952f6f194
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # itunes_transporter_generator [![Gem Version](https://badge.fury.io/rb/itunes_transporter_generator.png)](http://badge.fury.io/rb/itunes_transporter_generator)
2
2
  **CLI for generating and packaging app store assets for Game Center and In-App Purchases**
3
3
 
4
- Apple recently released their Transporter app (http://bit.ly/UcEhAh) which is a handy way to manage your App Store Packages (.itmsp) instead of having to input achievements, leaderboards, and in-app purchases through iTunes Connect. Unfortunately, there isn't an easy way to generate these packages. Why write XML by hand and deal with the hassle of calculating MD5 and file sizes? Why not define your Game Center and In-App Purchases in a simple format and have your App Store Package generated for you?
4
+ Apple recently released their Transporter app (http://bit.ly/UcEhAh) which is a handy way to manage your App Store Packages (.itmsp) instead of having to input version information, achievements, leaderboards, and in-app purchases through iTunes Connect. Unfortunately, there isn't an easy way to generate these packages. Why write XML by hand and deal with the hassle of calculating MD5 and file sizes? Why not define your Game Center and In-App Purchases in a simple format and have your App Store Package generated for you?
5
5
 
6
6
  ## Installation
7
7
  ```sh
@@ -14,27 +14,31 @@ $ gem install itunes_transporter_generator
14
14
  First, you'll need to be familiar with the app metadata specification, available from the bottom navigation in the Manage Your Applications section of iTunes Connect, which outlines all the possible information describing an achievement, leaderboard, or in-app purchase.
15
15
 
16
16
  ### Describe your application metadata
17
- Next, you'll need to create a YAML file describing your company information and achievement, leaderboard, and/or in-app purchase details. The beauty of describing your app store assets in YAML is no hand writing XML making it understandable at a glance, and you can store your configuration in source control.
17
+ Next, you'll need to create a YAML file describing your company information, locale-specific version information, and achievement, leaderboard, and/or in-app purchase details. The beauty of describing your app store assets in YAML is no hand writing XML making it understandable at a glance, and you can store your configuration in source control.
18
18
 
19
19
  ### Generate the .itmsp
20
20
  This is as simple as running the following command in the folder containing your YAML config file and all referenced images.
21
21
 
22
22
  ```sh
23
- $ itmsp package -i <configuration file>
23
+ $ itmsp package -i <configuration file> --[no-]prefix-images
24
24
  ```
25
25
 
26
+ #### Options
27
+ - ```-i / --input``` Required. Specified the config YAML used to generate the itmsp package
28
+ - ```--[no-]prefix-images``` Options. False, if not specified. If true, all images specified will be prefixed with the locale, display target, and type (achievement, IAP, leaderboard) as appropriate
29
+
26
30
  ### That's It!
27
31
  You can now upload your .itmsp package to iTunes Connect using the Transporter tool. Alternatively, there is another great open-source tool which wraps some of the complexities of running Transporter directly (https://github.com/sshaw/itunes_store_transporter)
28
32
 
29
33
  ## Sample Config file
30
- Below is a sample configuration file describing an achievement, leaderboard, and in-app purchase. The specific metadata required for each item type is fully described in the [App Metadata Specification guide](http://bit.ly/TtHMF6)
34
+ Below is a sample configuration file describing an app version for the en-US and fi locale, achievement, leaderboard, and different types of in-app purchases. The specific metadata required for each item type is fully described in the [App Metadata Specification guide](http://bit.ly/TtHMF6)
31
35
 
32
36
  IMPORTANT: please note the syntax for multiline descriptions with extra line breaks. This is the literal syntax for [YAML used for multiline strings](http://www.yaml.org/YAML_for_ruby.html#extra_trailing_newlines_with_spaces). Also note the indentation.
33
37
 
34
38
  ```yaml
35
39
  provider: SampleCompany # optional if team_id is supplied
36
40
  team_id: ABCDE12345 # optional if provider is supplied
37
- vendor_id: sample sku # the application's SKU as defined in iTunes Connect
41
+ vendor_id: sample-sku # the application's SKU as defined in iTunes Connect
38
42
  id_prefix: com.samplecompany.applicationname. # if supplied, this will be prefixed to achievement, leaderboard, and in-app purchase IDs
39
43
  versions:
40
44
  - name: 1.1.3.1
@@ -52,17 +56,43 @@ versions:
52
56
  Version Whats New. extra
53
57
  line
54
58
  breaks
55
-
59
+
60
+ software_url: 'http://example.com'
61
+ privacy_url: 'http://example.com'
62
+ support_url: 'http://example.com'
63
+ screenshots:
64
+ iphone_4in:
65
+ - 'test-h568@2x.png'
66
+ - 'test-h568-2@2x.png'
67
+ iphone_3.5in:
68
+ - 'test.png'
69
+ ipad:
70
+ - 'test-ipad.png'
71
+ - name: fi
72
+ title: sampleApp-FI
73
+ description: |+
74
+ Description of sampleApp. This description
75
+ spans multiple lines using the pipe
76
+ characters. All newlines are preserved.-FI
77
+ keywords:
78
+ - Sample-FI
79
+ - App-FI
80
+ version_whats_new: |+
81
+ Version Whats New. extra
82
+ line
83
+ breaks
84
+
56
85
  software_url: 'http://example.com'
57
86
  privacy_url: 'http://example.com'
58
87
  support_url: 'http://example.com'
59
88
  screenshots:
60
89
  iphone_4in:
61
- - 'test.jpg'
90
+ - 'test-h568@2x.png'
91
+ - 'test-h568-2@2x.png'
62
92
  iphone_3.5in:
63
- - 'test.jpg'
93
+ - 'test.png'
64
94
  ipad:
65
- - 'test.jpg'
95
+ - 'test-ipad.png'
66
96
  achievements: # the order in which achievements are defined will be the order in which they appear in Game Center
67
97
  - id: first_achievement
68
98
  name: First Achievement
@@ -72,10 +102,15 @@ achievements: # the order in which achievements are defined will be the order in
72
102
  title: First Achievement
73
103
  before_earned_description: Complete a task
74
104
  after_earned_description: Completed a task
75
- achievement_after_earned_image: test.jpg
105
+ achievement_after_earned_image: test.png
106
+ - name: fi
107
+ title: First Achievement-FI
108
+ before_earned_description: Complete a task-FI
109
+ after_earned_description: Completed a task-FI
110
+ achievement_after_earned_image: test.png
76
111
 
77
112
  leaderboards: # the order in which leaderboards are defined will be the order in which they appear in Game Center
78
- - default: true # only one leaderboard can be set as default.
113
+ - default: true # only one leaderboard can be set as default.
79
114
  id: top_scores
80
115
  name: Top Scores
81
116
  locales:
@@ -84,13 +119,20 @@ leaderboards: # the order in which leaderboards are defined will be the order in
84
119
  formatter_suffix: ' Points' # note the space. This must be provided if you want a space between the value and suffix
85
120
  formatter_suffix_singular: ' Point'
86
121
  formatter_type: INTEGER_COMMA_SEPARATOR
87
- leaderboard_image: test.jpg
122
+ leaderboard_image: test.png
123
+ - name: fi
124
+ title: Top Scores-FI
125
+ formatter_suffix: ' Points' # note the space. This must be provided if you want a space between the value and suffix
126
+ formatter_suffix_singular: ' Point'
127
+ formatter_type: INTEGER_COMMA_SEPARATOR
128
+ leaderboard_image: test.png
88
129
 
89
130
  purchases:
90
131
  auto_renewable_purchases:
91
132
  family:
92
133
  name: Sample Product Group
93
- review_screenshot_image: test.jpg
134
+ review_screenshot_image: test.png
135
+ review_notes: 'Review notes!'
94
136
  purchases:
95
137
  - product_id: six_month_subscription
96
138
  type: auto-renewable # products in a family group must be of auto-renewable type and be the same product but with different durations
@@ -110,57 +152,71 @@ purchases:
110
152
  title: Sample Product Group
111
153
  description: All your products in this sample group
112
154
  publication_name: Sample Product Group
155
+ - name: fi
156
+ title: Sample Product Group-FI
157
+ description: All your products in this sample group-FI
158
+ publication_name: Sample Product Group-FI
113
159
  other_purchases:
114
160
  - product_id: one_hundred_dollars
115
161
  reference_name: 100 dollars
116
162
  type: consumable
117
- review_screenshot_image: test.jpg
163
+ review_screenshot_image: test.png
118
164
  cleared_for_sale: true
119
- wholesale_price_tier: 1 # pricing tier matrix is available in Exhibit C of the iOS Paid Applications contract in the Contracts, Tax, and Banking section of iTunes Connect
165
+ wholesale_price_tier: 1 # pricing tier matrix is available in Exhibit C of the iOS Paid Applications contract in the Contracts, Tax, and Banking section of iTunes Connect
120
166
  locales:
121
167
  - name: en
122
168
  title: $100
123
169
  description: An extra $100 for you
170
+ - name: fi
171
+ title: $100-FI
172
+ description: An extra $100 for you-FI
124
173
  - product_id: new_level
125
174
  reference_name: Unlocks a new level
126
175
  type: non-consumable
127
- review_screenshot_image: test.jpg
176
+ review_screenshot_image: test.png
128
177
  cleared_for_sale: true
129
178
  intervals:
130
179
  - start_date: 2013-01-31
131
180
  end_date: 2013-02-28
132
181
  wholesale_price_tier: 3
133
- - start_date: 2013-03-01
134
- end_date: 2013-05-15
135
- wholesale_price_tier: 3
182
+ - start_date: 2013-03-01 # no end date specified. The price will not change after this point.
183
+ wholesale_price_tier: 2
136
184
  locales:
137
185
  - name: en
138
186
  title: Unlocks a new level
139
187
  description: Try your luck at this new level
188
+ - name: fi
189
+ title: Unlocks a new level-FI
190
+ description: Try your luck at this new level-FI
140
191
  - product_id: another_level
141
192
  reference_name: Unlocks another new level
142
193
  type: non-consumable
143
- review_screenshot_image: test.jpg
194
+ review_screenshot_image: test.png
144
195
  cleared_for_sale: true
145
196
  intervals:
146
- - end_date: 2013-08-13
197
+ - start_date: 2013-08-01
198
+ end_date: 2013-08-13
147
199
  wholesale_price_tier: 3
148
200
  - start_date: 2013-08-14
149
- wholesale_price_tier: 3
201
+ wholesale_price_tier: 2
150
202
  locales:
151
203
  - name: en
152
204
  title: Unlocks a new level
153
205
  description: Try your luck at this new level
206
+ - name: fi
207
+ title: Unlocks a new level-FI
208
+ description: Try your luck at this new level-FI
209
+
154
210
  ```
155
211
 
156
- This configuration will generate the following metadata.xml:
212
+ This configuration will generate the following metadata.xml if run with the --no-prefix-images option.
157
213
  ```xml
158
214
  <?xml version="1.0" encoding="UTF-8"?>
159
215
  <package xmlns="http://apple.com/itunes/importer" version="software5.1">
160
216
  <provider>SampleCompany</provider>
161
217
  <team_id>ABCDE12345</team_id>
162
218
  <software>
163
- <vendor_id>sample sku</vendor_id>
219
+ <vendor_id>sample-sku</vendor_id>
164
220
  <software_metadata>
165
221
  <versions>
166
222
  <version string="1.1.3.1">
@@ -189,19 +245,69 @@ breaks
189
245
  <support_url>http://example.com</support_url>
190
246
  <software_screenshots>
191
247
  <software_screenshot display_target="iOS-4-in" position="1">
192
- <file_name>1_iOS-4-in_test.jpg</file_name>
193
- <size>20092</size>
194
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
248
+ <file_name>test-h568@2x.png</file_name>
249
+ <size>15580</size>
250
+ <checksum type="md5">87c19e9afd9bb2f0deee5d08233c7473</checksum>
251
+ </software_screenshot>
252
+ <software_screenshot display_target="iOS-4-in" position="2">
253
+ <file_name>test-h568-2@2x.png</file_name>
254
+ <size>17003</size>
255
+ <checksum type="md5">3d3cd97260a3d61c0384127979253c5a</checksum>
195
256
  </software_screenshot>
196
257
  <software_screenshot display_target="iOS-3.5-in" position="1">
197
- <file_name>1_iOS-3.5-in_test.jpg</file_name>
198
- <size>20092</size>
199
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
258
+ <file_name>test.png</file_name>
259
+ <size>147834</size>
260
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
200
261
  </software_screenshot>
201
262
  <software_screenshot display_target="iOS-iPad" position="1">
202
- <file_name>1_iOS-iPad_test.jpg</file_name>
203
- <size>20092</size>
204
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
263
+ <file_name>test-ipad.png</file_name>
264
+ <size>49743</size>
265
+ <checksum type="md5">88755b5603befa4d7ce81dea5d9bc035</checksum>
266
+ </software_screenshot>
267
+ </software_screenshots>
268
+ </locale>
269
+ <locale name="fi">
270
+ <title>sampleApp-FI</title>
271
+ <description>
272
+ <![CDATA[Description of sampleApp. This description
273
+ spans multiple lines using the pipe
274
+ characters. All newlines are preserved.-FI
275
+ ]]>
276
+ </description>
277
+ <keywords>
278
+ <keyword>Sample-FI</keyword>
279
+ <keyword>App-FI</keyword>
280
+ </keywords>
281
+ <version_whats_new>
282
+ <![CDATA[Version Whats New. extra
283
+ line
284
+ breaks
285
+
286
+ ]]>
287
+ </version_whats_new>
288
+ <software_url>http://example.com</software_url>
289
+ <privacy_url>http://example.com</privacy_url>
290
+ <support_url>http://example.com</support_url>
291
+ <software_screenshots>
292
+ <software_screenshot display_target="iOS-4-in" position="1">
293
+ <file_name>test-h568@2x.png</file_name>
294
+ <size>15580</size>
295
+ <checksum type="md5">87c19e9afd9bb2f0deee5d08233c7473</checksum>
296
+ </software_screenshot>
297
+ <software_screenshot display_target="iOS-4-in" position="2">
298
+ <file_name>test-h568-2@2x.png</file_name>
299
+ <size>17003</size>
300
+ <checksum type="md5">3d3cd97260a3d61c0384127979253c5a</checksum>
301
+ </software_screenshot>
302
+ <software_screenshot display_target="iOS-3.5-in" position="1">
303
+ <file_name>test.png</file_name>
304
+ <size>147834</size>
305
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
306
+ </software_screenshot>
307
+ <software_screenshot display_target="iOS-iPad" position="1">
308
+ <file_name>test-ipad.png</file_name>
309
+ <size>49743</size>
310
+ <checksum type="md5">88755b5603befa4d7ce81dea5d9bc035</checksum>
205
311
  </software_screenshot>
206
312
  </software_screenshots>
207
313
  </locale>
@@ -222,9 +328,19 @@ breaks
222
328
  <before_earned_description>Complete a task</before_earned_description>
223
329
  <after_earned_description>Completed a task</after_earned_description>
224
330
  <achievement_after_earned_image>
225
- <file_name>achievement_first_achievement_test.jpg</file_name>
226
- <size>20092</size>
227
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
331
+ <file_name>test.png</file_name>
332
+ <size>147834</size>
333
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
334
+ </achievement_after_earned_image>
335
+ </locale>
336
+ <locale name="fi">
337
+ <title>First Achievement-FI</title>
338
+ <before_earned_description>Complete a task-FI</before_earned_description>
339
+ <after_earned_description>Completed a task-FI</after_earned_description>
340
+ <achievement_after_earned_image>
341
+ <file_name>test.png</file_name>
342
+ <size>147834</size>
343
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
228
344
  </achievement_after_earned_image>
229
345
  </locale>
230
346
  </locales>
@@ -242,9 +358,20 @@ breaks
242
358
  <formatter_suffix_singular> Point</formatter_suffix_singular>
243
359
  <formatter_type>INTEGER_COMMA_SEPARATOR</formatter_type>
244
360
  <leaderboard_image>
245
- <file_name>leaderboard_top_scores_en_test.jpg</file_name>
246
- <size>20092</size>
247
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
361
+ <file_name>test.png</file_name>
362
+ <size>147834</size>
363
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
364
+ </leaderboard_image>
365
+ </locale>
366
+ <locale name="fi">
367
+ <title>Top Scores-FI</title>
368
+ <formatter_suffix> Points</formatter_suffix>
369
+ <formatter_suffix_singular> Point</formatter_suffix_singular>
370
+ <formatter_type>INTEGER_COMMA_SEPARATOR</formatter_type>
371
+ <leaderboard_image>
372
+ <file_name>test.png</file_name>
373
+ <size>147834</size>
374
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
248
375
  </leaderboard_image>
249
376
  </locale>
250
377
  </locales>
@@ -259,13 +386,18 @@ breaks
259
386
  <description>All your products in this sample group</description>
260
387
  <publication_name>Sample Product Group</publication_name>
261
388
  </locale>
389
+ <locale name="fi">
390
+ <title>Sample Product Group-FI</title>
391
+ <description>All your products in this sample group-FI</description>
392
+ <publication_name>Sample Product Group-FI</publication_name>
393
+ </locale>
262
394
  </locales>
263
395
  <review_screenshot>
264
- <file_name>iap_Sample_Product_Group_test.jpg</file_name>
265
- <size>20092</size>
266
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
396
+ <file_name>test.png</file_name>
397
+ <size>147834</size>
398
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
267
399
  </review_screenshot>
268
- <review_notes/>
400
+ <review_notes>Review notes!</review_notes>
269
401
  <in_app_purchase>
270
402
  <product_id>com.samplecompany.applicationname.six_month_subscription</product_id>
271
403
  <duration>6 Months</duration>
@@ -307,11 +439,15 @@ breaks
307
439
  <title>$100</title>
308
440
  <description>An extra $100 for you</description>
309
441
  </locale>
442
+ <locale name="fi">
443
+ <title>$100-FI</title>
444
+ <description>An extra $100 for you-FI</description>
445
+ </locale>
310
446
  </locales>
311
447
  <review_screenshot>
312
- <file_name>iap_one_hundred_dollars_test.jpg</file_name>
313
- <size>20092</size>
314
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
448
+ <file_name>test.png</file_name>
449
+ <size>147834</size>
450
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
315
451
  </review_screenshot>
316
452
  </in_app_purchase>
317
453
  <in_app_purchase>
@@ -329,8 +465,7 @@ breaks
329
465
  </interval>
330
466
  <interval>
331
467
  <start_date>2013-03-01</start_date>
332
- <end_date>2013-05-15</end_date>
333
- <wholesale_price_tier>3</wholesale_price_tier>
468
+ <wholesale_price_tier>2</wholesale_price_tier>
334
469
  </interval>
335
470
  </intervals>
336
471
  </product>
@@ -340,11 +475,15 @@ breaks
340
475
  <title>Unlocks a new level</title>
341
476
  <description>Try your luck at this new level</description>
342
477
  </locale>
478
+ <locale name="fi">
479
+ <title>Unlocks a new level-FI</title>
480
+ <description>Try your luck at this new level-FI</description>
481
+ </locale>
343
482
  </locales>
344
483
  <review_screenshot>
345
- <file_name>iap_new_level_test.jpg</file_name>
346
- <size>20092</size>
347
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
484
+ <file_name>test.png</file_name>
485
+ <size>147834</size>
486
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
348
487
  </review_screenshot>
349
488
  </in_app_purchase>
350
489
  <in_app_purchase>
@@ -356,12 +495,13 @@ breaks
356
495
  <cleared_for_sale>true</cleared_for_sale>
357
496
  <intervals>
358
497
  <interval>
498
+ <start_date>2013-08-01</start_date>
359
499
  <end_date>2013-08-13</end_date>
360
500
  <wholesale_price_tier>3</wholesale_price_tier>
361
501
  </interval>
362
502
  <interval>
363
503
  <start_date>2013-08-14</start_date>
364
- <wholesale_price_tier>3</wholesale_price_tier>
504
+ <wholesale_price_tier>2</wholesale_price_tier>
365
505
  </interval>
366
506
  </intervals>
367
507
  </product>
@@ -371,11 +511,15 @@ breaks
371
511
  <title>Unlocks a new level</title>
372
512
  <description>Try your luck at this new level</description>
373
513
  </locale>
514
+ <locale name="fi">
515
+ <title>Unlocks a new level-FI</title>
516
+ <description>Try your luck at this new level-FI</description>
517
+ </locale>
374
518
  </locales>
375
519
  <review_screenshot>
376
- <file_name>iap_another_level_test.jpg</file_name>
377
- <size>20092</size>
378
- <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
520
+ <file_name>test.png</file_name>
521
+ <size>147834</size>
522
+ <checksum type="md5">5db692abb9ae13bbb621cba672319ad9</checksum>
379
523
  </review_screenshot>
380
524
  </in_app_purchase>
381
525
  </in_app_purchases>
data/example/config.yaml CHANGED
@@ -1,6 +1,6 @@
1
1
  provider: SampleCompany # optional if team_id is supplied
2
2
  team_id: ABCDE12345 # optional if provider is supplied
3
- vendor_id: sample sku # the application's SKU as defined in iTunes Connect
3
+ vendor_id: sample-sku # the application's SKU as defined in iTunes Connect
4
4
  id_prefix: com.samplecompany.applicationname. # if supplied, this will be prefixed to achievement, leaderboard, and in-app purchase IDs
5
5
  versions:
6
6
  - name: 1.1.3.1
@@ -18,17 +18,43 @@ versions:
18
18
  Version Whats New. extra
19
19
  line
20
20
  breaks
21
-
21
+
22
+ software_url: 'http://example.com'
23
+ privacy_url: 'http://example.com'
24
+ support_url: 'http://example.com'
25
+ screenshots:
26
+ iphone_4in:
27
+ - 'test-h568@2x.png'
28
+ - 'test-h568-2@2x.png'
29
+ iphone_3.5in:
30
+ - 'test.png'
31
+ ipad:
32
+ - 'test-ipad.png'
33
+ - name: fi
34
+ title: sampleApp-FI
35
+ description: |+
36
+ Description of sampleApp. This description
37
+ spans multiple lines using the pipe
38
+ characters. All newlines are preserved.-FI
39
+ keywords:
40
+ - Sample-FI
41
+ - App-FI
42
+ version_whats_new: |+
43
+ Version Whats New. extra
44
+ line
45
+ breaks
46
+
22
47
  software_url: 'http://example.com'
23
48
  privacy_url: 'http://example.com'
24
49
  support_url: 'http://example.com'
25
50
  screenshots:
26
51
  iphone_4in:
27
- - 'test.jpg'
52
+ - 'test-h568@2x.png'
53
+ - 'test-h568-2@2x.png'
28
54
  iphone_3.5in:
29
- - 'test.jpg'
55
+ - 'test.png'
30
56
  ipad:
31
- - 'test.jpg'
57
+ - 'test-ipad.png'
32
58
  achievements: # the order in which achievements are defined will be the order in which they appear in Game Center
33
59
  - id: first_achievement
34
60
  name: First Achievement
@@ -38,10 +64,15 @@ achievements: # the order in which achievements are defined will be the order in
38
64
  title: First Achievement
39
65
  before_earned_description: Complete a task
40
66
  after_earned_description: Completed a task
41
- achievement_after_earned_image: test.jpg
67
+ achievement_after_earned_image: test.png
68
+ - name: fi
69
+ title: First Achievement-FI
70
+ before_earned_description: Complete a task-FI
71
+ after_earned_description: Completed a task-FI
72
+ achievement_after_earned_image: test.png
42
73
 
43
74
  leaderboards: # the order in which leaderboards are defined will be the order in which they appear in Game Center
44
- - default: true # only one leaderboard can be set as default.
75
+ - default: true # only one leaderboard can be set as default.
45
76
  id: top_scores
46
77
  name: Top Scores
47
78
  locales:
@@ -50,13 +81,20 @@ leaderboards: # the order in which leaderboards are defined will be the order in
50
81
  formatter_suffix: ' Points' # note the space. This must be provided if you want a space between the value and suffix
51
82
  formatter_suffix_singular: ' Point'
52
83
  formatter_type: INTEGER_COMMA_SEPARATOR
53
- leaderboard_image: test.jpg
84
+ leaderboard_image: test.png
85
+ - name: fi
86
+ title: Top Scores-FI
87
+ formatter_suffix: ' Points' # note the space. This must be provided if you want a space between the value and suffix
88
+ formatter_suffix_singular: ' Point'
89
+ formatter_type: INTEGER_COMMA_SEPARATOR
90
+ leaderboard_image: test.png
54
91
 
55
92
  purchases:
56
93
  auto_renewable_purchases:
57
94
  family:
58
95
  name: Sample Product Group
59
- review_screenshot_image: test.jpg
96
+ review_screenshot_image: test.png
97
+ review_notes: 'Review notes!'
60
98
  purchases:
61
99
  - product_id: six_month_subscription
62
100
  type: auto-renewable # products in a family group must be of auto-renewable type and be the same product but with different durations
@@ -76,44 +114,57 @@ purchases:
76
114
  title: Sample Product Group
77
115
  description: All your products in this sample group
78
116
  publication_name: Sample Product Group
117
+ - name: fi
118
+ title: Sample Product Group-FI
119
+ description: All your products in this sample group-FI
120
+ publication_name: Sample Product Group-FI
79
121
  other_purchases:
80
122
  - product_id: one_hundred_dollars
81
123
  reference_name: 100 dollars
82
124
  type: consumable
83
- review_screenshot_image: test.jpg
125
+ review_screenshot_image: test.png
84
126
  cleared_for_sale: true
85
- wholesale_price_tier: 1 # pricing tier matrix is available in Exhibit C of the iOS Paid Applications contract in the Contracts, Tax, and Banking section of iTunes Connect
127
+ wholesale_price_tier: 1 # pricing tier matrix is available in Exhibit C of the iOS Paid Applications contract in the Contracts, Tax, and Banking section of iTunes Connect
86
128
  locales:
87
129
  - name: en
88
130
  title: $100
89
131
  description: An extra $100 for you
132
+ - name: fi
133
+ title: $100-FI
134
+ description: An extra $100 for you-FI
90
135
  - product_id: new_level
91
136
  reference_name: Unlocks a new level
92
137
  type: non-consumable
93
- review_screenshot_image: test.jpg
138
+ review_screenshot_image: test.png
94
139
  cleared_for_sale: true
95
140
  intervals:
96
141
  - start_date: 2013-01-31
97
142
  end_date: 2013-02-28
98
143
  wholesale_price_tier: 3
99
- - start_date: 2013-03-01
100
- end_date: 2013-05-15
101
- wholesale_price_tier: 3
144
+ - start_date: 2013-03-01 # no end date specified. The price will not change after this point.
145
+ wholesale_price_tier: 2
102
146
  locales:
103
147
  - name: en
104
148
  title: Unlocks a new level
105
149
  description: Try your luck at this new level
150
+ - name: fi
151
+ title: Unlocks a new level-FI
152
+ description: Try your luck at this new level-FI
106
153
  - product_id: another_level
107
154
  reference_name: Unlocks another new level
108
155
  type: non-consumable
109
- review_screenshot_image: test.jpg
156
+ review_screenshot_image: test.png
110
157
  cleared_for_sale: true
111
158
  intervals:
112
- - end_date: 2013-08-13
159
+ - start_date: 2013-08-01
160
+ end_date: 2013-08-13
113
161
  wholesale_price_tier: 3
114
162
  - start_date: 2013-08-14
115
- wholesale_price_tier: 3
163
+ wholesale_price_tier: 2
116
164
  locales:
117
165
  - name: en
118
166
  title: Unlocks a new level
119
167
  description: Try your luck at this new level
168
+ - name: fi
169
+ title: Unlocks a new level-FI
170
+ description: Try your luck at this new level-FI