MỚI: Helius mua lại Light Protocol
Xuất bản ứng dụng Solana Mobile: Hướng dẫn thực hiện
Blog/Phát triển

Xuất bản ứng dụng Solana Mobile: Hướng dẫn thực hiện

Kỹ sư tích hợp0xSolanaGirl trên X
Đọc trong 8 phút

Các cửa hàng ứng dụng chưa bao giờ thân thiện với những nhà phát hành ứng dụng crypto. Nguyên tắc của Apple App Store cấm sử dụng tiền mã hóa để mua hàng trong ứng dụng và áp dụng mức hoa hồng 30% cho các khoản thanh toán qua Apple. Các nhà phát triển còn bị hạn chế bởi lệnh cấm cung cấp phần thưởng trong ứng dụng thông qua blockchain. Những yếu tố này khiến rất ít nhà phát triển độc lập phát hành dApp di động. Solana Saga tạo ra thay đổi lớn trong ngành dApp di động bằng cách giới thiệu cửa hàng dApp — một cửa hàng ứng dụng phi tập trung không thu phí, cho phép thực hiện các giao dịch vi mô mà không có chính sách hạn chế. Solana Mobile mang đến cho nhà phát triển cơ hội xây dựng dApp và xuất bản lên cửa hàng dApp mà không gặp phải những trở ngại và chi phí gắn liền với các cửa hàng ứng dụng truyền thống.

Trong khi đó, người dùng tiếp tục nhận phần thưởng và tận hưởng các đặc quyền độc đáo của Saga. Một dApp hoàn toàn mới đã được xuất bản lên cửa hàng dApp — dApp Chonky. dApp này được hỗ trợ bởi Helius và đã được tải xuống từ cửa hàng dApp trên hơn 7.500 thiết bị riêng biệt chỉ trong 12 giờ đầu tiên. Chỉ có trên cửa hàng dApp, dApp Chonky cho phép người dùng nhận một phần Chonky khi kết nối bằng ví Saga Genesis.

Chonky đã áp dụng và kiểm chứng hướng dẫn này khi xuất bản lên cửa hàng dApp trong chưa đầy một tuần. Hãy tìm hiểu quy trình xuất bản một dApp Solana Mobile, từ chuẩn bị tài liệu đến gửi lên cửa hàng dApp. Hướng dẫn này giúp nhà phát triển hiểu các yêu cầu của quy trình xuất bản và ước tính thời gian để đặt kỳ vọng hợp lý.

Tài liệu cần thiết

Làm theo hướng dẫn và thu thập các tài liệu cần thiết để xuất bản, với mục tiêu tạo ra Android Package Kit (APK) sẵn sàng phát hành. Dưới đây là danh sách kiểm tra những tài liệu cần thu thập và chuẩn bị cho các bước xuất bản.

Danh sách kiểm tra

  • Bản dựng sẵn sàng phát hành
  • Android Build Tools
  • Thông tin phiên bản
  • Công cụ báo cáo lỗi như Sentry
  • Tài nguyên cho dApp và cửa hàng dApp
  • URL RPC Helius
  • Khóa ký ứng dụng 
  • Khóa nhà phát hành
  • Điều khoản và thỏa thuận 
  • Giấy phép
  • Chính sách quyền riêng tư
  • Bản quyền

Khi xuất bản lên các cửa hàng ứng dụng, nhà phát hành và người dùng phải tuân theo các điều khoản và điều kiện. Điều này rất quan trọng để bảo vệ người dùng và giới hạn trách nhiệm pháp lý của nhà phát hành. Trước khi xuất bản, nhà phát hành trên cửa hàng dApp Solana phải đồng ý với chính sách dành cho nhà phát hành, thỏa thuận xuất bản dApp và điều khoản sử dụng cửa hàng dApp.

Nhà phát hành phải cung cấp thỏa thuận cấp phép người dùng cuối (EULA), chính sách quyền riêng tư và thông báo bản quyền trong quá trình xuất bản. Với vai trò nhà phát triển, hãy chuẩn bị các tài liệu này và đăng chúng trực tuyến — quy trình xuất bản sẽ yêu cầu liên kết đến các tài liệu đó. Bạn có thể tham khảo các tài nguyên như công cụ tạo chính sách quyền riêng tư, mẫu thông báo bản quyền hoặc sử dụng ChatGPT để tạo tài liệu.

Chuẩn bị

Quá trình chuẩn bị ra mắt dApp bắt đầu với một bản dựng được cấu hình để phát hành. 

Trước tiên, hãy dọn dẹp kho mã nguồn. Xóa các nhật ký console và sử dụng công cụ báo cáo lỗi để giám sát dApp. Các biến môi trường cũng cần được xem xét và cập nhật cho môi trường production.

Tiếp theo, hãy đảm bảo tất cả tài nguyên có kích thước chính xác và xóa các tệp không cần thiết. Hình ảnh xem trước trên cửa hàng dApp phải có độ phân giải 1080p (1920px x 1080px) và tất cả đều phải nằm ngang hoặc nằm dọc. Biểu tượng trên cửa hàng dApp có kích thước tối đa 512x512px và tệp phải có dạng hình vuông.

Khi xuất bản lên cửa hàng dApp, bạn cần một cặp khóa Solana. Hãy tạo một cặp khóa mới bằng solana-keygen và nạp Solana vào đó để sử dụng sau. Bảo mật cặp khóa này. Nếu không, bất kỳ ai có cặp khóa đều có thể gửi các bản phát hành tiếp theo của dApp lên cửa hàng dApp.

Khi xây dựng ứng dụng để phát hành, bản dựng phải được ký bằng một khóa ứng dụng. Ứng dụng mới cần khóa ký mới; không sử dụng cùng khóa với bản debug. Giống như khóa xuất bản, bất kỳ ai có khóa ứng dụng đều có thể cập nhật ứng dụng. Mở terminal và dán lệnh sau để tạo khóa ký ứng dụng bằng keystore.

Mã
keytool -genkey -v -keystore release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Tạo release-key.keystore và storePassword (đồng thời đóng vai trò là keyPassword) trong thư mục hiện tại. Sử dụng ví dụ mã sau để tạo signingConfigs và buildTypes cho bản phát hành trong build.gradle.

Mã
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
        }
    }

Trong cùng tệp, hãy đặt locale(s) của ứng dụng và cập nhật versionCode cùng versionName. Đây là cơ hội cuối cùng để thay đổi applicationId.

Sau khi cấu hình ký bản phát hành, dApp đã sẵn sàng để dựng cho môi trường production. Trong thư mục dApp, hãy chạy lệnh sau để dọn dẹp các tài nguyên trùng lặp từ bản debug và tạo bản phát hành.

Nếu thành công, lệnh sẽ tạo một APK trong thư mục /android/app/build/outputs/apk.

Mã
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 ..

Các bước xuất bản

Để xuất bản lên cửa hàng dApp, bạn cần sử dụng các công cụ CLI của cửa hàng. Phần này tóm tắt các bước thiết lập của Solana Mobile để xuất bản lên cửa hàng dApp:

  1. Cài đặt các công cụ CLI của cửa hàng dApp.
  2. Tạo và xác thực config.yaml.
  3. Mint các NFT App, Publisher và Release.
  4. Gửi và xuất bản.

Trong thư mục xuất bản, hãy chạy các lệnh sau:

Mã
pnpm init
pnpm install --save-dev @solana-mobile/dApp-store-cli
npx dApp-store init

Lệnh khởi tạo sẽ tạo tệp config.yaml. Tệp này dùng để cấu hình cách dApp hiển thị trong cửa hàng dApp. Có ba phần cần điền: publisher, app và release.

Tất cả các phần này đều có trường địa chỉ và trường này cần được để trống cho bản phát hành đầu tiên. Các bước xuất bản sẽ tạo NFT cho từng phần và tự động cập nhật địa chỉ.

Đây là mẫu config.yaml để trống. Bạn có thể tìm thấy phiên bản đã điền sẵn trong GitHub dapp-publishing.

Mã
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:

Có thể sửa đổi phần phát hành khi cập nhật ứng dụng. Điền các trường media để hiển thị hình ảnh xem trước và biểu tượng trong cửa hàng dApp. Bạn cần cung cấp đường dẫn đến APK để cài đặt tệp. Đặt các tệp này trong kho lưu trữ xuất bản và cung cấp đường dẫn tương đối dưới dạng URI. Có thể chỉnh sửa phần mô tả ứng dụng trong danh mục, còn các trường như google_store_package, saga_features là không bắt buộc.

Sau khi điền config.yaml, hãy kiểm tra tính hợp lệ của bản xuất bản bằng lệnh sau, cùng với đường dẫn đến cặp khóa Solana và Android Build Tools.

Nếu Android Build Tools được cài đặt cùng Android Studio, bạn có thể tìm đường dẫn bằng cách mở Android Studio, nhấp vào menu thả xuống Tools rồi chọn SDK Manager.

Chuyển đến tab SDK Tools và nhấp vào Android_SDK_Build_Tools 34 để hiển thị đường dẫn đến các công cụ dựng. Đường dẫn sẽ có dạng như sau: C:\Users\user\AppData\Local\Android\Sdk.

Mã
npx dApp-store validate -k path_to_keypair -b path_to_android_sdk_build_tools

Để xuất bản lên cửa hàng dApp, các NFT sẽ được tạo cho từng phần của config.yaml

Bắt đầu bằng cách tạo NFT Publisher. Đây là thao tác chỉ thực hiện một lần, nên không cần lặp lại bước này cho các bản phát hành sau. Thay mainnet_beta_rpc_url bằng một URL RPC Helius.

Mã
npx dApp-store create publisher -k path_to_your_keypair -u mainnet_beta_rpc_url

Việc tạo NFT App cũng chỉ cần chạy lệnh một lần. Lệnh này sẽ tạo NFT App và ghi lại địa chỉ mint trong config.yaml.

Mã
npx dApp-store create app -k path_to_keypair -u mainnet_beta_rpc_url

Sử dụng lệnh sau để tạo NFT Release. Mỗi khi gửi một bản phát hành mới lên cửa hàng dApp, bạn phải tạo một NFT Release mới. Địa chỉ mint sẽ tự động được cập nhật mỗi khi chạy lệnh.

Mã
npx dApp-store create release -k path_to_keypair -b path_to_android_sdk_build_tools -u mainnet_beta_rpc_url

Sau khi tạo thành công cả ba NFT, ứng dụng đã sẵn sàng để gửi lên cửa hàng dApp.

Xuất bản bằng lệnh dưới đây và truyền vào các cờ --requestor-is-authorized --complies-with-solana-dApp-store-policies để xác nhận tuân thủ.

Mã
npx dApp-store publish submit -k path_to_keypair -u mainnet_beta_rpc_url --requestor-is-authorized --complies-with-solana-dApp-store-policies

Sau khi dApp được gửi lên cửa hàng dApp, đội ngũ Solana Mobile sẽ liên hệ qua địa chỉ email được dùng trong phần nhà phát hành. Ngoài ra, bạn có thể liên hệ với đội ngũ Solana Mobile trong kênh #dapp store. Thời gian xét duyệt thông thường là hai đến ba ngày đối với ứng dụng mới và một ngày đối với bản cập nhật.

Suy ngẫm sau khi ra mắt

Việc xuất bản lên cửa hàng dApp có thể khiến những nhà phát hành lần đầu cảm thấy e ngại, nhưng với công cụ phù hợp, quy trình này có thể trở nên đơn giản. Khi ra mắt dApp Chonky, ngoài một số trục trặc trên thiết bị di động như cửa sổ ví không hoạt động ở chế độ pin yếu/tiết kiệm pin và người dùng thiếu kiên nhẫn hủy yêu cầu ký, người dùng Saga đã có thể nhận airdrop ngay trong lần thử đầu tiên. Nhật ký lỗi cho thấy tầm quan trọng của nó sau khi dApp đi vào hoạt động, giúp giám sát lỗi theo thời gian thực và ghi lại hành vi của người dùng. Hãy sử dụng các công cụ ghi nhật ký để thu thập thông tin sử dụng quan trọng. Hiện tại, Solana Mobile không thu thập dữ liệu như lượt xem và lượt tải ứng dụng, vì vậy nhà phát triển cần tự triển khai cơ chế ghi nhật ký phù hợp trong ứng dụng. 

Phát triển cho thiết bị di động nghĩa là đặt người dùng lên hàng đầu. Từ thiết kế UX đến quy trình ký, nhà phát triển di động tối ưu hóa trải nghiệm liền mạch, tích hợp khi người dùng duyệt các giao diện kỹ thuật số. Trong một thế giới mà sự chú ý ngày càng khan hiếm, các ứng dụng hướng đến việc giành một vị trí trên màn hình chính của người dùng. Do chính sách xuất bản hạn chế của các cửa hàng ứng dụng phổ biến, rất ít ứng dụng thành công trong việc đưa những ứng dụng crypto có phần thưởng lên thiết bị di động. Công nghệ blockchain của Solana cho phép thưởng cho người dùng trên quy mô lớn, còn Solana Mobile có vị thế thuận lợi để đi đầu trong cách mọi người tương tác với các ứng dụng crypto-native. Khi Saga Chapter 2 dự kiến ra mắt vào năm 2025, đây là cơ hội lý tưởng để xây dựng dApp cho cửa hàng dApp Solana.

Nếu công thức này truyền cảm hứng để bạn tạo nên một dApp độc đáo, hãy đăng ký blog Helius và khám phá các bài viết hướng dẫn dành cho nhà phát triển Solana. Bạn đang sở hữu Saga và muốn bắt đầu phát triển với Solana Mobile Stack? Hướng dẫn Token-Gating trên Solana Mobile rất phù hợp để các nhà phát triển Android lần đầu đã quen với Typescript thực hành theo. Tham gia Helius Hacker Society trên Discord và theo dõi thêm nội dung dành cho nhà phát triển di động trên Solana. Helius sẵn sàng hỗ trợ mọi câu hỏi trên Diễn đàn Helius.

Tài nguyên bổ sung

Đăng ký nhận tin từ Helius

Luôn cập nhật những thông tin mới nhất về phát triển Solana và nhận thông báo khi chúng tôi đăng bài

Hình ảnh phóng to