Mais conteúdo relacionado Semelhante a PWA+TWA (20) PWA+TWA4. TWA ( Trusted Web Activity )
• Chrome 72 for Android から実装
• PWA が Google Play Store に載せられるようになった
• サクッと URL 登録して完了!とはいかない、わりと手順多い。
• Chrome と通信する Java の API
• Cordova みたいな Web リソースをパッケージングするようなも
のではない。
• セッション、ストレージ、キャッシュなどは Chrome と共有
5. PWA を APK にするということ
Chrome に乗った PWA (の Activity)を内包する APK
7. TWA の実装
• Digital Asset Links によるコンテンツの信頼性確保
• ブラウザによるレンダリング
• 最新の環境
• Jelly Bean まで対応
• Web View が OS から切り離されたのは Lollipop 以降
• Web View より Chrome のほうが新しい
• アプリからコンテンツへの直接のアクセスはできない
• クエリパラメーターやカスタムHTTPヘッダ、intent URI などでやりと
り?
• Web とネイティブの遷移はアクティビティの切替で行う
10. Digital Asset Links
アプリとWebコンテンツ間の信頼(Trust)の確保
intent の紐付け(URLのタップでアプリが起動される)
https://www.example.com/.well-known/assetlinks.json
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : { "namespace": "android_app", "package_name": "jp.compin.android.pwa.crowdfarmdiary",
"sha256_cert_fingerprints": [“XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"] }
}]
https://developers.google.com/digital-asset-links/v1/getting-started
11. Statement List Generator and Tester
https://developers.google.com/digital-asset-links/tools/generator
SHA256 fingerprint の表示
keytool -list -v -keystore [jks_file] -alias [alias_name] -storepass [pass] -keypass [pass]
14. build.gradle (app)
TWA ライブラリの前提 Java 8 とTWA Support Library
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.github.GoogleChrome.custom-tabs-
client:customtabs:3a71a75c9f'
}
15. TWA Activity ( Manifest )
<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>
~~~~~~~
~~~~~~~
</activity>