
Публикация мобильных приложений Solana: практическое руководство
Магазины приложений никогда не были дружелюбны к издателям криптоприложений. Правила Apple App Store запрещают использовать криптовалюту для покупок в приложениях и предусматривают комиссию 30% за платежи через Apple. Кроме того, разработчикам запрещено предлагать в приложениях вознаграждения через блокчейн. Из-за этих ограничений лишь немногие независимые разработчики выпускают мобильные dApp. Solana Saga меняет индустрию мобильных dApp благодаря магазину dApp — децентрализованному магазину приложений без комиссий, который поддерживает микротранзакции и не навязывает ограничительные правила. Solana Mobile позволяет разработчикам создавать dApp и публиковать их в магазине dApp без сложностей и затрат, характерных для традиционных магазинов приложений.
Тем временем пользователи продолжают получать вознаграждения и пользоваться уникальными преимуществами Saga. В магазине dApp появилось совершенно новое приложение — Chonky dApp. Этот dApp на базе Helius за первые двенадцать часов скачали из магазина dApp более чем на 7 500 уникальных устройств. Chonky dApp доступен только в магазине dApp и позволяет пользователям получить долю Chonky при подключении кошелька Saga Genesis.
Chonky опубликовал приложение в магазине dApp менее чем за неделю, проверив это руководство на практике. Узнайте, как опубликовать мобильное dApp для Solana: от подготовки материалов до отправки в магазин dApp. Это руководство поможет разработчикам понять требования процесса публикации, оценить сроки и сформировать реалистичные ожидания.
Материалы
Следуйте руководству и соберите материалы, необходимые для публикации. В результате вы должны получить готовый к выпуску пакет Android Package Kit (APK). Ниже приведен список материалов, которые нужно собрать и подготовить к публикации.
Контрольный список
- Готовая к выпуску сборка
- Android Build Tools
- Информация о версии
- Инструменты для отчетов об ошибках, например Sentry
- Ресурсы dApp и магазина dApp
- URL RPC Helius
- Ключ подписи приложения
- Ключ издателя
- Условия и соглашения
- Лицензия
- Политика конфиденциальности
- Уведомление об авторских правах
При публикации в магазинах приложений действуют условия для издателя и пользователя. Они важны для защиты пользователей и ограничения ответственности издателей. Перед публикацией в магазине dApp издатели Solana принимают политику для издателей, соглашение о публикации dApp и условия использования магазина dApp.
В процессе публикации издатель должен предоставить лицензионное соглашение с конечным пользователем (EULA), политику конфиденциальности и уведомление об авторских правах. Как разработчик, подготовьте эти документы и опубликуйте их в интернете — ссылки на них потребуются при публикации. Используйте такие ресурсы, как генераторы политик конфиденциальности и пример уведомления об авторских правах, либо создайте документы с помощью ChatGPT.
Подготовка
Подготовка dApp к запуску начинается со сборки, настроенной для выпуска.
Сначала очистите репозиторий. Удалите вывод в консоль и подключите инструменты для отчетов об ошибках, чтобы отслеживать состояние dApp. Также проверьте и обновите переменные окружения для производственной среды.
Не добавляйте секретные ключи в файл .env!
Затем убедитесь, что все ресурсы имеют правильный размер, и удалите ненужные файлы. Изображения для предпросмотра в магазине dApp должны иметь разрешение 1080p (1920 × 1080 пикселей) и одинаковую ориентацию: горизонтальную или вертикальную. Максимальный размер значков для магазина dApp составляет 512 × 512 пикселей, а сам файл должен быть квадратным.
Для публикации в магазине dApp требуется пара ключей Solana. Создайте новую пару ключей с помощью solana-keygen и пополните ее в Solana для дальнейшего использования. Храните эту пару ключей в безопасности. Иначе любой, у кого она окажется, сможет отправлять в магазин dApp последующие версии приложения.
Сборку приложения для выпуска необходимо подписать ключом приложения. Для новых приложений нужны новые ключи подписи. Не используйте ключ отладочной сборки. Как и в случае с ключом издателя, любой владелец ключа приложения сможет обновить приложение. Откройте терминал и вставьте следующую команду, чтобы создать ключ подписи приложения с помощью keystore.
keytool -genkey -v -keystore release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000Создайте release-key.keystore и storePassword (также используется как keyPassword) в текущем каталоге. Используйте следующий пример кода, чтобы создать конфигурации выпуска signingConfigs и buildTypes в build.gradle.
signingConfigs {
release {
storeFile file('release.keystore')
storePassword 'password'
keyAlias 'release-key'
keyPassword 'password'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
signingConfig signingConfigs.release
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
debuggable false
}
}В том же файле задайте locale(s) приложения и обновите versionCode и versionName. Это последняя возможность изменить applicationId.
После настройки подписи выпуска dApp готов к производственной сборке. В каталоге dApp выполните следующую команду, чтобы удалить дублирующиеся ресурсы отладочной сборки и собрать версию для выпуска.
Если команда выполнится успешно, APK будет создан в папке /android/app/build/outputs/apk.
yarn react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/build/intermediates/res/merged/release/ && rm -rf android/app/src/main/res/drawable-* && rm -rf android/app/src/main/res/raw/* && cd android && ./gradlew assembleRelease && cd ..Этапы публикации
Для публикации в магазине dApp потребуются инструменты CLI магазина. В этом разделе кратко изложены этапы настройки от Solana Mobile для публикации в магазине dApp:
- Установите инструменты CLI магазина dApp.
- Создайте и проверьте
config.yaml. - Выпустите NFT приложения, издателя и релиза.
- Отправьте и опубликуйте приложение.
В каталоге публикации выполните следующие команды:
pnpm init
pnpm install --save-dev @solana-mobile/dApp-store-cli
npx dApp-store initКоманда инициализации создаст файл config.yaml. Он определяет, как dApp будет отображаться в магазине dApp. Необходимо заполнить три раздела: publisher, app и release.
В каждом из этих разделов есть поле адреса, которое для первого выпуска нужно оставить пустым. В процессе публикации для каждого раздела будут созданы NFT, а адреса обновятся автоматически.
Это пустой шаблон config.yaml. Предварительно заполненную версию можно найти в репозитории GitHub dapp-publishing.
publisher:
name:
address:
website:
email:
media:
- purpose: icon
uri:
app:
name:
address:
android_package:
urls:
license_url:
privacy_policy_url:
copyright_url:
website:
media:
- purpose: icon
uri:
release:
address:
media:
- purpose: icon
uri:
- purpose: screenshot
uri:
- purpose: screenshot
uri:
- purpose: screenshot
uri:
files:
- purpose: install
uri:
catalog:
en-US:
name:
short_description:
long_description:
new_in_version:
saga_features:
solana_mobile_dApp_publisher_portal:
google_store_package:
testing_instructions:Раздел выпуска можно изменять при обновлении приложения. Заполните поля мультимедиа, чтобы в магазине dApp отображались изображения для предпросмотра и значки. Для установки файла нужно указать путь к APK. Поместите эти файлы в репозиторий публикации и укажите относительные пути к ним в качестве URI. Описания приложения можно редактировать в каталоге, а такие поля, как google_store_package и saga_features, заполнять необязательно.
После заполнения config.yaml проверьте корректность публикации следующей командой, указав пути к паре ключей Solana и Android Build Tools.
Если Android Build Tools установлены вместе с Android Studio, путь можно найти в Android Studio: откройте раскрывающееся меню Tools и выберите SDK Manager.
Перейдите на вкладку SDK Tools и нажмите Android_SDK_Build_Tools 34, чтобы увидеть путь к инструментам сборки. Путь должен выглядеть так: C:\Users\user\AppData\Local\Android\Sdk.
npx dApp-store validate -k path_to_keypair -b path_to_android_sdk_build_toolsДля публикации в магазине dApp создаются NFT для каждого раздела config.yaml
Начните с создания NFT издателя. Это однократная операция, поэтому для последующих выпусков этот шаг не потребуется. Замените mainnet_beta_rpc_url на URL RPC Helius.
npx dApp-store create publisher -k path_to_your_keypair -u mainnet_beta_rpc_urlСоздание NFT приложения также выполняется однократно. Эта команда создаст NFT приложения и запишет адрес минта в config.yaml.
npx dApp-store create app -k path_to_keypair -u mainnet_beta_rpc_urlСоздайте NFT релиза с помощью следующей команды. При отправке нового выпуска в магазин dApp необходимо создать новый NFT релиза. Адрес минта автоматически обновляется при каждом запуске команды.
npx dApp-store create release -k path_to_keypair -b path_to_android_sdk_build_tools -u mainnet_beta_rpc_urlПосле успешного создания всех трех NFT приложение можно отправить в магазин dApp.
Опубликуйте приложение с помощью команды ниже и передайте флаги --requestor-is-authorized --complies-with-solana-dApp-store-policies, чтобы подтвердить соблюдение требований.
npx dApp-store publish submit -k path_to_keypair -u mainnet_beta_rpc_url --requestor-is-authorized --complies-with-solana-dApp-store-policiesПосле отправки dApp в магазин dApp команда Solana Mobile свяжется с вами по адресу электронной почты, указанному в разделе издателя. Также можно обратиться к команде Solana Mobile в канале #dapp store. Обычно проверка нового приложения занимает два-три дня, а обновления — один день.
Выводы после запуска
Первая публикация в магазине dApp может показаться сложной задачей, но правильные инструменты значительно упрощают процесс. При запуске Chonky dApp возникли некоторые проблемы на мобильных устройствах: модальные окна кошелька не работали в режиме низкого энергопотребления, а нетерпеливые пользователи отменяли запрос на подпись. Несмотря на это, пользователи Saga смогли получить аирдроп с первой попытки. После запуска dApp особенно важным становится журналирование ошибок: оно позволяет отслеживать ошибки в реальном времени и фиксировать действия пользователей. Используйте инструменты журналирования, чтобы получать важную информацию об использовании приложения. Сейчас Solana Mobile не собирает данные о просмотрах и скачиваниях приложений, поэтому разработчик должен самостоятельно реализовать подходящее журналирование в своем приложении.
Переход на мобильные устройства означает приоритет интересов пользователя. Мобильные разработчики оптимизируют все — от UX-дизайна до процессов подписания — и создают цельный, удобный интерфейс для работы с цифровыми продуктами. В мире, где внимание пользователей ограничено, приложения стремятся занять место на главном экране. Из-за строгих правил публикации в популярных магазинах лишь немногим приложениям удается перенести полезные криптопродукты на мобильные устройства. Блокчейн-технология Solana позволяет массово вознаграждать пользователей, а Solana Mobile имеет все шансы оказаться в авангарде взаимодействия людей с криптонативными приложениями. Поскольку выход Saga Chapter 2 ожидается в 2025 году, сейчас идеальное время для создания dApp для магазина Solana dApp.
Если это руководство вдохновило вас на создание уникального dApp, подпишитесь на блог Helius и ознакомьтесь со статьями по разработке на Solana. У вас есть Saga и вы хотите начать разработку с помощью Solana Mobile Stack? Руководство Управление доступом по токенам в Solana Mobile отлично подойдет Android-разработчикам, которые знакомы с Typescript и только начинают работать с этой платформой. Присоединяйтесь к Helius Hacker Society в Discord, чтобы получать новые материалы о мобильной разработке на Solana. Helius поможет вам получить ответы на любые вопросы на форуме Helius.
Дополнительные ресурсы
- Настройка среды мобильной разработки для Android
- Справочник по Mobile Wallet Adapter
- Solana SDK для React Native
- Архитектура мобильного dApp
- Подготовка приложения к выпуску
- Android Studio
- Репозиторий GitHub для публикации dApp в Solana Mobile
- Документация по публикации dApp в Solana Mobile
- Спецификации публикации в магазине dApp
- Discord Solana Mobile
Похожие статьи
Подпишитесь на Helius
Следите за новостями разработки на Solana и получайте уведомления о наших публикациях


