Documentation
¶
Index ¶
- Constants
- func HasTermsOfUseLink(description string) bool
- type AgeRatingDeclaration
- type AppInfoLocalization
- type BetaBuildLocalization
- type BetaReviewDetails
- type Build
- type CheckResult
- type IAP
- type IAPInput
- type IAPReport
- type Input
- type MetadataLengthIssue
- type Report
- type ReviewDetails
- type Screenshot
- type ScreenshotSet
- type Severity
- type Subscription
- type SubscriptionGroupLocalizationInfo
- type SubscriptionLocalizationInfo
- type SubscriptionsInput
- type SubscriptionsReport
- type Summary
- type TestFlightInput
- type TestFlightReport
- type VersionLocalization
Constants ¶
const ( LimitDescription = 4000 LimitKeywords = 100 LimitWhatsNew = 4000 LimitPromotionalText = 170 LimitName = 30 LimitSubtitle = 30 )
App Store metadata character limits.
const AppleStandardEULAURL = "https://www.apple.com/legal/internet-services/itunes/dev/stdeula/"
Variables ¶
This section is empty.
Functions ¶
func HasTermsOfUseLink ¶
HasTermsOfUseLink reports whether a description includes a functional Terms of Use / EULA link.
Types ¶
type AgeRatingDeclaration ¶
type AgeRatingDeclaration struct {
Advertising *bool
Gambling *bool
HealthOrWellnessTopics *bool
LootBox *bool
MessagingAndChat *bool
ParentalControls *bool
AgeAssurance *bool
UnrestrictedWebAccess *bool
UserGeneratedContent *bool
AlcoholTobaccoOrDrugUseOrReferences *string
Contests *string
GamblingSimulated *string
GunsOrOtherWeapons *string
MedicalOrTreatmentInformation *string
ProfanityOrCrudeHumor *string
SexualContentGraphicAndNudity *string
SexualContentOrNudity *string
HorrorOrFearThemes *string
MatureOrSuggestiveThemes *string
ViolenceCartoonOrFantasy *string
ViolenceRealistic *string
ViolenceRealisticProlongedGraphicOrSadistic *string
KidsAgeBand *string
AgeRatingOverride *string
AgeRatingOverrideV2 *string
KoreaAgeRatingOverride *string
DeveloperAgeRatingInfoURL *string
}
AgeRatingDeclaration represents age rating attributes for validation.
type AppInfoLocalization ¶
type AppInfoLocalization struct {
ID string
Locale string
Name string
Subtitle string
PrivacyPolicyURL string
PrivacyChoicesURL string
}
AppInfoLocalization represents app info metadata.
type BetaBuildLocalization ¶
BetaBuildLocalization represents a build localization (TestFlight "What to Test").
type BetaReviewDetails ¶
type BetaReviewDetails struct {
ID string
ContactFirstName string
ContactLastName string
ContactEmail string
ContactPhone string
DemoAccountName string
DemoAccountPassword string
DemoAccountRequired bool
Notes string
}
BetaReviewDetails represents TestFlight beta app review details.
type CheckResult ¶
type CheckResult struct {
ID string `json:"id"`
Severity Severity `json:"severity"`
Message string `json:"message"`
Remediation string `json:"remediation,omitempty"`
Locale string `json:"locale,omitempty"`
Field string `json:"field,omitempty"`
ResourceType string `json:"resourceType,omitempty"`
ResourceID string `json:"resourceId,omitempty"`
}
CheckResult represents a single validation check result.
func PrivacyPublishStateAdvisory ¶
func PrivacyPublishStateAdvisory(appID string) CheckResult
PrivacyPublishStateAdvisory returns a public-only advisory for App Privacy.
type IAPReport ¶
type IAPReport struct {
AppID string `json:"appId"`
IAPCount int `json:"iapCount,omitempty"`
Summary Summary `json:"summary"`
Checks []CheckResult `json:"checks"`
Strict bool `json:"strict,omitempty"`
}
IAPReport is the top-level validate iap output.
func ValidateIAP ¶
ValidateIAP validates IAP review readiness and returns a report.
type Input ¶
type Input struct {
AppID string
AppInfoID string
VersionID string
VersionString string
VersionState string
Platform string
PrimaryLocale string
VersionLocalizations []VersionLocalization
AppInfoLocalizations []AppInfoLocalization
ReviewDetails *ReviewDetails
PrimaryCategoryID string
Build *Build
PriceScheduleID string
PricingFetchSkipReason string
AvailabilityID string
AvailableTerritories int
AvailabilityFetchSkipReason string
PricingCoverageSkipReason string
ScreenshotSets []ScreenshotSet
Subscriptions []Subscription
SubscriptionFetchSkipReason string
IAPs []IAP
IAPFetchSkipReason string
AgeRatingDeclaration *AgeRatingDeclaration
ReleaseType string
EarliestReleaseDate string
Copyright string
}
Input collects the validation inputs.
type MetadataLengthIssue ¶
MetadataLengthIssue describes one over-limit metadata field.
func AppInfoLocalizationLengthIssues ¶
func AppInfoLocalizationLengthIssues(loc AppInfoLocalization) []MetadataLengthIssue
AppInfoLocalizationLengthIssues returns over-limit fields for one app-info localization.
func VersionLocalizationLengthIssues ¶
func VersionLocalizationLengthIssues(loc VersionLocalization) []MetadataLengthIssue
VersionLocalizationLengthIssues returns over-limit fields for one version localization.
type Report ¶
type Report struct {
AppID string `json:"appId"`
VersionID string `json:"versionId"`
VersionString string `json:"versionString,omitempty"`
Platform string `json:"platform,omitempty"`
Summary Summary `json:"summary"`
Checks []CheckResult `json:"checks"`
Strict bool `json:"strict,omitempty"`
}
Report is the top-level validation output.
type ReviewDetails ¶
type ReviewDetails struct {
ID string
ContactFirstName string
ContactLastName string
ContactEmail string
ContactPhone string
DemoAccountName string
DemoAccountPassword string
DemoAccountRequired bool
Notes string
}
ReviewDetails represents App Store review details for a version.
type Screenshot ¶
Screenshot represents a screenshot asset.
type ScreenshotSet ¶
type ScreenshotSet struct {
ID string
DisplayType string
Locale string
LocalizationID string
Screenshots []Screenshot
}
ScreenshotSet represents a screenshot set and its assets.
type Subscription ¶
type Subscription struct {
ID string
Name string
ProductID string
State string
GroupID string
GroupName string
HasImage bool
ImageCheckSkipped bool
ImageCheckSkipReason string
// Deep diagnostics (populated when State is MISSING_METADATA).
Localizations []SubscriptionLocalizationInfo
LocalizationCheckSkipped bool
LocalizationCheckSkipReason string
GroupLocalizations []SubscriptionGroupLocalizationInfo
GroupLocalizationCheckSkipped bool
GroupLocalizationCheckReason string
PriceCount int
PriceCheckSkipped bool
PriceCheckSkipReason string
}
Subscription represents an auto-renewable subscription for review-readiness validation.
type SubscriptionGroupLocalizationInfo ¶
SubscriptionGroupLocalizationInfo holds per-locale metadata for a subscription group.
type SubscriptionLocalizationInfo ¶
SubscriptionLocalizationInfo holds per-locale metadata for a subscription.
type SubscriptionsInput ¶
type SubscriptionsInput struct {
AppID string
Subscriptions []Subscription
AvailableTerritories int
PricingCoverageSkipReason string
}
SubscriptionsInput collects subscription validation inputs.
type SubscriptionsReport ¶
type SubscriptionsReport struct {
AppID string `json:"appId"`
SubscriptionCount int `json:"subscriptionCount,omitempty"`
Summary Summary `json:"summary"`
Checks []CheckResult `json:"checks"`
Strict bool `json:"strict,omitempty"`
}
SubscriptionsReport is the top-level validate subscriptions output.
func ValidateSubscriptions ¶
func ValidateSubscriptions(input SubscriptionsInput, strict bool) SubscriptionsReport
ValidateSubscriptions validates subscription review readiness and returns a report.
type Summary ¶
type Summary struct {
Errors int `json:"errors"`
Warnings int `json:"warnings"`
Infos int `json:"infos"`
Blocking int `json:"blocking"`
}
Summary aggregates check counts by severity.
type TestFlightInput ¶
type TestFlightInput struct {
AppID string
AppPrimaryLocale string
BuildID string
Build *Build
BuildAppID string
BetaReviewDetails *BetaReviewDetails
BetaBuildLocalizations []BetaBuildLocalization
}
TestFlightInput collects the TestFlight validation inputs.
type TestFlightReport ¶
type TestFlightReport struct {
AppID string `json:"appId"`
BuildID string `json:"buildId"`
BuildVersion string `json:"buildVersion,omitempty"`
Summary Summary `json:"summary"`
Checks []CheckResult `json:"checks"`
Strict bool `json:"strict,omitempty"`
}
TestFlightReport is the top-level validate testflight output.
func ValidateTestFlight ¶
func ValidateTestFlight(input TestFlightInput, strict bool) TestFlightReport
ValidateTestFlight runs TestFlight validation rules and returns a report.