iap-skill: adopt D2C reviewer additions from muse-skills2 (and drop redundant README)#28
Open
GabrielBelmonteUnity wants to merge 3 commits into
Open
iap-skill: adopt D2C reviewer additions from muse-skills2 (and drop redundant README)#28GabrielBelmonteUnity wants to merge 3 commits into
GabrielBelmonteUnity wants to merge 3 commits into
Conversation
…dundant README
Backport two review-driven changes from the internal muse-skills repo (Charles Yeh, commits 5650d10 + 1056725) that improve the D2C guidance:
- path-implement-iap-d2c.md: add "Payment provider services on the StoreController" subsection with a table mapping the two StoreController properties to their extended-service interfaces and members used later in the doc. Also switch three code samples (GetEligiblePaymentProviders, Buy, RedirectToWebshop) to the verbose `var svc = ...; if (svc == null) { ... }` null-check pattern so the sample fails loudly instead of silently no-op'ing via `?.`, and cross-reference the new section from the Checkout presentation mode bullet.
- README.md: drop as redundant with SKILL.md (matches muse-skills2 which removed it in the same review pass).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The `modes: [agent, ask]` frontmatter field is no longer required by the skill loader. Drop it to match the internal muse-skills copy and the com.unity.purchasing package copy. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…nity.purchasing PR #1843)
1. **The "null on unsupported platforms" claim was wrong.** For a StoreController scoped to PaymentProvider.Name the factory always populates both PaymentProviderStoreExtendedService and PaymentProvidersExtendedPurchaseService — they only come back null when the controller is scoped to a different store (Apple / Google). Reword the intro paragraph to describe the real null case, and revert the three verbose `var svc = ...; if (svc == null) { return; }` samples back to `?.` null-conditional.
2. **RedirectToWebshop uses a separate presentation-mode setter.** SetWebshopPresentationMode is independent of SetCheckoutPresentationMode. Add SetWebshopPresentationMode to the property table and a new "Webshop presentation mode" bullet under Purchase Handling notes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backport two review-driven changes from the internal muse-skills repo (Charles Yeh, commits
5650d10+1056725) that improve the D2C guidance inpath-implement-iap-d2c.md, plus drop the now-redundant top-levelREADME.md.path-implement-iap-d2c.mdStoreControllerextended-service properties to their interfaces and the members used later in the doc. This front-loads the property naming asymmetry (PaymentProviderStoreExtendedServicesingular vsPaymentProvidersExtendedPurchaseServiceplural) so downstream code samples make sense.GetEligiblePaymentProvidersgating,Buy,RedirectToWebshop) from?.null-conditional to the verbosevar svc = ...; if (svc == null) { ... }pattern so the sample fails loudly instead of silently no-op'ing when the service isn't available on the current platform.README.mdDropped — SKILL.md is the primary skill entry point and README duplicated content that was better maintained in SKILL.md and the reference files. Matches the muse-skills2 tree, which removed it in the same review pass.
Test plan
path-implement-iap-d2c.mdend-to-end; verify the new subsection anchor resolves and the three converted code samples still make sense in context.implement-in-app-purchases/README.md.🤖 Generated with Claude Code