Cara membuat aplikasi dari situs dan menaruhnya di Google Play dalam beberapa jam. Bagian 2/2: Aktivitas Web Tepercaya

gambar

Pada bagian pertama, kami mengubah situs kami menjadi Aplikasi Web Progresif. Dikatakan juga di sana bahwa baru-baru ini, pada tanggal 6 Februari 2019, Google menyediakan kesempatan sederhana untuk mengunggah PWA ke Google Play menggunakan Aktivitas Web Tepercaya. Yang perlu Anda lakukan adalah menulis bungkus kecil untuk Android, yang dapat diletakkan di Google Play. Saat pengguna mengunduh aplikasi pembungkus seperti itu, itu hanya akan membuka PWA kami di dalam Chrome. Tentu saja, antarmuka Chrome akan disembunyikan dan semuanya akan terlihat cantik.

Jika Anda, seperti saya, belum pernah menulis aplikasi untuk Android, maka masa depan juga akan tampak bagi Anda serangkaian manipulasi magis. Tapi mengapa tidak hanya resor untuk meletakkan aplikasi Anda. Ayo pergi!


  1. Cara membuat aplikasi dari situs dan menaruhnya di Google Play dalam beberapa jam. Bagian 1/2: Aplikasi Web Progresif
  2. Cara membuat aplikasi dari situs dan menaruhnya di Google Play dalam beberapa jam. Bagian 2/2: Aktivitas Web Tepercaya


Android Studio


Untuk memulai, unduh untuk pertama kalinya dalam kehidupan Android Studio. Kami membuat proyek baru dan pada saat yang sama memilih "Tambah Tidak Ada Aktivitas".



Selanjutnya, konfigurasikan proyek Anda:



Untuk nama Paket, disarankan untuk membentuk nama sebagai berikut: halaman awal skorochtec.ru/app berubah menjadi ru.skorochtec.app.

Konfigurasi dan Ketergantungan Aplikasi


Proyek yang dibuat memiliki struktur sebagai berikut:



Kita perlu mengubah AndroidManifest.xml, styles.xml (folder res / values) dan kedua file build.gradle.

Saya juga merekomendasikan pengaturan ikon aplikasi di folder res / drawable dan res / mipmap, jika tidak aplikasi Anda akan memiliki ikon Android standar.

build.gradle(Project: AndroidStudioProjects) // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.3.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } } } task clean(type: Delete) { delete rootProject.buildDir } 

Tidak ada waktu untuk menjelaskan, cukup salin ini untuk diri sendiri :)

 build.gradle(Module: app) apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "ru.skorochtec.app" minSdkVersion 19 targetSdkVersion 28 versionCode 5 versionName "1.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" manifestPlaceholders = [ hostName: "skorochtec.ru", defaultUrl: "https://skorochtec.ru/app/", launcherName: "", assetStatements: '[{ "relation": ["delegate_permission/common.handle_all_urls"], ' + '"target": {"namespace": "web", "site": "https://skorochtec.ru"}}]' ] } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.github.GoogleChrome.custom-tabs-client:customtabs:e849e45c90' } 

Dan di sini Anda perlu memberikan beberapa penjelasan:

  • versionCode perlu diubah dengan setiap build baru, tetapi versionName opsional;
  • defaultUrl sesuai dengan start_url dari Manifes Aplikasi Web;
  • assetStatements harus memiliki url dasar yang tepat (" skorochtec.ru " dalam kasus saya);
  • semua keajaiban disediakan dengan menghubungkan tab kustom di baris terakhir, gunakan versi khusus ini, karena 100% diuji di Google Play.

AndroidManifest.xml
 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ru.skorochtec.app"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="${launcherName}" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="asset_statements" android:value="${assetStatements}" /> <activity android:name="android.support.customtabs.trusted.LauncherActivity" android:label="${launcherName}"> <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL" android:value="${defaultUrl}" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="https" android:host="${hostName}"/> </intent-filter> </activity> </application> </manifest> 

Salin ini dengan mengubah package di <mnifest> (di bagian paling atas).

styles.xml
 <resurces> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowNoTitle">true</item> <item name="android:backgroundDimEnabled">false</item> </style> </resurces> 

Salin saja.

Buat aplikasi yang ditandatangani


Semuanya siap untuk merilis aplikasi. Tapi itu masih perlu ditandatangani. Untuk melakukan ini, temukan di bilah alat build -> Generate Signed Boundle / APK ... Pilih APK:



Klik Buat baru ...



Buat keystore baru dan kunci itu sendiri di dalamnya:



Akhirnya, kami mengumpulkan dan menandatangani aplikasi:



Hore! APK kami siap dirilis!

Google play console


Untuk memposting aplikasi, Anda harus memiliki akun pengembang, yang biayanya $ 25. Setelah pembelian, Anda akan memiliki akses ke Google Play Console. Mudah dimengerti, tetapi saya akan menjelaskan satu hal. Pada tahap mengunduh APK Anda ke konsol pengembang, Anda akan melihat yang berikut:



Google, seolah-olah, mengisyaratkan bahwa kami bengkok dan kemungkinan besar akan kehilangan kunci tanda tangan kami, yang berarti kami tidak akan dapat memperbarui aplikasi nanti. Dan oleh karena itu, kami ditawari untuk menandatangani APK kami, tetapi aplikasi terakhir sudah ditandatangani oleh Google sendiri. Saya sarankan menerima kondisi ini.

Tautan aset digital


Tidak melihat sesuatu yang mencurigakan dalam tindakan sebelumnya? Untuk membuat aplikasi, pada dasarnya kami hanya menggunakan alamat situs kami ... Lalu apa yang mencegah kami merilis aplikasi sekarang, misalnya, Twitter?

Dan Tautan Aset Digital, yang harus kami tempatkan di situs kami, menghalangi, untuk membuktikan bahwa aplikasi dan situs tersebut memiliki satu pemilik (berdasarkan kunci tanda tangan aplikasi).

Ini dilakukan dengan sangat mudah: temukan di Google Play Console, Release Management -> Application Signatures. Akan ada sertifikat untuk menandatangani aplikasi yang dihasilkan oleh Google (jika Anda mengikuti rekomendasi saya dan menerima persyaratannya). Anda perlu menyalin sidik jari sertifikat SHA-256 .



Dan rekatkan ke alat tautan aset digital . Dan letakkan yang dihasilkan ke file assetlinks.json, yang seharusnya tersedia di server situs Anda di sepanjang jalur .well-known / assetlinks.json.

Selesai


Itu saja! Kami merilis aplikasi kami, tunggu beberapa jam, sampai Google menyetujuinya dan, pada akhirnya, nikmati kehadirannya di Google Play Market!



Ngomong-ngomong, gambar layar yang indah dapat dilakukan di https://apptoolkit.io/ .

Kesimpulan


Yah, kami pergi jauh-jauh dari situs ke aplikasi, itu tidak sangat mudah, tetapi juga tidak terlalu sulit. Teknologi PWA dan TWA masih sangat muda dan memiliki beberapa kelemahan. Misalnya, aplikasi yang dirilis dengan cara ini tidak akan terbuka untuk pengguna jika Google Chrome versi 72+ bukan browser default di ponsel cerdasnya. Jadi bersiap untuk mengorbankan beberapa pengguna Anda demi kecepatan.

Di App Store, Anda belum dapat menempatkan aplikasi dengan cara ini. Nah, secara umum, Apple ketinggalan dalam hal mendukung teknologi ini (kami berharap itu tidak disengaja). Tetapi area Aplikasi Web Progresif berkembang pesat dan membaik, sehingga kami dapat berharap bahwa semua peramban seluler akan segera mendukungnya, dan kekurangan yang ada akan diperbaiki.

Bagaimanapun, saya percaya bahwa masa depan adalah dengan Aplikasi Web Progresif dan saya mendorong Anda untuk menjadi pengadopsi awal teknologi ini. Untungnya, Anda sekarang memiliki instruksi untuk ini.

Tautan yang bermanfaat


Source: https://habr.com/ru/post/id450506/


All Articles