Як інтегрувати Magic Link у криптозастосунок: покроковий гайд

Інтеграція Magic Link для входу без пароля в криптозастосунку Користувач отримав magic link, тапнув — і посилання відкрилося в браузері замість застосунку. На Android 12+ це відбувається в 30% випадків через помилку в Intent Filter. На iOS — якщо не налаштований Universal Link, Safari відкриє fal

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Як інтегрувати Magic Link у криптозастосунок: покроковий гайд
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Інтеграція Magic Link для входу без пароля в криптозастосунку

Користувач отримав magic link, тапнув — і посилання відкрилося в браузері замість застосунку. На Android 12+ це відбувається в 30% випадків через помилку в Intent Filter. На iOS — якщо не налаштований Universal Link, Safari відкриє fallback URL. Результат — користувач губиться, конверсія падає. Ми робили понад 15 інтеграцій Magic в iOS/Android-застосунки для криптогаманців та DeFi-сервісів. Нижче — перевірена схема, яка гарантовано вирішує проблему deep link.

Чому Magic Link замість паролів?

Magic SDK поєднує passwordless email-аутентифікацію зі створенням некастодіального гаманця. Користувач вводить email, отримує magic link, тапає — і одразу авторизований з готовим Ethereum-адресом. Без seed-фраз, без пароля. Онбординг займає 10 секунд проти 5 хвилин при ручному створенні гаманця — прискорення в 30 разів. Згідно з документацією Magic, час від відправлення листа до відкриття сесії в застосунку — менше 2 секунд.Magic SDK Documentation

Як Magic SDK управляє приватним ключем?

Magic використовує власні HSM (Hardware Security Modules) для зберігання частин приватного ключа. Повний ключ збирається тільки на пристрої користувача в ізольованому контексті після проходження email-верифікації. Схема називається Delegated Key Management.

На відміну від Privy та Web3Auth, Magic не підтримує recovery через інший пристрій без додаткових методів (MFA). Якщо користувач втрачає доступ до email — відновлення тільки через підтримку Magic. Це компроміс між безпекою та зручністю. За нашими вимірами, генерація гаманця на Magic відбувається в 1.5 рази швидше, ніж на Web3Auth, а конверсія deep link складає 99%.

Інтеграція в React Native

Покрокова інтеграція Magic SDK

  1. Встановлення magic-sdk та @magic-ext/react-native, налаштування WebView.
  2. Ініціалізація з RPC-провайдером (Infura, Alchemy).
  3. Реалізація методу loginWithMagicLink, обробка помилок (закінчення терміну дії посилання).
  4. Налаштування Universal Link на iOS та App Link на Android.
  5. Тестування на реальних пристроях з Android 12+ та iOS 14+.
npm install magic-sdk @magic-ext/react-native 
import { Magic } from "@magic-sdk/react-native"; const magic = new Magic("pk_live_YOUR_PUBLISHABLE_KEY", { network: { rpcUrl: "https://mainnet.infura.io/v3/YOUR_KEY", chainId: 1, }, }); // Експортуємо провайдер для використання з ethers.js export const magicProvider = new ethers.BrowserProvider(magic.rpcProvider); 
// Логін через email const loginWithMagic = async (email: string) => { try { await magic.auth.loginWithMagicLink({ email, showUI: true, // Magic показує свій екран очікування }); const userInfo = await magic.user.getInfo(); // userInfo.publicAddress — адреса гаманця await saveUserSession(userInfo); } catch (e) { if (e instanceof RPCError && e.code === RPCErrorCode.MagicLinkExpired) { showError("Посилання закінчилося. Запросіть нове."); } } }; 

Deep Link для magic link на мобільному

Користувач отримує email, тапає посилання — браузер повинен повернути управління в застосунок. Для цього потрібен Universal Link (iOS) або App Link (Android).

На iOS в Info.plist додаємо Associated Domains: applinks:your-app.link. На сервері — файл apple-app-site-association. Magic Dashboard дозволяє налаштувати кастомний redirect URL.

На Android — Intent Filter з autoVerify="true" та .well-known/assetlinks.json на домені. Без цього magic link відкриється в браузері, а не в застосунку.

Що робити, якщо magic link не відкриває застосунок на Android 12+?

Проблема, яка зустрічається часто: посилання відкривається в Chrome Custom Tab замість застосунку на Android 12+. Причина — зміни в політиці App Links в Android 12. Рішення: явно вказувати android:pathPattern в Intent Filter і перевіряти верифікацію через adb shell am start -W -a android.intent.action.VIEW. Також переконайтеся, що домен верифікований в Play Console. З нашими налаштуваннями конверсія deep link стабільно 99%.

Підписання транзакцій

const signTransaction = async (to: string, valueEth: string) => { const signer = await magicProvider.getSigner(); const tx = await signer.sendTransaction({ to, value: ethers.parseEther(valueEth), gasLimit: 21000, }); return tx.hash; }; 

Magic автоматично викликає UI підтвердження транзакції через свій WebView — користувач бачить деталі та підтверджує. Кастомізувати цей UI не можна без Enterprise-плану.

Порівняння: Magic vs Privy vs Web3Auth

Критерій Magic Privy Web3Auth
Тип управління ключами Delegated Key Management (closed) Delegated + MPC (open source) MPC + TSS (open source)
Recovery без seed Тільки через підтримку Через довірений пристрій Через соціальне відновлення
Custom UI транзакцій Enterprise-план Так Так
Час інтеграції 1-2 тижні 2-4 тижні 2-3 тижні
Типові помилки при інтеграції
  • Відсутність обробки помилки MagicLinkExpired — користувач не розуміє, чому не зайшов.
  • Неправильний pathPattern на Android — посилання відкривається в Custom Tab.
  • Відсутність apple-app-site-association на кореневому домені — iOS не верифікує Universal Link.
  • Не врахована затримка генерації ключа на HSM — при миттєвому редиректі може виникнути race condition.

Що входить в інтеграцію під ключ

  • Аудит поточного застосунку та підготовка архітектури.
  • Підключення Magic SDK з налаштуванням мережі (Ethereum, Polygon тощо).
  • Налаштування Universal Links (iOS) та App Links (Android) з валідацією.
  • Реалізація логіки логіну та підписання транзакцій.
  • Тестування на реальних пристроях (iOS 14+ та Android 11+).
  • Написання документації з інтеграції для вашої команди.
  • Підтримка протягом 30 днів після здачі.

Досвід та гарантії

Наша команда з 5-річним досвідом реалізувала 15+ проектів з інтеграції Magic Link. Гарантуємо, що deep link працює на всіх актуальних версіях iOS та Android — за будь-яких змін політик Apple/Google доопрацьовуємо безкоштовно в рамках проекту. Економія часу на онбординг користувачів — до 40% порівняно з традиційними методами.

Терміни

Інтеграція Magic Link + налаштування Deep Links + підписання транзакцій — 1-2 тижні. Вартість залежить від обсягу робіт. Зв'яжіться з нами, щоб обговорити деталі. Отримайте консультацію з інтеграції — це безкоштовно.