Skip to content

README v2 and AGENTS.md: quickstart first, docs links, agent guidance - #338

Merged
SpertsyanKM merged 4 commits into
qonversion:mainfrom
Vlada-Q:marketing/readme-v2
Oct 14, 2026
Merged

SpertsyanKM merged 4 commits into
qonversion:mainfrom
Vlada-Q:marketing/readme-v2

Conversation

@Vlada-Q

@Vlada-Q Vlada-Q commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Files: README.md, AGENTS.md.

  • Header without the landing page: one paragraph on what Qonversion is and what this repository holds; four badges (version, package manager, license, platforms), each linking to where the value can be checked.
  • Quickstart in three steps within the first 50 lines: install → initialize → first call (checkEntitlements / entitlements). The mode is named out loud, with a link to Analytics Mode.
  • Five links into the docs: Welcome, platform setup, Quick start, API reference, For agents.
  • What this SDK does: what the package does, worded as how it works rather than as a promise.
  • For agents: the docs MCP server, markdown versions of pages, llms.txt, the Qonversion MCP server with the Apple Ads access conditions, the two-step confirmation for destructive tools, and the integration prompt (the docs text, with step 3 taking the SDK version from the release tag or the package registry).
  • Requirements from code: minimum versions taken from the manifests in this repository (see Facts checked).
  • AGENTS.md for coding agents: how to get the current version instead of one from memory, install, init, first call, docs as markdown, MCP, and what an agent must not do without the human saying yes (keys, mode, live project configuration, destructive MCP tools, environment).

Removed on purpose: the Analytics / A/B Experiments / Integrations / Why Qonversion? sections (they duplicate the website and push the install below the fold); long platform guides → a link into the docs; all images except the header.

The OpenUPM badge is added.

Facts checked

Minimum versions, from this repository's manifests:

  • Unity 2021.3 — per the maintainers; the unity field still says 2018.3, which is not supported or tested, and the README says so in one line — package.json
  • EDM4U 1.2.189 for the Swift Package Manager path · iOS 13.0 · Android minSdkVersion 23 (inherited from the native SDKs)

Init and first-call signatures: Runtime/Scripts/QonversionConfigBuilder.cs, Runtime/Scripts/Qonversion.cs, Runtime/Scripts/IQonversion.cs, Runtime/Scripts/Dto/Entitlement.cs, Runtime/Scripts/Dto/LaunchMode.cs.

Versions: openupm add carries no version. The Git URL example uses tag 9.11.0 (latest release on 2026-10-12) with "current at the time of writing; take the latest tag from Releases".

Header image

The approved header (logo and platform list, no positioning text) ships in this PR as .github/assets/sdk-header.png, referenced by a one-line <img> tag on line 1 with a relative path, which GitHub, npm and pub.dev all resolve. The quickstart line count does not move.

Links

All 32 URLs in these files checked with curl -sI -L on 2026-10-12: 30 return 200, the rest are expected:

LICENSE exists in this repository (hygiene PRs merged 2026-10-09/10). docs/for-agents is live.

Review

Four independent reviews in the marketing hub (product, marketing, QA, brand), two iterations. Maintainer answers of 2026-10-09 applied here: Apple Ads in MCP: tools need the apple_ads account feature; campaign changes additionally need the apple_ads:write scope and campaign-management permission (mcp-server#126); Unity 2021.3 as the floor (2018.3 dropped); Git URL tag 9.10.1 → 9.11.0; the discard_* docs-gap note removed from AGENTS.md.

Reviewer: @SpertsyanKM — the review request cannot be set from a fork, hence the mention.

Repository description (settings, not a file)

The repository description shown under the name on GitHub is a setting, so it cannot be part of this PR. Proposed text to set when merging, so the description, the README header and the docs say the same thing:

Qonversion Unity SDK: iOS and Android purchases confirmed with the stores, entitlements, and the revenue data behind Apple Ads, A/B tests and analytics.

Current: Unity SDK for cross-platform in-app purchase and subscription infrastructure, revenue analytics, engagement automation, and integrations

One command for a maintainer: gh repo edit qonversion/unity-sdk --description "Qonversion Unity SDK: iOS and Android purchases confirmed with the stores, entitlements, and the revenue data behind Apple Ads, A/B tests and analytics.".

Maintainer review rounds of 2026-10-13 and 2026-10-14 applied (see the PR comments).

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: qonversion/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 4bbfedc3-ab2c-449a-aa2b-1f6b6f3862ea

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@SpertsyanKM SpertsyanKM left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Vlada — snippets, minimum versions, pins, links and the MCP destructive-tool flow check out against main. Changes needed before merge:

This repo

  • AGENTS.md:59 (minor) — Debug.Log needs using UnityEngine; (only using QonversionUnity; is shown at l.40).
  • README.md:135 / AGENTS.md "Sample" (minor) — "ships no sample scene" + Flutter link: there is a public qonversion/unity-sdk-sample (Assets/Scripts/SampleApp.cs). Fine to link it.
  • AGENTS.md:95 / README.md:105 — see the Apple Ads note above: write failures can also be the server-side switch or a missing Apple org role, not "beta not on".
  • Requirements (Unity 2021.3, EDM4U 1.2.189, iOS 13.0, minSdk 23): OK. We'll bump "unity" in package.json separately.
  • Repo description: OK.

Shared with the other README v2 / AGENTS.md PRs

  • Apple Ads availability — my earlier guidance is outdated, sorry. After 2026-10-09, mcp-server #126 (DEV-1480) removed the separate write beta: there is no apple_ads_write account gate any more (mcp-server/internal/tools/apple_ads_write.go:134). Writes need the apple_ads account feature, the apple_ads:write scope, a dashboard member with campaign-management permission and Apple org write access, and can be switched off server-side. "Closed beta — ask support to switch it on" sends agents the wrong way. Until Sam finalises the Apple Ads docs, please use neutral wording, e.g.: "Apple Ads tools need the feature on your account (404 otherwise); campaign changes additionally need the apple_ads:write scope and a team member with campaign-management permission — check get_apple_ads_connection_status."
  • AGENTS.md "If the three disagree, the docs page wins". For the version the docs page lags (iOS page says 6.17.0, Flutter 11.11.0, Unity 9.10.0 and "2018.3", Android 9.+, Cordova still lists cordova-ios 6.x; Web/RN pages name no version). Make the release tag / package registry authoritative for the version, docs for API usage, and tell the agent to report a mismatch. Same for the integration prompt line "use the SDK version the docs name".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Vlada-Q

Vlada-Q commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

@SpertsyanKM thanks for the review. All points are addressed in bae886e — could you take another look?

This repo

  • AGENTS.md:59. The first-call snippet adds using UnityEngine;.
  • README.md:135 / AGENTS.md "Sample". "Ships no sample scene" and the Flutter link are gone; both files point to qonversion/unity-sdk-sample (Assets/Scripts/SampleApp.cs), with a note that it runs in the sandbox and that the Initialize snippet is the reference. IQonversion.cs stays in AGENTS.md as the public surface.
  • AGENTS.md:95 / README.md:105. Covered by the shared Apple Ads change below: no "beta not on" any more; a refused call is described as missing access in general.

Shared with the other README v2 / AGENTS.md PRs

  • Apple Ads availability. "Closed beta", "ask support to switch it on" and "per account on request" are gone from README (For agents) and AGENTS.md. The wording from your review is applied as is: "Apple Ads tools need the feature on your account (404 otherwise); campaign changes additionally need the apple_ads:write scope and a team member with campaign-management permission — check get_apple_ads_connection_status." AGENTS.md adds one sentence: a refused Apple Ads call means missing access, not a broken server — do not retry or work around it, tell the human. This wording is pending Sam's confirmation; it will be updated when he finalises the Apple Ads docs.
  • Source of the version. "If the three disagree, the docs page wins" is replaced: the release tag and the package registry (OpenUPM) are the source for the version, the docs page for install steps and API usage; on a version mismatch the agent uses the tag/registry and tells the human. The integration prompt in the README (step 3) now says to take the version from the latest release tag or the package registry, not from the docs page, and to report a disagreement.

Repo description is left to you, as agreed. Not merging from our side.

@SpertsyanKM SpertsyanKM left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed bae886e — the round-1 points are fixed (using UnityEngine;, unity-sdk-sample link, Apple Ads, package.json 2018.3 lag note, version source via OpenUPM). Verified: tag = OpenUPM latest = 9.11.0; unity-sdk.git#9.11.0 exists; the sample features match SampleApp.cs.

Small things, all quick:

  1. README.md:6 — "lined up with what App Store Connect reports" is the iOS copy-paste leftover (fixed in Flutter and RN, I missed it here in round 1). Unity is iOS + Android. Suggested: "…lined up with what the App Store and Google Play report, …"
  2. AGENTS.md:110 (nit) — "Environment in the wrappers" isn't true for all wrappers (Flutter uses QEnvironment). Suggest: "In this SDK the enum is Environment (Runtime/Scripts/Dto/Environment.cs); read it from the SDK, not from memory."
  3. README.md:136-137 / AGENTS.md:114 (optional) — the sample's Packages/manifest.json loads the SDK from file:../../unity-sdk, so it only opens with this repo cloned next to it. Suggested addition: "It loads the SDK from a sibling checkout (file:../../unity-sdk), so clone this repository next to it."

Once these are in, it's good to merge from your side — no need for another round from me unless something else changes.


Shared across all nine README v2 / AGENTS.md PRs

  • PR body before squash-merge. The body still says reading Apple Ads "is on for all accounts" and changing campaigns "is a closed beta per account". Both are outdated (mcp-server#126). The body becomes the squash commit message, so please update that sentence, or replace the commit body when merging, e.g.: "Apple Ads in MCP: tools need the apple_ads account feature; campaign changes additionally need the apple_ads:write scope and campaign-management permission (mcp-server#126)."
  • "A refused Apple Ads call means missing access … do not retry" (AGENTS.md). Slightly too absolute: get_apple_ads_connection_status can report campaign_management.state: unknown (permission snapshot not landed yet — try later), and an Apple authorization can need reauthorization. Suggested: "A refused Apple Ads call usually means missing access or an Apple authorization that needs attention, not a broken server: call get_apple_ads_connection_status, do not work around it, and tell the human what it reports." Non-blocking; can go together with Sam's final Apple Ads wording.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Vlada-Q

Vlada-Q commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

@SpertsyanKM round 2 is done in bca5358:

  • README.md:6. "…lined up with what the App Store and Google Play report, …"
  • AGENTS.md:110 (nit). "In this SDK the enum is Environment (Runtime/Scripts/Dto/Environment.cs); read it from the SDK, not from memory."
  • README.md:136-137 / AGENTS.md:114 (optional). Added: "It loads the SDK from a sibling checkout (file:../../unity-sdk), so clone this repository next to it."
  • Apple Ads (non-blocking point). AGENTS.md now uses your wording: "A refused Apple Ads call usually means missing access or an Apple authorization that needs attention, not a broken server: call get_apple_ads_connection_status, do not work around it, and tell the human what it reports." The main Apple Ads sentence is still pending Sam's confirmation.
  • PR body. The Apple Ads sentence is replaced with your text (mcp-server#126), so the squash commit message is up to date.

Ready to merge. We only have read access here, could you merge it?

@SpertsyanKM SpertsyanKM left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed bca5358: all round-2 points are fixed and verified against source. Thanks! Merging.

@SpertsyanKM
SpertsyanKM merged commit c850728 into qonversion:main Oct 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants