Skip to content

feat(COM2-3686): Android App2App Play Integrity E2E wiring - #50

Draft
aleksei-chernikov-cb wants to merge 1 commit into
masterfrom
aleksei/com2-3686-android-app2app-e2e
Draft

feat(COM2-3686): Android App2App Play Integrity E2E wiring#50
aleksei-chernikov-cb wants to merge 1 commit into
masterfrom
aleksei/com2-3686-android-app2app-e2e

Conversation

@aleksei-chernikov-cb

Copy link
Copy Markdown
Contributor

Summary

  • Wire the mobile demo for Android App2App once SDK Play Integrity lands (openCoinbaseOnramp same path as iOS): App Links return (intentFilters + assetlinks.json), Android package-visibility queries, and documented package com.coinbase.cdp_onramp.
  • Update UX copy so Android is not misstated as unsupported when Coinbase app + Play Integrity are available; sandbox dry-run prefixes partnerUserRef with sandbox- for App2App like other flows.
  • Docs / .env.example note portal allowlist (COM2-3687) and SDK dependency (COM2-3685).

Depends on

  • COM2-3685 (@coinbase/cdp-react-native Android Play Integrity client) — published SDK currently throws openCoinbaseOnramp is only supported on iOS; demo assumes the same openCoinbaseOnramp API shape once that lands. Use npm run cdp:local against a local cdp-web checkout for co-dev.
  • COM2-3687 — register Android package + Play Integrity cloud project number in CDP portal; fill sha256_cert_fingerprints in server/api/assetlinks.js for verified App Links.

Test plan

  • npx expo prebuild -p android includes App Link intent filter for /onramp-return and Coinbase <queries>
  • With COM2-3685 SDK linked locally: Android App2App → Coinbase retail → return to demo (redirectUrl / App Link or onrampdemo://)
  • Sandbox ON prefixes App2App partnerUserRef with sandbox-
  • CoinbaseAppStatus copy is platform-accurate (Play Integrity vs App Attest)
  • iOS App2App path unchanged
  • No secrets from .env in the PR

Linear: https://linear.app/coinbase/issue/COM2-3686/onramp-v2-mobile-demo-app2app-android-play-integrity-e2e
Parent: https://linear.app/coinbase/issue/COM2-3541/app2app-android

Made with Cursor

Enable the demo for Android App2App once SDK Play Integrity lands: App Links
return, package-visibility queries, sandbox partnerUserRef parity, and
platform-accurate UX/docs for com.coinbase.cdp_onramp.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
onramp-v2-mobile-demo Ready Ready Preview Aug 4, 2026 12:19am

Request Review

@linear

linear Bot commented Aug 4, 2026

Copy link
Copy Markdown

COM2-3686

@cb-heimdall

Copy link
Copy Markdown

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@ginawhitetx45-star

Copy link
Copy Markdown

My name is Gina, I am the owner of this email. And this account, I have not done anything with my app. So why am I getting all these emails?And why is it telling me I need to request access to an app that I should own?

Comment thread utils/sharedState.ts
// Initialize sandbox mode - starts as OFF
export const hydrateSandboxMode = async () => {
sandboxMode = false;
console.log('ℹ️ Sandbox mode initialized to default: DISABLED');

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Why disabled

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.

3 participants