itunes_transporter_generator 0.2 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/Gemfile +3 -0
  2. data/LICENSE +19 -0
  3. data/README.md +250 -52
  4. data/doc/Itunes.html +198 -0
  5. data/doc/Itunes/Transporter.html +380 -0
  6. data/doc/Itunes/Transporter/Achievement.html +165 -0
  7. data/doc/Itunes/Transporter/AchievementLocale.html +165 -0
  8. data/doc/Itunes/Transporter/Generator.html +700 -0
  9. data/doc/Itunes/Transporter/Helpers.html +427 -0
  10. data/doc/Itunes/Transporter/InAppPurchase.html +165 -0
  11. data/doc/Itunes/Transporter/Interval.html +165 -0
  12. data/doc/Itunes/Transporter/Leaderboard.html +165 -0
  13. data/doc/Itunes/Transporter/LeaderboardLocale.html +165 -0
  14. data/doc/Itunes/Transporter/Locale.html +256 -0
  15. data/doc/Itunes/Transporter/Product.html +165 -0
  16. data/doc/Itunes/Transporter/PurchaseLocale.html +165 -0
  17. data/doc/Object.html +307 -0
  18. data/doc/Rakefile.html +112 -0
  19. data/doc/bin/itmsp.html +60 -0
  20. data/doc/created.rid +16 -0
  21. data/doc/example/achievements_rb.html +54 -0
  22. data/doc/example/in_app_purchases_rb.html +54 -0
  23. data/doc/example/leaderboards_rb.html +54 -0
  24. data/doc/example/test_rb.html +54 -0
  25. data/doc/images/brick.png +0 -0
  26. data/doc/images/brick_link.png +0 -0
  27. data/doc/images/bug.png +0 -0
  28. data/doc/images/bullet_black.png +0 -0
  29. data/doc/images/bullet_toggle_minus.png +0 -0
  30. data/doc/images/bullet_toggle_plus.png +0 -0
  31. data/doc/images/date.png +0 -0
  32. data/doc/images/find.png +0 -0
  33. data/doc/images/loadingAnimation.gif +0 -0
  34. data/doc/images/macFFBgHack.png +0 -0
  35. data/doc/images/package.png +0 -0
  36. data/doc/images/page_green.png +0 -0
  37. data/doc/images/page_white_text.png +0 -0
  38. data/doc/images/page_white_width.png +0 -0
  39. data/doc/images/plugin.png +0 -0
  40. data/doc/images/ruby.png +0 -0
  41. data/doc/images/tag_green.png +0 -0
  42. data/doc/images/wrench.png +0 -0
  43. data/doc/images/wrench_orange.png +0 -0
  44. data/doc/images/zoom.png +0 -0
  45. data/doc/index.html +110 -0
  46. data/doc/js/darkfish.js +116 -0
  47. data/doc/js/jquery.js +32 -0
  48. data/doc/js/quicksearch.js +114 -0
  49. data/doc/js/thickbox-compressed.js +10 -0
  50. data/doc/lib/itunes/transporter/achievement_rb.html +52 -0
  51. data/doc/lib/itunes/transporter/commands/package_rb.html +54 -0
  52. data/doc/lib/itunes/transporter/commands_rb.html +56 -0
  53. data/doc/lib/itunes/transporter/generator_rb.html +58 -0
  54. data/doc/lib/itunes/transporter/helpers_rb.html +60 -0
  55. data/doc/lib/itunes/transporter/in_app_purchase_rb.html +52 -0
  56. data/doc/lib/itunes/transporter/leaderboard_rb.html +54 -0
  57. data/doc/lib/itunes/transporter/locale_rb.html +52 -0
  58. data/doc/lib/itunes_rb.html +52 -0
  59. data/doc/rdoc.css +763 -0
  60. data/example/config copy.yaml +75 -0
  61. data/example/config.yaml +109 -4
  62. data/example/metadata.xml +201 -0
  63. data/example/sample sku.itmsp/metadata.xml +201 -0
  64. data/example/sample sku.itmsp/test.jpg +0 -0
  65. data/itmsp.gemspec +8 -4
  66. data/lib/itunes.rb +2 -2
  67. data/lib/itunes/transporter.rb +75 -0
  68. data/lib/itunes/transporter/commands.rb +1 -1
  69. data/lib/itunes/transporter/commands/package.rb +12 -9
  70. data/lib/itunes/transporter/generator.rb +291 -191
  71. data/lib/itunes/transporter/helpers.rb +236 -139
  72. data/lib/itunes/transporter/in_app_purchase.rb +16 -23
  73. data/lib/itunes/transporter/leaderboard.rb +0 -36
  74. data/lib/itunes/transporter/locale.rb +11 -11
  75. metadata +81 -7
  76. data/example/achievements.rb +0 -11
  77. data/example/in_app_purchases.rb +0 -9
  78. data/example/leaderboards.rb +0 -12
  79. data/example/test.rb +0 -5
  80. data/lib/itunes/transporter/achievement.rb +0 -9
@@ -0,0 +1,75 @@
1
+ provider: SampleCompany # optional if team_id is supplied
2
+ team_id: ABCDE12345 # optional if provider is supplied
3
+ vendor_id: 12345 # the application's SKU as definied in iTunes Connect
4
+ id_prefix: com.samplecompany.applicationname. # if supplied, this will be prefixed to achievement, leaderboard, and in-app purchase IDs
5
+ achievements: # the order in which achievements are defined will be the order in which they appear in Game Center
6
+ - id: first_achievement
7
+ name: First Achievement
8
+ points: 10
9
+ locales:
10
+ - name: en
11
+ title: First Achievement
12
+ before_earned_description: Complete a task
13
+ after_earned_description: Completed a task
14
+ achievement_after_earned_image: test.jpg
15
+
16
+ leaderboards: # the order in which leaderboards are defined will be the order in which they appear in Game Center
17
+ - default: true # only one leaderboard can be set as default.
18
+ id: top_scores
19
+ name: Top Scores
20
+ locales:
21
+ - name: en
22
+ title: Top Scores
23
+ formatter_suffix: ' Points' # note the space. This must be provided if you want a space between the value and suffix
24
+ formatter_suffix_singular: ' Point'
25
+ formatter_type: INTEGER_COMMA_SEPARATOR
26
+ leaderboard_image: test.jpg
27
+
28
+ purchases:
29
+ auto_renewable_purchases:
30
+ family:
31
+ name: Sample Product Group
32
+ review_screenshot_image: test.jpg
33
+ purchases:
34
+ - product_id: six_month_subscription
35
+ type: auto-renewable # products in a family group must be of auto-renewable type and be the same product but with different durations
36
+ duration: 6 Months # specific values defined in the app metadata specification outline
37
+ free_trial_duration: 1 Month
38
+ bonus_duration: 1 Month
39
+ cleared_for_sale: true
40
+ wholesale_price_tier: 5
41
+ - product_id: one_year_subscription
42
+ type: auto-renewable # products in a family group must be of auto-renewable type and be the same product but with different durations
43
+ duration: 1 Year # specific values defined in the app metadata specification outline
44
+ bonus_duration: 2 Months
45
+ cleared_for_sale: true
46
+ wholesale_price_tier: 9
47
+ locales:
48
+ - name: en
49
+ title: Sample Product Group
50
+ description: All your products in this sample group
51
+ publication_name: Sample Product Group
52
+ other_purchases:
53
+ - product_id: one_hundred_dollars
54
+ reference_name: 100 dollars
55
+ type: consumable
56
+ review_screenshot_image: test.jpg
57
+ cleared_for_sale: true
58
+ 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
59
+ locales:
60
+ - name: en
61
+ title: $100
62
+ description: An extra $100 for you
63
+ - product_id: new_level
64
+ reference_name: Unlocks a new level
65
+ type: non-consumable
66
+ review_screenshot_image: test.jpg
67
+ cleared_for_sale: true
68
+ intervals:
69
+ - start_date: 2013-01-31
70
+ end_date: 2013-02-28
71
+ wholesale_price_tier: 3
72
+ locales:
73
+ - name: en
74
+ title: Unlocks a new level
75
+ description: Try your luck at this new level
data/example/config.yaml CHANGED
@@ -1,4 +1,109 @@
1
- id_prefix: 'com.company.product.'
2
- provider: 'Company Name'
3
- team_id: 'Team ID'
4
- vendor_id: 'Vendor ID'
1
+ provider: SampleCompany # optional if team_id is supplied
2
+ team_id: ABCDE12345 # optional if provider is supplied
3
+ vendor_id: sample sku # the application's SKU as defined in iTunes Connect
4
+ id_prefix: com.samplecompany.applicationname. # if supplied, this will be prefixed to achievement, leaderboard, and in-app purchase IDs
5
+ versions:
6
+ - name: 1.1.3.1
7
+ locales:
8
+ - name: en-US
9
+ title: sampleApp
10
+ description: Description of sampleApp.
11
+ keywords:
12
+ - Sample
13
+ - App
14
+ version_whats_new: Version Whats New.
15
+ software_url: 'http://example.com'
16
+ privacy_url: 'http://example.com'
17
+ support_url: 'http://example.com'
18
+ screenshots:
19
+ - display_target: 'iOS-3.5-in'
20
+ file_name: 'test.jpg'
21
+
22
+ achievements: # the order in which achievements are defined will be the order in which they appear in Game Center
23
+ - id: first_achievement
24
+ name: First Achievement
25
+ points: 10
26
+ locales:
27
+ - name: en
28
+ title: First Achievement
29
+ before_earned_description: Complete a task
30
+ after_earned_description: Completed a task
31
+ achievement_after_earned_image: test.jpg
32
+
33
+ leaderboards: # the order in which leaderboards are defined will be the order in which they appear in Game Center
34
+ - default: true # only one leaderboard can be set as default.
35
+ id: top_scores
36
+ name: Top Scores
37
+ locales:
38
+ - name: en
39
+ title: Top Scores
40
+ formatter_suffix: ' Points' # note the space. This must be provided if you want a space between the value and suffix
41
+ formatter_suffix_singular: ' Point'
42
+ formatter_type: INTEGER_COMMA_SEPARATOR
43
+ leaderboard_image: test.jpg
44
+
45
+ purchases:
46
+ auto_renewable_purchases:
47
+ family:
48
+ name: Sample Product Group
49
+ review_screenshot_image: test.jpg
50
+ purchases:
51
+ - product_id: six_month_subscription
52
+ type: auto-renewable # products in a family group must be of auto-renewable type and be the same product but with different durations
53
+ duration: 6 Months # specific values defined in the app metadata specification outline
54
+ free_trial_duration: 1 Month
55
+ bonus_duration: 1 Month
56
+ cleared_for_sale: true
57
+ wholesale_price_tier: 5
58
+ - product_id: one_year_subscription
59
+ type: auto-renewable # products in a family group must be of auto-renewable type and be the same product but with different durations
60
+ duration: 1 Year # specific values defined in the app metadata specification outline
61
+ bonus_duration: 2 Months
62
+ cleared_for_sale: true
63
+ wholesale_price_tier: 9
64
+ locales:
65
+ - name: en
66
+ title: Sample Product Group
67
+ description: All your products in this sample group
68
+ publication_name: Sample Product Group
69
+ other_purchases:
70
+ - product_id: one_hundred_dollars
71
+ reference_name: 100 dollars
72
+ type: consumable
73
+ review_screenshot_image: test.jpg
74
+ cleared_for_sale: true
75
+ 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
76
+ locales:
77
+ - name: en
78
+ title: $100
79
+ description: An extra $100 for you
80
+ - product_id: new_level
81
+ reference_name: Unlocks a new level
82
+ type: non-consumable
83
+ review_screenshot_image: test.jpg
84
+ cleared_for_sale: true
85
+ intervals:
86
+ - start_date: 2013-01-31
87
+ end_date: 2013-02-28
88
+ wholesale_price_tier: 3
89
+ - start_date: 2013-03-01
90
+ end_date: 2013-05-15
91
+ wholesale_price_tier: 3
92
+ locales:
93
+ - name: en
94
+ title: Unlocks a new level
95
+ description: Try your luck at this new level
96
+ - product_id: another_level
97
+ reference_name: Unlocks another new level
98
+ type: non-consumable
99
+ review_screenshot_image: test.jpg
100
+ cleared_for_sale: true
101
+ intervals:
102
+ - end_date: 2013-08-13
103
+ wholesale_price_tier: 3
104
+ - start_date: 2013-08-14
105
+ wholesale_price_tier: 3
106
+ locales:
107
+ - name: en
108
+ title: Unlocks a new level
109
+ description: Try your luck at this new level
@@ -0,0 +1,201 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <package xmlns="http://apple.com/itunes/importer" version="software5.1">
3
+ <provider>SampleCompany</provider>
4
+ <team_id>ABCDE12345</team_id>
5
+ <software>
6
+ <vendor_id>sample sku</vendor_id>
7
+ <software_metadata>
8
+ <versions>
9
+ <version string="1.1.3.1">
10
+ <locales>
11
+ <locale name="en-US">
12
+ <title>sampleApp</title>
13
+ <description>Description of sampleApp.</description>
14
+ <keywords>
15
+ <keyword>Sample</keyword>
16
+ <keyword>App</keyword>
17
+ </keywords>
18
+ <version_whats_new>Version Whats New.</version_whats_new>
19
+ <software_url>http://example.com</software_url>
20
+ <privacy_url>http://example.com</privacy_url>
21
+ <support_url>http://example.com</support_url>
22
+ <software_screenshots>
23
+ <software_screenshot display_target="iOS-3.5-in" position="1">
24
+ <file_name>test.jpg</file_name>
25
+ <size>20092</size>
26
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
27
+ </software_screenshot>
28
+ </software_screenshots>
29
+ </locale>
30
+ </locales>
31
+ </version>
32
+ </versions>
33
+ <game_center>
34
+ <achievements>
35
+ <achievement position="1">
36
+ <achievement_id>com.samplecompany.applicationname.first_achievement</achievement_id>
37
+ <reference_name>First Achievement</reference_name>
38
+ <points>10</points>
39
+ <hidden>false</hidden>
40
+ <reusable>false</reusable>
41
+ <locales>
42
+ <locale name="en">
43
+ <title>First Achievement</title>
44
+ <before_earned_description>Complete a task</before_earned_description>
45
+ <after_earned_description>Completed a task</after_earned_description>
46
+ <achievement_after_earned_image>
47
+ <file_name>test.jpg</file_name>
48
+ <size>20092</size>
49
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
50
+ </achievement_after_earned_image>
51
+ </locale>
52
+ </locales>
53
+ </achievement>
54
+ </achievements>
55
+ <leaderboards>
56
+ <leaderboard default="true" position="1">
57
+ <leaderboard_id>com.samplecompany.applicationname.top_scores</leaderboard_id>
58
+ <reference_name>Top Scores</reference_name>
59
+ <sort_ascending>false</sort_ascending>
60
+ <locales>
61
+ <locale name="en">
62
+ <title>Top Scores</title>
63
+ <formatter_suffix> Points</formatter_suffix>
64
+ <formatter_suffix_singular> Point</formatter_suffix_singular>
65
+ <formatter_type>INTEGER_COMMA_SEPARATOR</formatter_type>
66
+ <leaderboard_image>
67
+ <file_name>test.jpg</file_name>
68
+ <size>20092</size>
69
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
70
+ </leaderboard_image>
71
+ </locale>
72
+ </locales>
73
+ </leaderboard>
74
+ </leaderboards>
75
+ </game_center>
76
+ <in_app_purchases>
77
+ <family name="Sample Product Group">
78
+ <locales>
79
+ <locale name="en">
80
+ <title>Sample Product Group</title>
81
+ <description>All your products in this sample group</description>
82
+ <publication_name>Sample Product Group</publication_name>
83
+ </locale>
84
+ </locales>
85
+ <review_screenshot>
86
+ <file_name>test.jpg</file_name>
87
+ <size>20092</size>
88
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
89
+ </review_screenshot>
90
+ <review_notes/>
91
+ <in_app_purchase>
92
+ <product_id>com.samplecompany.applicationname.six_month_subscription</product_id>
93
+ <duration>6 Months</duration>
94
+ <free_trial_duration>1 Month</free_trial_duration>
95
+ <bonus_duration>1 Month</bonus_duration>
96
+ <type>auto-renewable</type>
97
+ <products>
98
+ <product>
99
+ <cleared_for_sale>true</cleared_for_sale>
100
+ <wholesale_price_tier>5</wholesale_price_tier>
101
+ </product>
102
+ </products>
103
+ </in_app_purchase>
104
+ <in_app_purchase>
105
+ <product_id>com.samplecompany.applicationname.one_year_subscription</product_id>
106
+ <duration>1 Year</duration>
107
+ <bonus_duration>2 Months</bonus_duration>
108
+ <type>auto-renewable</type>
109
+ <products>
110
+ <product>
111
+ <cleared_for_sale>true</cleared_for_sale>
112
+ <wholesale_price_tier>9</wholesale_price_tier>
113
+ </product>
114
+ </products>
115
+ </in_app_purchase>
116
+ </family>
117
+ <in_app_purchase>
118
+ <product_id>com.samplecompany.applicationname.one_hundred_dollars</product_id>
119
+ <reference_name>100 dollars</reference_name>
120
+ <type>consumable</type>
121
+ <products>
122
+ <product>
123
+ <cleared_for_sale>true</cleared_for_sale>
124
+ <wholesale_price_tier>1</wholesale_price_tier>
125
+ </product>
126
+ </products>
127
+ <locales>
128
+ <locale name="en">
129
+ <title>$100</title>
130
+ <description>An extra $100 for you</description>
131
+ </locale>
132
+ </locales>
133
+ <review_screenshot>
134
+ <file_name>test.jpg</file_name>
135
+ <size>20092</size>
136
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
137
+ </review_screenshot>
138
+ </in_app_purchase>
139
+ <in_app_purchase>
140
+ <product_id>com.samplecompany.applicationname.new_level</product_id>
141
+ <reference_name>Unlocks a new level</reference_name>
142
+ <type>non-consumable</type>
143
+ <products>
144
+ <product>
145
+ <cleared_for_sale>true</cleared_for_sale>
146
+ <intervals>
147
+ <interval>
148
+ <start_date>2013-01-31</start_date>
149
+ <end_date>2013-02-28</end_date>
150
+ <wholesale_price_tier>3</wholesale_price_tier>
151
+ </interval>
152
+ </intervals>
153
+ </product>
154
+ </products>
155
+ <locales>
156
+ <locale name="en">
157
+ <title>Unlocks a new level</title>
158
+ <description>Try your luck at this new level</description>
159
+ </locale>
160
+ </locales>
161
+ <review_screenshot>
162
+ <file_name>test.jpg</file_name>
163
+ <size>20092</size>
164
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
165
+ </review_screenshot>
166
+ </in_app_purchase>
167
+ <in_app_purchase>
168
+ <product_id>com.samplecompany.applicationname.another_level</product_id>
169
+ <reference_name>Unlocks another new level</reference_name>
170
+ <type>non-consumable</type>
171
+ <products>
172
+ <product>
173
+ <cleared_for_sale>true</cleared_for_sale>
174
+ <intervals>
175
+ <interval>
176
+ <end_date>2013-02-28</end_date>
177
+ <wholesale_price_tier>3</wholesale_price_tier>
178
+ </interval>
179
+ <interval>
180
+ <start_date>2013-08-14</start_date>
181
+ <wholesale_price_tier>3</wholesale_price_tier>
182
+ </interval>
183
+ </intervals>
184
+ </product>
185
+ </products>
186
+ <locales>
187
+ <locale name="en">
188
+ <title>Unlocks a new level</title>
189
+ <description>Try your luck at this new level</description>
190
+ </locale>
191
+ </locales>
192
+ <review_screenshot>
193
+ <file_name>test.jpg</file_name>
194
+ <size>20092</size>
195
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
196
+ </review_screenshot>
197
+ </in_app_purchase>
198
+ </in_app_purchases>
199
+ </software_metadata>
200
+ </software>
201
+ </package>
@@ -0,0 +1,201 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <package xmlns="http://apple.com/itunes/importer" version="software5.1">
3
+ <provider>SampleCompany</provider>
4
+ <team_id>ABCDE12345</team_id>
5
+ <software>
6
+ <vendor_id>sample sku</vendor_id>
7
+ <software_metadata>
8
+ <versions>
9
+ <version string="1.1.3.1">
10
+ <locales>
11
+ <locale name="en-US">
12
+ <title>sampleApp</title>
13
+ <description>Description of sampleApp.</description>
14
+ <keywords>
15
+ <keyword>Sample</keyword>
16
+ <keyword>App</keyword>
17
+ </keywords>
18
+ <version_whats_new>Version Whats New.</version_whats_new>
19
+ <software_url>http://example.com</software_url>
20
+ <privacy_url>http://example.com</privacy_url>
21
+ <support_url>http://example.com</support_url>
22
+ <software_screenshots>
23
+ <software_screenshot display_target="iOS-3.5-in" position="1">
24
+ <file_name>test.jpg</file_name>
25
+ <size>20092</size>
26
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
27
+ </software_screenshot>
28
+ </software_screenshots>
29
+ </locale>
30
+ </locales>
31
+ </version>
32
+ </versions>
33
+ <game_center>
34
+ <achievements>
35
+ <achievement position="1">
36
+ <achievement_id>com.samplecompany.applicationname.first_achievement</achievement_id>
37
+ <reference_name>First Achievement</reference_name>
38
+ <points>10</points>
39
+ <hidden>false</hidden>
40
+ <reusable>false</reusable>
41
+ <locales>
42
+ <locale name="en">
43
+ <title>First Achievement</title>
44
+ <before_earned_description>Complete a task</before_earned_description>
45
+ <after_earned_description>Completed a task</after_earned_description>
46
+ <achievement_after_earned_image>
47
+ <file_name>test.jpg</file_name>
48
+ <size>20092</size>
49
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
50
+ </achievement_after_earned_image>
51
+ </locale>
52
+ </locales>
53
+ </achievement>
54
+ </achievements>
55
+ <leaderboards>
56
+ <leaderboard default="true" position="1">
57
+ <leaderboard_id>com.samplecompany.applicationname.top_scores</leaderboard_id>
58
+ <reference_name>Top Scores</reference_name>
59
+ <sort_ascending>false</sort_ascending>
60
+ <locales>
61
+ <locale name="en">
62
+ <title>Top Scores</title>
63
+ <formatter_suffix> Points</formatter_suffix>
64
+ <formatter_suffix_singular> Point</formatter_suffix_singular>
65
+ <formatter_type>INTEGER_COMMA_SEPARATOR</formatter_type>
66
+ <leaderboard_image>
67
+ <file_name>test.jpg</file_name>
68
+ <size>20092</size>
69
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
70
+ </leaderboard_image>
71
+ </locale>
72
+ </locales>
73
+ </leaderboard>
74
+ </leaderboards>
75
+ </game_center>
76
+ <in_app_purchases>
77
+ <family name="Sample Product Group">
78
+ <locales>
79
+ <locale name="en">
80
+ <title>Sample Product Group</title>
81
+ <description>All your products in this sample group</description>
82
+ <publication_name>Sample Product Group</publication_name>
83
+ </locale>
84
+ </locales>
85
+ <review_screenshot>
86
+ <file_name>test.jpg</file_name>
87
+ <size>20092</size>
88
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
89
+ </review_screenshot>
90
+ <review_notes/>
91
+ <in_app_purchase>
92
+ <product_id>com.samplecompany.applicationname.six_month_subscription</product_id>
93
+ <duration>6 Months</duration>
94
+ <free_trial_duration>1 Month</free_trial_duration>
95
+ <bonus_duration>1 Month</bonus_duration>
96
+ <type>auto-renewable</type>
97
+ <products>
98
+ <product>
99
+ <cleared_for_sale>true</cleared_for_sale>
100
+ <wholesale_price_tier>5</wholesale_price_tier>
101
+ </product>
102
+ </products>
103
+ </in_app_purchase>
104
+ <in_app_purchase>
105
+ <product_id>com.samplecompany.applicationname.one_year_subscription</product_id>
106
+ <duration>1 Year</duration>
107
+ <bonus_duration>2 Months</bonus_duration>
108
+ <type>auto-renewable</type>
109
+ <products>
110
+ <product>
111
+ <cleared_for_sale>true</cleared_for_sale>
112
+ <wholesale_price_tier>9</wholesale_price_tier>
113
+ </product>
114
+ </products>
115
+ </in_app_purchase>
116
+ </family>
117
+ <in_app_purchase>
118
+ <product_id>com.samplecompany.applicationname.one_hundred_dollars</product_id>
119
+ <reference_name>100 dollars</reference_name>
120
+ <type>consumable</type>
121
+ <products>
122
+ <product>
123
+ <cleared_for_sale>true</cleared_for_sale>
124
+ <wholesale_price_tier>1</wholesale_price_tier>
125
+ </product>
126
+ </products>
127
+ <locales>
128
+ <locale name="en">
129
+ <title>$100</title>
130
+ <description>An extra $100 for you</description>
131
+ </locale>
132
+ </locales>
133
+ <review_screenshot>
134
+ <file_name>test.jpg</file_name>
135
+ <size>20092</size>
136
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
137
+ </review_screenshot>
138
+ </in_app_purchase>
139
+ <in_app_purchase>
140
+ <product_id>com.samplecompany.applicationname.new_level</product_id>
141
+ <reference_name>Unlocks a new level</reference_name>
142
+ <type>non-consumable</type>
143
+ <products>
144
+ <product>
145
+ <cleared_for_sale>true</cleared_for_sale>
146
+ <intervals>
147
+ <interval>
148
+ <start_date>2013-01-31</start_date>
149
+ <end_date>2013-02-28</end_date>
150
+ <wholesale_price_tier>3</wholesale_price_tier>
151
+ </interval>
152
+ </intervals>
153
+ </product>
154
+ </products>
155
+ <locales>
156
+ <locale name="en">
157
+ <title>Unlocks a new level</title>
158
+ <description>Try your luck at this new level</description>
159
+ </locale>
160
+ </locales>
161
+ <review_screenshot>
162
+ <file_name>test.jpg</file_name>
163
+ <size>20092</size>
164
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
165
+ </review_screenshot>
166
+ </in_app_purchase>
167
+ <in_app_purchase>
168
+ <product_id>com.samplecompany.applicationname.another_level</product_id>
169
+ <reference_name>Unlocks another new level</reference_name>
170
+ <type>non-consumable</type>
171
+ <products>
172
+ <product>
173
+ <cleared_for_sale>true</cleared_for_sale>
174
+ <intervals>
175
+ <interval>
176
+ <end_date>2013-02-28</end_date>
177
+ <wholesale_price_tier>3</wholesale_price_tier>
178
+ </interval>
179
+ <interval>
180
+ <start_date>2013-08-14</start_date>
181
+ <wholesale_price_tier>3</wholesale_price_tier>
182
+ </interval>
183
+ </intervals>
184
+ </product>
185
+ </products>
186
+ <locales>
187
+ <locale name="en">
188
+ <title>Unlocks a new level</title>
189
+ <description>Try your luck at this new level</description>
190
+ </locale>
191
+ </locales>
192
+ <review_screenshot>
193
+ <file_name>test.jpg</file_name>
194
+ <size>20092</size>
195
+ <checksum type="md5">ff5bd97a5f40bb75a84884589ecbfc42</checksum>
196
+ </review_screenshot>
197
+ </in_app_purchase>
198
+ </in_app_purchases>
199
+ </software_metadata>
200
+ </software>
201
+ </package>