カスタムURLスキームの乗っ取りとその対策 May 17, 2021 カスタムURLスキームは、モバイルアプリ内のコンテンツへ直接誘導するディープリンクに広く利用されている¹。そのような中で、2020年3月にLINEはカスタムURLスキーム line:// の使用を非推奨とした²。非推奨の理由をLINEは「乗っ取り攻撃が可能なため」と説明し、代わりにHTTP URLスキームによるリンクを推奨している。この変更に対して私は、なぜHTTP URLスキームによるリンクだと乗っ取り攻撃を防げるのか疑問を抱いた。この疑問に答えるためにLINEアプリの乗っ取りを試み、対策の有効性を確認した。 要約 HTTP URLスキームによるディープリンクは対象のアプリを一意に特定できるため、不正アプリによるリンクの乗っ取りが発生しない。カスタムURLスキームでは複数のアプリが同じスキームを宣言できるため、モバイル
In an Android app, Kotlin flows are typically collected from the UI layer to display data updates on the screen. However, you want to collect these flows making sure you’re not doing more work than necessary, wasting resources (both CPU and memory) or leaking data when the view goes to the background. In this article, you’ll learn how the Lifecycle.repeatOnLifecycle, and Flow.flowWithLifecycle API
Plaidの設計を参考にした, Kotlin coroutines + Retrofit2 でAPI通信をするアプリの実装 モチベーション KotlinConf 2018の「Shaping Your App's Architecture with Kotlin and Architecture Components by Florina」というセッションで、KotlinとArchitecture Componentsを使った設計の話がありました。 Shaping Your App's Architecture with Kotlin and Architecture Components by Florina Plaidというマテリアルデザイン実装のショーケースとなっているアプリを上記設計でリファクタリングする話でした。 Plaid 以下の理由から、Plaidの設計に沿って簡単なサンプルア
ViewPagerとTabLayoutで実現します。 ドット部分がTabLayoutです このselectorがキモです 選択状態白く、非選択状態ではunselectedIndicatorで灰色にするとiOSに近いです <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true"> <shape android:innerRadius="0dp" android:shape="ring" android:thickness="4dp" android:useLevel="false"> <solid android:color="@android:color/whi
Data Binding 3.5と3.6のまとめ/感想 Created at Thu, May 16, 2019 Google I/O 2019でDataBindingについて少し話されていたので感想とまとめを。 動画だとここらへんになります。 改善系 ビルドの高速化! 20%くらいビルドが早くなった distributed build cache対応 Incremental annotation processing対応 android.databinding.incremental=true を設定にすると使えます Android Studioとの連携強化!! Live Class Generation XMLを変更したら、コンパイルせずともクラス、フィールドにアクセスすることが出来る リファクタリング系 フィールド名の変更リファクタリングなどをしたときに、XML、コードの両方に反映さ
This domain may be for sale!
Google I/O 2017 の Android Animations Spring to Life で発表された Physics-based Animations (物理ベースアニメーション) についてのまとめです。(LT用資料も兼ねてます) Physics-based Animationsとは 物理法則に基づいたアニメーションのこと。 (例)Spring Animation 利点 自然な見た目 物理ベースで理解しやすく全体的に滑らかになる コース修正 アニメーションのターゲットが変更されたときに勢いを維持しつつ滑らかに停止できる 視覚的違和感の軽減 リアルタイムに滑らかに動作することで全体的な違和感を軽減できる 非物理ベースアニメーションと物理ベースアニメーションの違い 非物理ベース 物理ベース 非物理ベースアニメーション( Animator を利用したアニメーション)は、ターゲット
Rx Ja Night Vol.2 - connpassで「 Androidの非同期処理をKotlinコルーチンで行う」という話をしてきました。 スライドで使っているコードは次のリポジトリに置いています。 github.com 今回取り扱った非同期処理の範囲 スライドやリポジトリのREADME.mdに大体書いているのですがコチラにも載せときます。 詳細な説明はスライドやリポジトリを参照してください。 次の非同期処理をコルーチンで実現します。 単発の実行 直列の実行 並列の実行 + エラーハンドリング キャンセル 環境 すべてKotlinが提供する標準の機能を用います。 implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-4" implementation "org.jetbrains.kotlinx:kotlinx-c
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く